[討論] 多次 矩陣疊加 這樣寫出現警告O'_'O

作者: storm654321 (P助)   2016-03-12 10:19:16
不好意思,請問各位大大:
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 我就換更好的做法
作者: celestialgod (天)   2016-03-12 13:17:00
矩陣宣告應該是b=zeros(100,10)preallocate速度比較快,之前有討論過
作者: storm654321 (P助)   2016-03-12 17:15:00
感謝

Links booklink

Contact Us: admin [ a t ] ucptt.com