Matlab 存储向量

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

我需要在我的程序中存储向量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-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