MATLAB에서 행렬 반복

Ammar Ali 2023년1월30일
  1. MATLAB에서 선형 인덱싱을 사용하여 행렬 반복
  2. MATLAB에서arrayfun()함수를 사용하여 행렬 반복
  3. MATLAB에서cellfun()함수를 사용하여 행렬 반복
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를 확인하십시오.

작가: Ammar Ali
Ammar Ali avatar Ammar Ali avatar

Hello! I am Ammar Ali, a programmer here to learn from experience, people, and docs, and create interesting and useful programming content. I mostly create content about Python, Matlab, and Microcontrollers like Arduino and PIC.

LinkedIn Facebook

관련 문장 - MATLAB Matrix