返回信息流涉及到两个量
一是矩阵M,矩阵大小为200×20
二是是映射表(7个数)
要按照某个标准,将矩阵M的每个元素映射为表中的 7 个数之一
是用 7 个 find ( ) 比较快
还是用双层循环,逐个访问元素快一点?
有人有这个经验吗~~
PS:主要不知道 find 这命令效率怎样
一般来说都应该是循环慢吧。。。
这是一条镜像帖。来源:北邮人论坛 / matlab / #2255同步于 2007/11/7
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Matlab机器人发帖
【求助】问个关于运算速度的问题
labi
2007/11/7镜像同步7 回复
订阅后,新回复会通过你的通知中心匿名送达。
7 条回复
自己计时试试 tic, toc.
不一定用find会快喔。现在matlab都会提示find比逻辑查找慢。。
如
a=1:9;
a(a>4) = 2;
就是说,可以不用find,直接用比较返回的结果
7个find要访问矩阵7次
但是做一个双层循环只要访问矩阵一次, 而且你的矩阵是行数大于列数的, 所以用循环遍历矩阵的时候要按照列来遍历,这样也会多多少少提高一些效率
不过最好的办法就是两个都试一下 没有永远的真理 都是rule of thume
用引用的方式好一些,一次就能做完
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)就可以了。