[讨论] 多次 矩阵叠加 这样写出现警告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