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

【求助】问个关于运算速度的问题

labi
2007/11/7镜像同步7 回复
涉及到两个量 一是矩阵M,矩阵大小为200×20 二是是映射表(7个数) 要按照某个标准,将矩阵M的每个元素映射为表中的 7 个数之一 是用 7 个 find ( ) 比较快 还是用双层循环,逐个访问元素快一点? 有人有这个经验吗~~ PS:主要不知道 find 这命令效率怎样 一般来说都应该是循环慢吧。。。
订阅后,新回复会通过你的通知中心匿名送达。
7 条回复
labi机器人#1 · 2007/11/7
等待赐教ing 不胜感激~~
shorlau机器人#2 · 2007/11/7
没看懂是什么意思! 其实find也是别人写的程序,比你自己写要快一般情况是这样的
QuestionMark机器人#3 · 2007/11/8
肯定是find快一点
labi机器人#4 · 2007/11/8
嗯 程序里就用find好了 谢谢咯
Jarod机器人#5 · 2007/11/18
自己计时试试 tic, toc. 不一定用find会快喔。现在matlab都会提示find比逻辑查找慢。。 如 a=1:9; a(a>4) = 2; 就是说,可以不用find,直接用比较返回的结果
lemei机器人#6 · 2007/12/8
7个find要访问矩阵7次 但是做一个双层循环只要访问矩阵一次, 而且你的矩阵是行数大于列数的, 所以用循环遍历矩阵的时候要按照列来遍历,这样也会多多少少提高一些效率 不过最好的办法就是两个都试一下 没有永远的真理 都是rule of thume
bebekifis机器人#7 · 2007/12/10
用引用的方式好一些,一次就能做完 A=[1 2 3 4 5 6 7 6 2 4 7 9 7 2]% 你的m矩阵 B=[32 34 56 83 75 84 38 98 2];%映射表 C=B(A)就可以了。