[討論] 多次 矩陣疊加 這樣寫出現警告O'_'O
不好意思,請問各位大大:
a=rand(1,10);
b=a; %宣告一條 1X10的陣列
for i=2:100
a=rand(1,10);
b=[b;a]; %把這些陣列疊加上去
end
這是本肥宅在做PCA的擷取特徵步驟
這個例子 想要把每條 1X10 循序疊上去
疊成一個 100X10的矩陣
可是這樣的作法 在黃色的地方出現警告說
b變數在每次迴圈都改變大小,會拖慢速度
是不是該寫成這樣比較好呢?
b(100,10)=0; %宣告一個矩陣
for i=1:100
a=rand(1,10);
b(i,:)=a; %每一列換成我想要的1X10陣列
end
請問這兩者有差嗎?
還是有更好的做法 O'_'O 我就換更好的做法
--------------------------------------
剛去測了一下時間 做10000次
Elapsed time is 0.353152 seconds. %第一種
Elapsed time is 0.006834 seconds. %第二種
請問還有其他做法嗎@@!!
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 203.64.91.23
※ 文章網址: https://www.ptt.cc/bbs/MATLAB/M.1457749160.A.F6A.html
※ 編輯: storm654321 (203.64.91.23), 03/12/2016 10:21:18
※ 編輯: storm654321 (203.64.91.23), 03/12/2016 10:23:04
※ 編輯: storm654321 (203.64.91.23), 03/12/2016 10:26:12
推
03/12 13:17, , 1F
03/12 13:17, 1F
→
03/12 13:17, , 2F
03/12 13:17, 2F
感謝您的回答,100p了表心意
→
03/12 17:15, , 3F
03/12 17:15, 3F
※ 編輯: storm654321 (203.64.91.23), 03/12/2016 17:17:43
MATLAB 近期熱門文章
PTT數位生活區 即時熱門文章