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