我是靠谱客的博主 机灵大神,最近开发中收集的这篇文章主要介绍matlab中for替代,怎么用矩阵替代for循环,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

本帖最后由 yuxi246 于 2014-11-28 22:31 编辑

for循环非常费时间,怎么用矩阵代替for循环

下列循环是挨个试,找出i01等7个数在0到10的范围中使total_IPD最小的7个数。

for循环及其费时,有什么方法能缩短时间。初学者,请大家赐教,谢谢!

程序如下:

for i01=0:0.01:10

for i02=0:0.01:10

for i03=0:0.01:10

for i21=0:0.01:10

for i12=0:0.01:10

for i32=0:0.01:10

for i23=0:0.01:10

C_S1=data(1);

C_S2=data(n+1);

C_S3=data(2*n+1);

for i=2:n

CC_S1=C_S1(i-1)+F(1)*t*1000/V1+i01*C0*t+i21*C_S2(i-1)*t-(i01+i21)*C_S1(i-1)*t;

CC_S2=C_S2(i-1)+F(2)*t*1000/V2+i02*C0*t+i12*C_S1(i-1)*t+i32*C_S3(i-1)*t-(i02+i12+i32)* C_S2(i-1)*t;

CC_S3=C_S3(i-1)+F(3)*t*1000/V3+i03*C0*t+i23*C_S2(i-1)*t-(i03+i23)*C_S3(i-1)*t;

C_S1= [C_S1;CC_S1];

C_S2= [C_S2;CC_S2];

C_S3= [C_S3;CC_S3];

total_IPD=total_IPD+(C_S1(i)-C_M(i))^2+(C_S2(i)-C_M(n+i))^2+(C_S3(i)-C_M(2*n+i))^2;

end

if  total_IPD

T_IPDfinal=total_IPD;

a=i01;b=i02;c=i03;d=i12;e=i21;f=i23;g=i32;

end

end

end

end

end

end

end

end

最后

以上就是机灵大神为你收集整理的matlab中for替代,怎么用矩阵替代for循环的全部内容,希望文章能够帮你解决matlab中for替代,怎么用矩阵替代for循环所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(47)

评论列表共有 0 条评论

立即
投稿
返回
顶部