[运算] 如何让三组数字依顺序放在一个矩阵

楼主: sonicstars (昊旱)   2016-11-25 15:09:19
我的三组数字先用程式产生
w=0.8:0.1:1.2;
c1=1:0.5:4;
c2=1:0.5:4;
也就是
w为0.8开头,间隔为0.1,以1.2结束
c1与c2相同,1开头,间隔0.5,以4结束
我的目标是产生这样 245 X 3 的矩阵
w c1 c2
0.8 1 1
0.9 1 1
1 1 1
1.1 1 1
1.2 1 1
0.8 1.5 1
0.9 1.5 1
1 1.5 1
1.1 1.5 1
1.2 1.5 1
0.8 2 1
0.9 2 1
1 2 1
1.1 2 1
1.2 2 1
︰ ︰ ︰
︰ ︰ ︰
0.8 3.5 4
0.9 3.5 4
1 3.5 4
1.1 3.5 4
1.2 3.5 4
0.8 4 4
0.9 4 4
1 4 4
1.1 4 4
1.2 4 4
我目前的作法是这样:
for ww=1:length(w)
for c=1:length(c1)
for cc=1:length(c2)
weith(ww + (c-1)*length(w) + ...
(cc-1)*length(w)*length(c1),:)=[w(ww) c1(c) c2(cc)];
end
end
end
想请教版上的先进,是否有不用循环的作法?
作者: celestialgod (天)   2016-11-25 21:06:00
ngrid
楼主: sonicstars (昊旱)   2016-11-26 09:33:00
是指ndgrid吗?[X1,X2,X3] = ndgrid(0.8:0.1:1.2,1:0.5:4,1:0.5:4);我尝试了一下,虽然可以制造出三个矩阵,但是没办法产生我想要的那个
作者: celestialgod (天)   2016-11-26 14:06:00
再用 [X1(:), X2(:), X3(:)] 就好啦
作者: slygun (放开那个阿婆)   2016-11-28 16:00:00
combvec(w,c1,c2)'

Links booklink

Contact Us: admin [ a t ] ucptt.com