find返回的是满足条件的索引向量
满足条件的是几个,返回的就是几个数组成的向量
若只有一个满足条件,返回的当然是只有一个数的向量
例如:
>> a=[1,2,3]
a =
1 2 3
>> u=find(a>min(a))
u =
2 3
>>
find()得到的矩阵都是a(1,n)的形式
,就算是空矩阵也是a(1,0)的形式
所以而对于[]matlab识别为a(0,0)型
形式不一样
无法比较
你可以用size求find函数的列数
在和0比较
pa(find(ps==i))=s2(i+1);
find(ps==i)返回的是ps矩阵中数值为i的坐标,设为m
所以就是把s2(i+1)赋给pa中第m个数
help find