MATLAB
MATLAB에서 모든 데이터 유형의 모든 변수는 다차원 배열입니다. 벡터는 1차원 배열이고 행렬은 2차원 배열입니다.
우리는 이미 벡터와 행렬에 대해 논의했습니다. 이 장에서는 다차원 배열에 대해 설명합니다. 그러나 그 전에 몇 가지 특수한 유형의 배열에 대해 논의하겠습니다.
이 섹션에서는 몇 가지 특수 배열을 만드는 몇 가지 함수에 대해 설명합니다. 이 모든 함수에 대해 단일 인수는 정사각형 배열을 만들고 이중 인수는 직사각형 배열을 만듭니다.
0() 함수는 모두 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
one() 함수는 모든 1의 배열을 생성합니다 -
예를 들어 -
라이브 데모ones(4,3)
MATLAB은 위의 명령문을 실행하고 다음 결과를 반환합니다 -
ans = 1 1 1 1 1 1 1 1 1 1 1 1
눈() 함수는 단위 행렬을 생성합니다.
예를 들어 -
라이브 데모eye(4)
MATLAB은 위의 명령문을 실행하고 다음 결과를 반환합니다 -
ans = 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1
랜드() 함수는 (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
마법의 광장 요소가 행 방향, 열 방향 또는 대각선으로 추가될 때 동일한 합계를 생성하는 정사각형입니다.
마법() 함수는 마방진 배열을 만듭니다. 정사각형의 크기를 제공하는 단일 인수를 취합니다. 인수는 3보다 크거나 같은 스칼라여야 합니다.
라이브 데모magic(4)
MATLAB은 위의 명령문을 실행하고 다음 결과를 반환합니다 -
ans = 16 2 3 13 5 11 10 8 9 7 6 12 4 14 15 1
MATLAB에서는 3차원 이상의 배열을 다차원 배열이라고 합니다. 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 3x3 배열입니다. a에 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...)
어디,
나 생성된 새 배열입니다.
A1 , A2 , ... 연결할 배열입니다.
어두운 배열을 연결할 차원입니다.
스크립트 파일을 만들고 다음 코드를 입력하십시오 -
라이브 데모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은 배열 내용을 정렬, 회전, 치환, 모양 변경 또는 이동하기 위해 다음과 같은 함수를 제공합니다.
함수 | 목적 |
---|---|
길이 | 벡터의 길이 또는 가장 큰 배열 차원 |
ndims | 배열 차원의 수 |
숫자 | 배열 요소의 수 |
크기 | 배열 차원 |
아이스컬럼 | 입력이 열 벡터인지 여부를 결정합니다. |
비어 있음 | 배열이 비어 있는지 확인 |
이매트릭스 | 입력이 행렬인지 결정 |
isrow | 입력이 행 벡터인지 여부를 결정합니다. |
이스칼라 | 입력이 스칼라인지 여부를 결정합니다. |
isvector | 입력이 벡터인지 결정 |
blkdiag | 입력 인수에서 블록 대각 행렬을 구성합니다. |
순환 이동 | 배열을 순환적으로 이동 |
c조옮김 | 복소 켤레 전치 |
디아그 | 대각 행렬 및 행렬의 대각선 |
뒤집기 | 지정된 차원을 따라 배열을 뒤집습니다. |
뒤집기 | 행렬을 왼쪽에서 오른쪽으로 뒤집습니다. |
뒤집기 | 행렬을 위아래로 뒤집습니다. |
무시 | N차원 배열의 순열 차원 반전 |
순열 | N차원 배열의 차원 재정렬 |
렙맷 | 복제 및 타일 배열 |
모양 변경 | 배열 모양 변경 |
rot90 | 행렬을 90도 회전 |
shiftdim | 차원 이동 |
분류 | 세트 요소가 정렬된 순서인지 여부를 결정합니다. |
정렬 | 배열 요소를 오름차순 또는 내림차순으로 정렬 |
정렬 | 행을 오름차순으로 정렬 |
쥐기 | 싱글톤 차원 제거 |
조옮김 | 조옮김 |
벡터화 | 표현을 벡터화 |
다음 예는 위에서 언급한 일부 기능을 보여줍니다.
길이, 치수 및 요소 수 -
스크립트 파일을 만들고 다음 코드를 입력하십시오 -
라이브 데모x = [7.1, 3.4, 7.2, 28/4, 3.6, 17, 9.4, 8.9]; length(x) % length of x vector y = rand(3, 4, 5, 2); ndims(y) % no of dimensions in array y s = ['Zara', 'Nuha', 'Shamim', 'Riz', 'Shadab']; numel(s) % no of elements in s
파일을 실행하면 다음과 같은 결과가 표시됩니다. -
ans = 8 ans = 4 ans = 23
배열 요소의 원형 이동 -
스크립트 파일을 만들고 다음 코드를 입력하십시오 -
라이브 데모a = [1 2 3; 4 5 6; 7 8 9] % the original array a b = circshift(a,1) % circular shift first dimension values down by 1. c = circshift(a,[1 -1]) % circular shift first dimension values % down by 1 % and second dimension values to the left % by 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] % horizontal vector sort(v) % sorting v m = [2 6 4; 5 3 9; 2 0 1] % two dimensional array sort(m, 1) % sorting m along the row sort(m, 2) % sorting m along the column
파일을 실행하면 다음과 같은 결과가 표시됩니다. -
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 는 셀형 배열입니다.
어두운 셀형 배열 C의 차원을 지정하는 정수 스칼라 또는 벡터입니다.
dim1, ..., dimN C의 차원을 지정하는 정수 스칼라입니다.
오브제 다음 중 하나입니다 -
스크립트 파일을 만들고 다음 코드를 입력하십시오 -
라이브 데모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
MATLAB
MATLAB은 내림차순으로 정렬된 계수를 포함하는 행 벡터로 다항식을 나타냅니다. 예를 들어, 방정식 P(x) =x4 + 7x3 - 5x + 9는 −로 나타낼 수 있습니다. p =[1 7 0 -5 9]; 다항식 평가 다중 함수는 지정된 값에서 다항식을 평가하는 데 사용됩니다. 예를 들어, 이전 다항식 p를 평가하려면 , x =4에서 −를 입력합니다. 라이브 데모 p = [1 7 0 -5 9]; polyval(p,4) MATLAB은 위의 명령문을 실행하고 다음 결과를 반환합니다. - ans = 693 MATLAB은 p
배열은 동일한 유형의 요소에 대한 고정 크기 순차 컬렉션을 저장합니다. 배열은 데이터 모음을 저장하는 데 사용되지만 배열을 인접한 메모리 위치에 저장된 동일한 유형의 변수 모음으로 생각하는 것이 더 유용합니다. number0, number1, ..., number99와 같은 개별 변수를 선언하는 대신 숫자와 같은 하나의 배열 변수를 선언하고 숫자[0], 숫자[1], ..., 숫자[99]를 사용하여 표현합니다. 개별 변수. 배열의 특정 요소는 인덱스에 의해 액세스됩니다. 모든 배열은 연속적인 메모리 위치로 구성됩니다. 가장 낮은