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)
页面执行时间:6.521毫秒