Matlab 版 (精华区)
发信人: zjliu (秋天的萝卜), 信区: Matlab
标 题: [合集]怎样才能将下面的句子该成循环?
发信站: 哈工大紫丁香 (2003年05月22日21:38:44 星期四), 站内信件
────────────────────────────────────────
bestwish (牛的惊动了国务院) 于 Sun May 11 16:34:01 2003) 说道:
有下列命令语句:
Jx=a(1);
Jy=a(2);
Jf=a(3);
Jr=a(4);
cf=a(5);
cr=a(6);
ctf=a(7);
ctr=a(8);
cp=a(9);
有没有办法将上面的语句该程序循环?
类似于b=[Jx,Jy,Jf,Jr,cf,cr,ctf,ctr,cp],然后
for cir=1:9
b(cir)=a(cir)
end
但上面的该法出错,有没有什么办法该成循环?
────────────────────────────────────────
zjliu (秋天的萝卜) 于 2003年05月11日16:51:32 星期天 说道:
如下:
add=char(97:110);
for t=1:9
ps=strcat(add(1),add(t+1),'=a(',num2str(t),')');
eval(ps);
end
────────────────────────────────────────
bestwish (牛的惊动了国务院) 于 Sun May 11 19:27:14 2003) 说道:
刚才我没有说清楚,我的本意是将a(1),...a(9)的值分别赋给Jx,Jy,Jf,Jr,...cp等9个变
量。最好还能使用循环。不知道能不能实现?
────────────────────────────────────────
bestwish (牛的惊动了国务院) 于 Sun May 11 19:30:31 2003) 说道:
我明白了你给我回复的意思了!谢谢!
────────────────────────────────────────
zjliu (秋天的萝卜) 于 2003年05月11日19:35:57 星期天 说道:
按你的原意可这样(可以试试看):
b={'Jx','Jy','Jf','Jr','cf','cr','ctf','ctr','cp'};
for t=1:9
ps=strcat(b{t},'=a(',num2str(t),')');
eval(ps);
end
────────────────────────────────────────
sszboy (szboy) 于 Sun May 11 20:22:01 2003) 说道:
为什么不直接这么做b=a(1:9);如果要访问第i个元数,b(i);
试试刊行不行。
────────────────────────────────────────
bestwish (牛的惊动了国务院) 于 Sun May 11 20:38:20 2003) 说道:
问题不在这
────────────────────────────────────────
surfing (旮旯旭) 于 2003年05月21日09:44:38 星期三 说道:
用向量比较好,matlab推荐用x向量代替循环,
这样计算的速度会加快W
────────────────────────────────────────
zjliu (秋天的萝卜) 于 2003年05月21日09:48:32 星期三 说道:
有的迭代无法向量化
────────────────────────────────────────
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:3.758毫秒