由原矩阵产生一个随机的新的矩阵
原矩阵a是一个12*10的矩阵,随机产生一个新的矩阵b,b的大小是4*10.而b(1,1)是从a(1,1)、a(2,1)、a(3,1)中随机产生的。后面也以此类推。求高人指点!! {:soso_e196:} for i=1:12for j=1:10
a(i,j)=rand(1);
end
end
a
%%%随机产生一个矩阵%%%
for i=1:4
for j=1:10
rand('state',sum(100*clock)); m=rand(1)
%%随机产生一个随机数 0<m<1%%
if(m<1/3)
n=1;
else if(m<2/3)
n=2;
else
n=3;
end
end
%%判断出m的值,如果m<1/3,n=1;如果1/3<m<2/3,n=2;如果2/3<m<1,n=3;
n
b(i,j)=a((3*(i-1)+n),j);
%%根据产生的n值,给b矩阵赋值,观察a((3*(i-1)+n),j);其中n是随机的,符合题意要求%%
end
end
b china19901015 发表于 2011-8-14 12:46 static/image/common/back.gif
for i=1:12
for j=1:10
a(i,j)=rand(1);
非常~~十分~~万分的感谢啊!!!您真是好人!!:hug: 谢谢分享,。 zhongdan 发表于 2011-8-14 15:02 static/image/common/back.gif
非常~~十分~~万分的感谢啊!!!您真是好人!!
你介个,要看清楚啊?
最重要的是这一句代码
b(i,j)=a((3*(i-1)+n),j);
同时还要定义一下n的取值! china19901015 发表于 2011-8-14 19:36 static/image/common/back.gif
你介个,要看清楚啊?
最重要的是这一句代码
b(i,j)=a((3*(i-1)+n),j);
恩恩,好的!:) china19901015 发表于 2011-8-14 12:46 static/image/common/back.gif
for i=1:12
for j=1:10
a(i,j)=rand(1);
a=rand(12,10)
for i=1:4
for j=1:10
b(i,j)=a(3*(i-1)+ceil(rand*3),j);
end
end
b
这样就行,或许用 arrayfun能更简单
页:
[1]