MATLAB에서 행렬 반복
이 튜토리얼에서는 MATLAB에서 선형 인덱싱,arrayfun()
및cellfun()
함수를 사용하여 행렬을 반복하는 방법에 대해 설명합니다.
MATLAB에서 선형 인덱싱을 사용하여 행렬 반복
행렬에는 두 가지 종류의 인덱싱이 있습니다. 하나는 행렬에있는 요소에 액세스하기 위해 행과 열 번호를 제공해야하는 행 및 열 인덱싱이고, 두 번째는 선형 인덱스 만 사용하여 요소에 액세스 할 수있는 선형 인덱싱입니다. 예를 들어, 아래 코드를 참조하십시오.
m = [2 6 1; 17 19 18]
row_col_index = m(2,3)
linear_index = m(6)
출력:
m =
2 6 1
17 19 18
row_col_index =
18
linear_index =
18
위의 코드에서 두 종류의 인덱싱을 사용하여 행렬의 마지막 요소에 액세스합니다. 선형 인덱싱에서 요소는 첫 번째 열에서 시작하는 행렬에 존재합니다. 따라서 첫 번째 열에서 계산하면 마지막 요소가 여섯 번째 인덱스에 있습니다. 행 및 열 인덱싱을 사용하여 행렬을 반복하려면 두 개의 루프가 필요하지만 선형 인덱싱의 경우 하나의 루프 만 필요합니다. 예를 들어 선형 인덱싱을 사용하여 행렬을 반복 해 보겠습니다. 아래 코드를 참조하십시오.
m = [2 6 1; 17 19 18];
for i = 1:numel(m)
disp(m(i))
end
출력:
2
17
6
19
1
18
위에서 우리는numel()
함수를 사용하여 주어진 행렬에 존재하는 총 요소 수를 얻었습니다. 그리고 루프와 선형 인덱싱을 사용하여 명령 창에 각 요소를 하나씩 표시했습니다. 요소가 명령 창에 표시되는 순서에 유의하십시오. 이것은 선형 인덱싱의 순서입니다.
MATLAB에서arrayfun()
함수를 사용하여 행렬 반복
함수가 있고 배열 또는 행렬의 각 요소에 적용하려는 경우이를 수행하는 한 가지 방법은 위에서 설명한대로 각 요소를 반복하고 각 요소에 함수를 적용하는 것입니다.하지만 다른 쉬운 방법이 있습니다. arrayfun()
을 사용하여 주어진 함수를 배열 또는 행렬의 각 요소에 적용 할 수 있습니다. 아래 코드를 참조하십시오.
output = arrayfun(myFunction , array);
위의 코드에서arrayfun()
은myFunction
에 저장된 함수를 배열의 각 요소에 하나씩 적용하고 결과를output
변수에 저장합니다. 예를 들어, 정의 된 함수를 행렬의 각 요소에 적용 해 보겠습니다. 아래 코드를 참조하십시오.
myMatrix = [0 90; 180 270]
myFunction = @(x) cos(x);
output = arrayfun(myFunction , myMatrix)
출력:
myMatrix =
0 90
180 270
output =
1.0000 -0.4481
-0.5985 0.9844
출력에서 볼 수 있듯이 함수cos(x)
가 행렬의 각 요소에 적용되고 결과는 변수output
에 저장됩니다. arrayfun()
에 대한 자세한 정보는이 link를 확인하십시오.
MATLAB에서cellfun()
함수를 사용하여 행렬 반복
함수가 있고 주어진 셀의 각 요소에 적용하려는 경우,이를 수행하는 한 가지 방법은 위에서 설명한대로 각 요소를 반복하고 각 요소에 함수를 적용하는 것입니다.하지만 다른 쉬운 방법이 있습니다. cellfun()
을 사용하여 주어진 함수를 셀의 각 요소에 적용합니다. 아래 코드를 참조하십시오.
output = cellfun(myFunction , myCell);
위 코드에서cellfun()
은myFunction
에 저장된 함수를 셀의 각 요소에 하나씩 적용하고 결과를output
변수에 저장합니다. 예를 들어, 정의 된 함수를 셀의 각 요소에 적용 해 보겠습니다. 아래 코드를 참조하십시오.
myCell = {0,90,180,270}
myFunction = @(x) sin(x);
output = cellfun(myFunction , myCell)
출력:
myCell =
1×4 cell array
{[0]} {[90]} {[180]} {[270]}
output =
0 0.8940 -0.8012 -0.1760
출력에서 알 수 있듯이sin(x)
함수가 셀의 각 요소에 적용되고 결과는 변수output
에 저장됩니다. cellfun()
에 대한 자세한 정보는이 link를 확인하십시오.