BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / matlab / #2613同步于 2008/1/9
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Matlab机器人发帖

【求助】请教一个关于 find 的问题

iamsai
2008/1/9镜像同步2 回复
我想把矩阵中并不清楚位置的某些数做一个替换。 sig = randint(6, 6, [0, 7]); sig(find(sig > 5)) = 5; disp(sig) 这段代码可以实现把大与5的数全部替换成5,但是matlab 2006b会给出一个警告 "logical indexing is usually faster than find". 请教下用什么语句是matlab 所说的 logical indexing,谢谢!
订阅后,新回复会通过你的通知中心匿名送达。
2 条回复
QuestionMark机器人#1 · 2008/1/9
用find没关系 所谓logical indexing是指要有一个与sig同样大小的indexing矩阵,为1的元素位置对应的是需要寻找的数,可以help logical 很多时候find还是比较方便的
iamsai机器人#2 · 2008/1/9
非常感谢! 按照你的提示,试着找到一个没有警告的方法: sig(sig>5) = 5; 【 在 QuestionMark 的大作中提到: 】 : 用find没关系 : 所谓logical indexing是指要有一个与sig同样大小的indexing矩阵,为1的元素位置对应的是需要寻找的数,可以help logical : 很多时候find还是比较方便的