5. find 함수 (기본)
find 함수는 특정한 조건을 걸어주면 해당되는 행과 열을 찾아주는 함수입니다.
예를 들어볼게요.
>> a=[0 2 1 5 3 0 2 4 0]
a =
0 2 1 5 3 0 2 4 0
>> find(a)
ans =
2 3 4 5 7 8
find(a)라는 함수를 썼는데 뭘 찾았죠?
0 이 아닌 열을 찾았습니다. 2,3,4,5,7,8 열이 nonzero 값입니다.
디폴트가 뭔지 아시겠죠? 그냥 find 함수를 쓰면 0이 아닌 열을 찾아줍니다. 열만 찾아주는건 아니겠죠? 아래 예시를 보시죠
>> b = [1; 2; 0; 0; 1; 3; 0; 3]
b =
1
2
0
0
1
3
0
3
>> find(b)
ans =
1
2
5
6
8
이번에는 0 이 아닌 행을 찾아줍니다. ans가 세로로 표시되구요. 그렇다면 행과열이 모두 1보다 큰 행렬의 경우는 어떨지 봅시다.
>> c=[1 3 0;0 0 1;2 5 1;2 0 3]
c =
1 3 0
0 0 1
2 5 1
2 0 3
>> find(c)
ans =
1
3
4
5
7
10
11
12
흠..1열부터 아래로 내려가면서 0이 아닌 경우를 찾아주네요. 예를들어 7이라고 하면 3행3열이 되네요. 몇행몇열인지를 또 계산해주어야 하는데. 한번에 알 수 있는 방법이 있습니다. 아래처럼 해봅시다.
>> [row col]=find(c)
row =
1
3
4
1
3
2
3
4
col =
1
1
1
2
2
3
3
3
0이 아닌 행과 열을 보여줍니다. 순서대로 1행1열, 3행1열, 4행1열....이렇게 읽어주시면 됩니다.
'MATLAB 코딩 > 기초' 카테고리의 다른 글
[matlab 공부하자] 7. 행과 열을 자유자재로 사용하기 (0) | 2019.07.01 |
---|---|
[matlab 공부하자] 6. find 함수 (심화) (0) | 2019.07.01 |
[matlab 공부하자] 4. size 함수 (0) | 2019.07.01 |
[matlab 공부하자] 3. rand 함수 (0) | 2019.07.01 |
[matlab 공부하자] 2. 반올림 (round) , 올림(ceil), 버림(floor), 0을 향해 버림 또는 올림(fix) (0) | 2019.07.01 |
댓글