English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

MATLAB 배열

MATLAB에서 모든 데이터 유형의 모든 변수는 다차원 배열입니다. 벡터는 일차원 배열이며, 행렬은 이차원 배열입니다.

벡터와 행렬에 대해 논의했습니다. 이 장에서는 다차원 배열에 대해 논의할 것입니다. 그러나 이전에 특수 유형의 배열에 대해 논의해야 합니다.

MATLAB의 특수 배열

이 장에서는 특수 배열을 생성하는 함수에 대해 논의할 것입니다. 모든 이러한 기능에서는 하나의 매개변수가 정方形 배열을 생성하며, 두 매개변수는 직사각형 배열을 생성합니다.

zeros()함수는 전체 0의 배열을 생성합니다-

예를 들어-

zeros(5)

MATLAB은 위의 문장을 실행하고 다음 결과를 반환합니다-

ans =
      0     0     0     0     0
      0     0     0     0     0
      0     0     0     0     0
      0     0     0     0     0
      0     0     0     0     0

ones()함수는 전체1의 배열-

예를 들어-

ones(4,3)

MATLAB은 위의 문장을 실행하고 다음 결과를 반환합니다-

ans =
      1     1     1
      1     1     1
      1     1     1
      1     1     1

eye()함수는 단위 행렬을 생성합니다.

예를 들어-

eye(4)

MATLAB은 위의 문장을 실행하고 다음 결과를 반환합니다-

ans =
      1     0     0     0
      0     1     0     0
      0     0     1     0
      0     0     0     1

rand()함수는(0,1)상에 균형 잡힌 무작위 수 배열을 생성합니다-

예를 들어-

rand(3, 5)

MATLAB은 위의 문장을 실행하고 다음 결과를 반환합니다-

ans =
   0.8147    0.9134    0.2785    0.9649    0.9572
   0.9058    0.6324    0.5469    0.1576    0.4854
   0.1270    0.0975    0.9575    0.9706    0.8003

마법 방

마법 정方形은 정方形으로, 행, 열 또는 대각선으로 요소를 더했을 때 같은 합을 가집니다.

magic()함수는 정규魔术방을 생성합니다. 그것은 정수 단일 매개변수를 취하며, 이는 정方形의 크기를 나타냅니다. 매개변수는3의 스칼라.

magic(4)

MATLAB은 위의 문장을 실행하고 다음 결과를 반환합니다-

ans =
   16     2     3    13
   5    11    10     8
   9     7     6    12
   4    14    15     1

다중 차원 마트릭스

두 개 이상의 차원을 가진 마트릭스는 MATLAB에서 다중 차원 마트릭스라고 합니다. MATLAB의 다중 차원 마트릭스는 일반 2차원 행렬의 확장입니다.

일반적으로, 다중 차원 마트릭스를 생성하려면 먼저 2차원 배열을 생성한 후 확장합니다.

예를 들어,이제 2차원 배열 a를 생성하겠습니다。

a = [7 9 5; 6 1 9; 4 3 2]

MATLAB은 위의 문장을 실행하고 다음 결과를 반환합니다-

a =
   7     9     5
   6     1     9
   4     3     2

마트릭스입니다a이는3×3마트릭스;우리는 세 번째 차원을 추가할 수 있습니다,과 같은 값을 제공하여-

a(:, :, 2)= [ 1 2 3; 4 5 6; 7 8 9]

MATLAB은 위의 문장을 실행하고 다음 결과를 반환합니다-

a =
ans(:,:,1) =
   0   0   0
   0   0   0
   0   0   0
ans(:,:,2) =
   1   2   3
   4   5   6
   7   8   9

다중 차원 마트릭스를 생성하기 위해 ones(), zeros(), rand() 기능을 사용할 수도 있습니다.

예를 들어,

b = rand(4,3,2)

MATLAB은 위의 문장을 실행하고 다음 결과를 반환합니다-

b(:,:,1) =
   0.0344    0.7952    0.6463
   0.4387    0.1869    0.7094
   0.3816    0.4898    0.7547
   0.7655    0.4456    0.2760
b(:,:,2) =
   0.6797    0.4984    0.2238
   0.6551    0.9597    0.7513
   0.1626    0.3404    0.2551
   0.1190    0.5853    0.5060

우리는 또한cat()함수는 다중 차원 마트릭스를 구축하는 데 사용됩니다. 그것은 지정된 차원에서 배열 목록을 연결합니다-

cat() 함수의 문법은-

B = cat(dim, A1, A2...)

在那里,

  • B이는 생성된 새 마트릭스입니다

  • A1,A2,...는 연결할 배열입니다

  • dim이는 배열을 연결하는 기준 차원입니다

예제

스크립트 파일을 만들고 다음 코드를 입력합니다-

a = [9 8 7; 6 5 4; 3 2 1];
b = [1 2 3; 4 5 6; 7 8 9];
c = cat(3, a, b, [ 2 3 1; 4 7 8; 3 9 0])

파일을 실행할 때, 그것은 표시합니다-

c(:,:,1) =
      9     8     7
      6     5     4
      3     2     1
c(:,:,2) =
      1     2     3
      4     5     6
      7     8     9
c(:,:,3) =
      2     3     1
      4     7     8
      3     9     0

배열 함수

MATLAB은 배열 내용을 정렬, 회전, 교환, 변형 또는 이동하는 기능을 제공합니다.

기능작용
length

벡터 길이 또는 최대 마트릭스 차원

ndims마트릭스의 차원
numel마트릭스 요소 수
size마트릭스의 차원
iscolumn

입력이 열벡터인지 확인

isempty마트릭스가 비어 있는지 확인
ismatrix

입력이 마트릭스인지 확인

isrow입력이 행벡터인지 확인
isscalar입력이 스칼라인지 확인
isvector입력이 벡터인지 확인
blkdiag

입력 매개변수에 따라 블록 대각선 마트릭스를 생성

circshift배수로 이동시키기
ctranspose상대복소수 전치
diag대각선 마트릭스와 마트릭스의 대각선
flipdim

지정된 차원에서 마트릭스를 뒤집기

fliplr마트릭스를 좌우로 뒤집기
flipud마트릭스를 상하로 뒤집기
ipermute

N을 역순으로 정렬-D 배열의 차원

permute

N을 다시 정렬-D 배열의 차원

repmat배열을 복사하고 슬라이싱
reshape배열을 다시 형상화
rot90마트릭스를 회전90도
shiftdim차원 이동
issorted정렬 순서에 따라 집합 요소가 있는지 확인
sort

오름차순 또는 내림차순으로 배열 요소 정렬

sortrows행에 대해 오름차순 정렬
squeeze단일 차원 제거
transpose전치
vectorize벡터화 표현

예제

위에 언급된 몇 가지 기능을 설명하는 예제가 다음과 같습니다.

요소의 길이, 차원 및 수-

스크립트 파일을 만들고 다음 코드를 입력합니다-

x = [7.1, 3.4, 7.2, 28/4, 3.6, 17, 9.4, 8.9];
length(x) % x 벡터의 길이
y = rand(3, 4, 5, 2);
ndims(y) % 배열 y의 차원 수
s = ['Zara', 'Nuha', 'Shamim', 'Riz', 'Shadab'];
numel(s) % s에 있는 요소 수

스크립트 파일을 실행할 때, 다음 결과를 표시합니다-

ans =  8
ans =  4
ans =  23

배열 요소의 회전

스크립트 파일을 만들고 다음 코드를 입력합니다-

a = [1 2 3; 4 5 6; 7 8 9] % 원래 배열 a
b = circshift(a,1] % 첫 번째 차원 값에 대해 아래로 회전 1.
c = circshift(a,[1 -1]) % 첫 번째 차원 값에 대해 아래로 회전 1 
                           % 두 번째 차원 값에 대해 왼쪽으로 % 이동 1.

스크립트 파일을 실행할 때, 다음 결과를 표시합니다-

a =
   1     2     3
   4     5     6
   7     8     9
b =
   7     8     9
   1     2     3
   4     5     6
c =
   8     9     7
   2     3     1
   5     6     4

정렬 배열

스크립트 파일을 만들고 다음 코드를 입력합니다-

v = [ 23 45 12 9 5 0 19 17] % 수평 벡터
sort(v) % v를 정렬
m = [2 6 4; 5 3 9; 2 0 1] % 이차원 배열
sort(m, 1) % m 행에 대해 정렬
sort(m, 2) % m 열에 대해 정렬

스크립트 파일을 실행할 때, 다음 결과를 표시합니다-

v =
   23    45    12     9     5     0    19    17
ans =
   0     5     9    12    17    19    23    45
m =
   2     6     4
   5     3     9
   2     0     1
ans =
   2     0     1
   2     3     4
   5     6     9
ans =
   2     4     6
   3     5     9
   0     1     2

셀렉션 배열

셀렉션 배열은 인덱스 셀렉션 배열의 배열로, 각 셀은 다른 차원과 데이터 타입의 배열을 저장할 수 있습니다.

함수는 셀렉션 배열을 생성하는 데 사용됩니다. 셀렉션 기능의 문법은-

C = cell(dim)
C = cell(dim1,...,dimN)
D = cell(obj)

설명

  • C은 셀 배열입니다;

  • dim은 스칼라 정수 또는 정수 벡터로, 셀 배열 C의 차원을 지정합니다;

  • dim1,...،dimN은 지정된 C 차원의 스칼라 정수입니다;

  • obj다음 중 하나입니다-

    • Java 배열 또는 객체

    • .NET 타입 System.String 또는 System.Object 배열

예제

스크립트 파일을 만들고 다음 코드를 입력합니다-

c = cell(2, 5);
c = {'Red', 'Blue', 'Green', 'Yellow', 'White'; 1 2 3 4 5}

스크립트 파일을 실행할 때, 다음 결과를 표시합니다-

c = 
{
   [1,1] = Red
   [2,1] =  1
   [1,2] = Blue
   [2,2] =  2
   [1,3] = Green
   [2,3] =  3
   [1,4] = Yellow
   [2,4] =  4
   [1,5] = White
   [2,5] =  5
}

셀 배열 내의 데이터에 접근

셀 배열의 요소를 참조하는 방법이 두 가지가 있습니다-

  • 인덱스를 첫 번째 괄호 ()에 묶어 셀 집합을 참조합니다

  • 인덱스를 괄호 {}에 묶어 단일 셀 내의 데이터를 참조합니다

첫 번째 괄호에 인덱스를 묶을 때, 그것은 셀 집합을 의미합니다.

둥근 괄호에 있는 셀 배열 인덱스는 셀 집합을 의미합니다.

예를 들어-

c = {'Red', 'Blue', 'Green', 'Yellow', 'White'; 1 2 3 4 5};
c(1:2,1:2)

MATLAB은 위의 문장을 실행하고 다음 결과를 반환합니다-

ans = 
{
   [1,1] = Red
   [2,1] =  1
   [1,2] = Blue
   [2,2] =  2
}

셀의 내용에 접근하기 위해 대括호를 사용할 수도 있습니다.

예를 들어-

c = {'Red', 'Blue', 'Green', 'Yellow', 'White'; 1 2 3 4 5};
c{1, 2:4}

MATLAB은 위의 문장을 실행하고 다음 결과를 반환합니다-

ans = Blue
ans = Green
ans = Yellow