1)>>a =
3 4 80
5 7 5
3 4 80
5 7 5
4 99 0
>> for i=1:3
[u,v]=find(a==max(a(:,i)))%本意是找到a中每列的最大值,并将其用255代替
a(u,v)=255
end
>>a =
3 4 80
255 255 255
255 255 255
解释:出现此结果的原因:find中用的是a,每一次循环会找到可能几个跟max(a(:,i))相等的值。
2)>>for i=1:3
[u,i]=find(a(:,i)==max(a(:,i)))%将上述错误之处改成了a(:,i),本意是找到a中每列的最大值,并将其用255代替
a(u,i)=255
end
>>a =
255 4 80
255 7 5
255 99 0
结果仍然错误,为什么?
3)>> for i=1:3
aa=a(:,i)
[u,v]=find(aa==max(aa))
a(u,i)=255;
end
>>a =
3 4 255
255 7 5
4 255 0
这种做法才得到了想要的结果。