[討論] 把數據存入矩陣

看板MATLAB作者 (草草)時間8年前 (2016/05/15 22:56), 8年前編輯推噓2(204)
留言6則, 2人參與, 最新討論串1/1
我想要把數據存入矩陣 程式如下 train_data=[]; for delta=[0 0.435888 0.871776 1.307664 1.743553 2.179441 2.61532] for i=1:1000 data=mvnrnd(MU0+delta,SIGMA0); train_data=[train_data; data]; end end 跑出來的結果train_data是7000*5 (正是我要的結果) 請問如果不要使用train_data=[train_data; data]; 還有什麼方法可以存入矩陣且一樣是7000*5的呢? 因為我家老闆不喜歡用train_data=[train_data; data]這種方式 謝謝,麻煩大大了! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 59.102.186.20 ※ 文章網址: https://www.ptt.cc/bbs/MATLAB/M.1463324174.A.6DE.html

05/16 11:37, , 1F
data都是 7*5? train_data((i-1)*7+1:i*7,:)=data;
05/16 11:37, 1F
data是1*5的向量,丟給train_data要變成7000*5的矩陣

05/16 11:38, , 2F
迴圈前補個train_data=zeros(7000,5);
05/16 11:38, 2F

05/16 11:40, , 3F
不過迴圈應該可以通通避掉才是
05/16 11:40, 3F
s大 還是不能跑耶 不曉得哪裡出了問題 ※ 編輯: popo14777 (59.102.186.20), 05/17/2016 00:14:11

05/17 05:33, , 4F
外迴圈改用 j=1:7,要用delta時改用delta(j)
05/17 05:33, 4F

05/17 05:34, , 5F
這樣的話可以用 train_data(i+(j-1)*1000)=data;
05/17 05:34, 5F

05/17 15:40, , 6F
謝謝s大 已解決
05/17 15:40, 6F
文章代碼(AID): #1NE8uERU (MATLAB)