24小时热门版块排行榜    

CyRhmU.jpeg
查看: 686  |  回复: 11
当前主题已经存档。
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

cindytt

金虫 (正式写手)

[交流] 【求助】MATLAB中的循环【已完成】

不知道如何在MATLAB中利用矩阵乘法来实现循环,这样的话,会快很多呀。有哪位虫子会呢,请指教!

[ Last edited by nono2009 on 2009-9-24 at 11:57 ]
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

cooboo

木虫 (著名写手)

磁虫

★ ★ ★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
sunxiao(金币+4,VIP+0):谢谢参与,欢迎常来仿真模拟版 6-10 05:02
能用矩阵的地方就用矩阵,而不用循环。但像你说的用矩阵乘法来代替循环,我是不会. 不过,你可以考虑至少从三个方面改进运算效率,第一,就是用built-in funtion代替for 循环,比如说累加函数sum;第二,用logical operaters代替if语句,比如说
L=logical(size(A)
for i=1:numel(A)
L(i)=A(i)>0;
end
如果用 L=A>0就更快
第三,就是用点对点的矩阵运算代替循环,比如说
c=zeros(size(A))
for i=1:numel(A)
C(i)=A(i)*sin(A(i));
end
用A.*sin(A)运算就会更快
12楼2009-06-07 07:44:40
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 12 个回答

sitonyl

铁杆木虫 (文坛精英)

★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
sunxiao(金币+1,VIP+0):谢谢参与,欢迎常来仿真编程版 6-3 23:44
能不能说的详细一些呢?
zz
2楼2009-06-03 17:19:39
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hyk2006

木虫 (小有名气)

★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
sunxiao(金币+1,VIP+0):谢谢参与,欢迎常来仿真编程版 6-3 23:44
这样的描述让人很难理解
3楼2009-06-03 18:24:22
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

天之形

木虫 (正式写手)

★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
sunxiao(金币+2,VIP+0):谢谢参与,欢迎常来仿真编程版 6-3 23:43
你试一试:A^n !A矩阵自乘n次!
4楼2009-06-03 23:17:03
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 高级回复(可上传附件)
信息提示
请填处理意见