加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

MATLAB中如何循环改变变量名并引用其值

(2016-04-17 08:35:39)
分类: Matlab
本来这是一段文字,我发布博文的时候,坑爹的 sina博客非要提示含有非法字符,我真不知道怎么回事啊。

迫不得已,只有改为截图了。
http://s2/mw690/002XWA0fzy70YvLZu0xc1&690
把其中代码贴出来:
clc;clear all;
a1=[1 2 3 4 5];
a2=[2 3 4 7 5 6];
for i=1:2
    for j=1:length(eval  (['a',num2str(i)]))
    array(i,j)=eval  (['a',num2str(i),'(',num2str(j),')']);
    end
end
 
有心的人可能会看出a1、a2维度是不一样的,是的,你没看错,就是不一样。执行到a2,array(1,6)就会等于0.但是我强烈不建议这么做,最好a1、a2维度一样,要不然array数组每行的最后的0,都不知道是数组本身的还是自动添加的。
 
另外,可以减少一个内部循环,使得代码变得更加简单,当然执行效率更高。代码如下:
clc;clear all;
a1=[1 2 3 4 5];
a2=[2 3 4 7 5 6];
for i=1:2
     temp=eval  (['a',num2str(i)]); 
     n=length(temp);
     array(i,1:n)=temp;
end
 

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有