源自於http://bime-matlab.blogspot.com/2006/09/27.html
另外一個指令find則是專門找尋矩陣中元素非為零的值及行列位置。以下面之bb矩陣為例,利用find函數查尋非零元素之序號:
>> bb=round (rand(3,3)*10)
bb =
2 7 5
6 7 1
3 7 2
>> bb(2,2)=0
bb =
2 7 5
6 0 1
3 7 2
>> find(bb)'
ans = 1 2 3 4 6 7 8 9
即表示bb矩陣中,其總序號第1,2,3,4,6,7,8,9個元素均為非零元素。
>> max(max(bb))
ans = 7
找到矩陣中最大的數值
bb =
2 7 5
6 0 1
3 7 2
>> [m,p]=max(bb)
m = 6 7 5
p = 2 1 1
以列數與行數作為座標型態的認定。其語法則必須在指令前加三個參數,如下例:
[x y z]=find(bb,3);
>> [x y z]
ans =
1 1 2
2 1 6
3 1 3
在find函數前置三個未知行向量[x,y,z],其內所存的x為該非零元素所在之列,y為其對應行,z為其元素值。
[u, v]=find(bb==0);
>> [u, v]
ans =
2 2
亦即等於零的元素有1項,在(2,2)位置上
沒有留言:
張貼留言