Matlab 存储向量
我需要在我的程序中存储向量PVX,我已经完成了预分配技巧,但它不起作用。我一直在得到最后一个条目。为什么储存东西这么难。我想要每个numbas的向量PVX=[numbas,POW],这样我就可以引用它们了Matlab 存储向量,matlab,Matlab,我需要在我的程序中存储向量PVX,我已经完成了预分配技巧,但它不起作用。我一直在得到最后一个条目。为什么储存东西这么难。我想要每个numbas的向量PVX=[numbas,POW],这样我就可以引用它们了 n=100; primlist=2; for numba=1:n; if mod(2+numba,primlist)~=0 primlist=[primlist;2+numba]; end end PVX=zeros(size(1,26)); %Pre-alloca
n=100;
primlist=2;
for numba=1:n;
if mod(2+numba,primlist)~=0
primlist=[primlist;2+numba];
end
end
PVX=zeros(size(1,26)); %Pre-allocating vector
for numbas=2:n
prims=zeros(size(primlist));
pow=prims;
for k=1:10
for i=1:length(primlist)
if mod(numbas,primlist(i).^k)==0
prims(i)=primlist(i); % sum of all the powers of prims, such that prims divide numbas
pow(i)=k;
POW=pow';
PVX=[numbas,POW];
end
end
end
end
PVX
每次循环通过i和k时,都会覆盖PVX。如果要在i-loop中存储PVX,可以使用
PVX(i,:) = [numbas, POW];
预分配实际上不起作用,因为您事先不知道PVX的大小(至少在设置代码的方式上是这样)。是的,PVX的大小是26,numbas加上所有POW(25)将是26