[運算] 如何讓三組數字依順序放在一個矩陣

作者: 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