MATLAB의 find() 함수

Ammar Ali 2022년1월20일
MATLAB의 find() 함수

이 튜토리얼에서는 Matlab의 find() 함수에 대해 설명합니다.

MATLAB의 find() 함수

find() 함수는 벡터 또는 행렬에서 0이 아닌 요소의 값과 인덱스를 찾습니다. 예를 들어, 벡터에서 0이 아닌 요소의 인덱스를 찾습니다. 아래 코드를 참조하십시오.

clc
MyVect = [1 2 5 6 0]
indices = find(MyVect)

출력:

MyVect =

     1     2     5     6     0


indices =

     1     2     3     4

5개의 요소가 있지만 값이 0인 요소가 있기 때문에 출력에는 4개의 인덱스만 있습니다. 벡터에 존재하는 값의 인덱스를 찾으려면 find 함수 내부에 값을 전달해야 합니다. 예를 들어 숫자가 포함된 벡터가 있고 특정 값의 인덱스를 찾고 싶다고 가정해 보겠습니다. find 함수 안에 값을 입력하고 등호를 입력하면 찾을 수 있으며 find 함수는 해당 값의 인덱스를 반환합니다.

예를 들어 벡터를 정의하고 벡터 내부의 특정 값의 인덱스를 찾습니다. 아래 코드를 참조하십시오.

clc
MyVect = [1 2 5 6 0]
index = find(MyVect==5)

출력:

MyVect =

     1     2     5     6     0


index =

     3

출력에서 값 5는 벡터 내부의 인덱스 3에 있습니다. find 함수 내에서 조건을 정의할 수도 있습니다. 예를 들어, 1보다 크고 10보다 작은 값의 인덱스를 찾으려는 경우입니다. 보다 큼 및 보다 작음 연산자를 사용하여 find 함수 내에서 정의할 수 있습니다. 예를 들어 벡터를 정의하고 5보다 크고 10보다 작은 값을 찾습니다. 아래 코드를 참조하세요.

clc
MyVect = [1 2 5 6 8 12 16]
index = find(MyVect<10 & MyVect>5)

출력:

MyVect =

     1     2     5     6     8    12    16


index =

     4     5

출력에는 5보다 크고 10보다 작은 두 값이 있으며 해당 인덱스는 변수 인덱스 안에 저장됩니다. 행렬 내부에서 값은 행과 열에 배치되며 find() 함수를 사용하여 요소의 위치를 ​​찾을 수 있습니다. 예를 들어 행렬을 만들고 find 함수를 사용하여 특정 값의 행 번호와 열 번호를 찾습니다. 아래 코드를 참조하십시오.

clc
MyVect = [1 2 5 ; 8 12 16]
[row,col] = find(MyVect==8)

출력:

MyVect =

     1     2     5
     8    12    16


row =

     2


col =

     1

출력에서 값 8은 두 번째 행과 첫 번째 열에 있습니다. 행렬 내 값의 단일 인덱스만 찾으려면 찾을 수도 있지만 행렬 내부의 요소는 열 방향으로 배치된다는 점을 염두에 두어야 합니다. 예를 들어, 2x2 행렬에서 처음 두 인덱스는 첫 번째 열에 있고 다른 두 인덱스는 두 번째 열에 있습니다. 예를 들어, find() 함수를 사용하여 행렬 내 값의 인덱스를 찾습니다. 아래 코드를 참조하십시오.

clc
MyVect = [1 2 5 ; 8 12 16]
index = find(MyVect==8)

출력:

MyVect =

     1     2     5
     8    12    16


index =

     2

출력에서 값 8은 행렬 내부의 인덱스 2에 있습니다. find 함수 내에서 행렬에 대한 조건을 정의할 수도 있습니다. 예를 들어, 10보다 작은 값의 행과 열 번호를 찾으려면 find() 함수 내에서 보다 작음 연산자를 사용하여 조건을 정의하여 찾을 수도 있습니다.

작가: 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