楼主: huangruiji110
4762 6

[问答] 求解:如何把循环得到的不同结果赋给不同的新变量 [推广有奖]

  • 2关注
  • 11粉丝

已卖:448份资源

讲师

90%

还不是VIP/贵宾

-

威望
0
论坛币
1903 个
通用积分
33.3895
学术水平
9 点
热心指数
19 点
信用等级
7 点
经验
35013 点
帖子
568
精华
0
在线时间
715 小时
注册时间
2010-9-2
最后登录
2015-11-24

楼主
huangruiji110 发表于 2011-8-19 10:45:50 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
这是我写的一个命令:
l=ceil(rand(1)*(2491-90))
S11=[];
for j=1:41
a=[F11{j}(l:l+90)]';
S11=[S11,a];
end
请问用什么语句让这个命令循环5次,并把每次循环得到的不同的S11结果赋给一个新变量,并取这5个变量的平均值,求大神指教

二维码

扫码加我 拉你入群

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

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

关键词:新变量 rand For RAN CEI

@#¥“俺不傻可俺啥都不懂” &*%

沙发
liuxin9023 发表于 2011-8-21 12:40:35
确实比较简单 能把完整的程序贴出来不 因为不知道你贴的F11是什么东东

藤椅
huangruiji110 发表于 2011-8-21 23:21:51
liuxin9023 发表于 2011-8-21 12:40
确实比较简单 能把完整的程序贴出来不 因为不知道你贴的F11是什么东东
S11=[];S21=[];S31=[];S41=[];
S12=[];S22=[];S32=[];S42=[];
l=ceil(rand(1)*(2491-90))
for j=1:41
a=[F11{j}(l:l+90)]';
S11=[S11,a];
b=[F21{j}(l:l+90)]';
S21=[S21,b];
c=[F31{j}(l:l+90)]';
S31=[S31,c];
d=[F41{j}(l:l+90)]';
S41=[S41,d];
e=[F12{j}(l:l+90)]';
S12=[S12,e];
f=[F22{j}(l:l+90)]';
S22=[S22,f];
g=[F32{j}(l:l+90)]';
S32=[S32,g];
h=[F42{j}(l:l+90)]';
S42=[S42,h];
end
其中F11-F42是八个<1*41 cell>的元胞数组,每个胞元都是一个[53x47 double]的矩阵。

@#¥“俺不傻可俺啥都不懂” &*%

板凳
huangruiji110 发表于 2011-8-21 23:30:08
liuxin9023 发表于 2011-8-21 12:40
确实比较简单 能把完整的程序贴出来不 因为不知道你贴的F11是什么东东
这是我写的,数据不多还好,多的话就难办了:S11=[];S21=[];S31=[];S41=[];
S12=[];S22=[];S32=[];S42=[];
l=ceil(rand(1)*(2491-90))
for j=1:41
a=[F11{j}(l:l+90)]';
S11=[S11,a];
b=[F21{j}(l:l+90)]';
S21=[S21,b];
c=[F31{j}(l:l+90)]';
S31=[S31,c];
d=[F41{j}(l:l+90)]';
S41=[S41,d];
e=[F12{j}(l:l+90)]';
S12=[S12,e];
f=[F22{j}(l:l+90)]';
S22=[S22,f];
g=[F32{j}(l:l+90)]';
S32=[S32,g];
h=[F42{j}(l:l+90)]';
S42=[S42,h];
end
其中F11-F42是八个<1*41 cell>的元胞数组,每个胞元都是一个[53x47 double]的矩阵。


@#¥“俺不傻可俺啥都不懂” &*%

报纸
liuxin9023 发表于 2011-8-22 14:46:42
能不能用多元数组解决这个问题呢 比如说建立一个41*53*47的数值 根据你的逻辑写计算,然后对对应维度计算平均值

地板
Xaero 发表于 2011-8-22 15:25:45
两种办法。
1, 所有结果一股脑放到一个cell数组里面
for h=1:33
   result{h}=rand(3);
end

2,用eval对命名的变量赋值
for h=1:4
for k=1:5
  eval(sprintf('s%d%d=rand(3);',h,k));
end
end
十年一觉扬州梦。
智不足以Academy,才尚不够Industry,[情无力于Life]。

7
huangruiji110 发表于 2011-8-22 23:33:11
Xaero 发表于 2011-8-22 15:25
两种办法。
1, 所有结果一股脑放到一个cell数组里面
for h=1:33
很好的命令,谢了
@#¥“俺不傻可俺啥都不懂” &*%

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-20 13:20