看板 MATLAB 關於我們 聯絡資訊
我的三組數字先用程式產生 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
celestialgod: ngrid 11/25 21:06
sonicstars: 是指ndgrid嗎? 11/26 09:33
sonicstars: [X1,X2,X3] = ndgrid(0.8:0.1:1.2,1:0.5:4,1:0.5:4); 11/26 09:33
sonicstars: 我嘗試了一下,雖然可以製造出三個矩陣,但是沒辦法 11/26 09:34
sonicstars: 產生我想要的那個 11/26 09:34
celestialgod: 再用 [X1(:), X2(:), X3(:)] 就好啦 11/26 14:06
slygun: combvec(w,c1,c2)' 11/28 16:00