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

看板MATLAB作者 (昊旱)時間8年前 (2016/11/25 15:09), 編輯推噓0(007)
留言7則, 3人參與, 最新討論串1/1
我的三組數字先用程式產生 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 想請教版上的先進,是否有不用迴圈的作法? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.113.32.31 ※ 文章網址: https://www.ptt.cc/bbs/MATLAB/M.1480057762.A.94C.html

11/25 21:06, , 1F
ngrid
11/25 21:06, 1F

11/26 09:33, , 2F
是指ndgrid嗎?
11/26 09:33, 2F

11/26 09:33, , 3F
[X1,X2,X3] = ndgrid(0.8:0.1:1.2,1:0.5:4,1:0.5:4);
11/26 09:33, 3F

11/26 09:34, , 4F
我嘗試了一下,雖然可以製造出三個矩陣,但是沒辦法
11/26 09:34, 4F

11/26 09:34, , 5F
產生我想要的那個
11/26 09:34, 5F

11/26 14:06, , 6F
再用 [X1(:), X2(:), X3(:)] 就好啦
11/26 14:06, 6F

11/28 16:00, , 7F
combvec(w,c1,c2)'
11/28 16:00, 7F
文章代碼(AID): #1OD-EYbC (MATLAB)
文章代碼(AID): #1OD-EYbC (MATLAB)