全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 MATLAB等数学软件专版
2346 8
2011-05-07
请教各位大虾,for循环嵌套,通过每次子循环得出一个数值,如何实现将每次子循环得出的数值放入一个向量中,这个向量维数是外层for循环的总循环次数?谢谢啦,在线急等~
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2011-5-7 22:44:05
不是很明白你的意思,按我的理解,既然你想构造一个多维向量,你可以把每次子循环后得到的向量放入外层的数组中(在程序中向量这个概念就是多维数组的概念,给你的提示就是一维数组放入一个一维数组后就是二维,二维的放入一维后就是三维,不过还是用vector()比较好)。不知道能不能给你启发
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-5-8 19:12:00
有么有具体的程序,这样不是很懂你说啥。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-5-8 22:37:10
一个效率不高的例子
res=[];
for h1=1:3
for h2=1:3
  for h3=1:3
   res(end+1)=rand();
  end
end
end


各位网友可以思考怎样可以提高速度。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-5-9 09:07:26
如果知道循环的次数的话,预定于可以提高效率
如果不知道的话,可以预定于一个较大的数组
或者也可以用多为数组,最后reshape或者用冒号表达式
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-5-9 09:46:05
[m,n]=size(data);
那么就是这样一个 m*n的矩阵。
这个朋友的问题是;
用一个嵌套的循环。

DataTrans=zeros(m,n);  % 假设是一个M*N的样子(不敢说是这样,后面的for次序不同,矩阵可能是N*M)

for i=1:m % 外循环
     for j=1:n % 内循环
            DataTrans(i,j)=rand()+sin(randn(1,1));
    end % 结束内循环
end % 结束外循环

这样的来看,是 M维的;
昨天我一个朋友问我另一个单列;或单行的数据。
转化为M*N的矩阵。

在内循环赋值不是 DataTrans(i,j)的形式,而是一行或一列向量来赋值的话。
那么维数就不一定是M,也可以是N。


这个是回到他的提问的档案。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群