how can i make a storage in simulation for matrix ?

1 view (last 30 days)
i'm creating a simulation and the following is part of the code
for i=1:k
samples=ssvs(e,y,q,m,k)
z(i,:)=samples
end.......
note: e ,y ,q are variables and ssvs function will give a matrix of order m rows and q columnes i want z to store the results same as horzcat i mean i want z save first result then second then the next tell the simulation ends z order will be m*k rows and q columnes

Accepted Answer

Azzi Abdelmalek
Azzi Abdelmalek on 14 Feb 2013
Edited: Azzi Abdelmalek on 14 Feb 2013
z=[];
for i=1:k
samples=ssvs(e,y,q,m,k);
z=[z samples ];
end
  1 Comment
José-Luis
José-Luis on 14 Feb 2013
That might be painfully slow if you don't preallocate. Hard to do that if you do not know the size of samples in advance or if that size is not constant.

Sign in to comment.

More Answers (1)

José-Luis
José-Luis on 14 Feb 2013
Edited: José-Luis on 14 Feb 2013
You should probably use a cell array:
my_result = cell(1,k);
for ii = 1:k
my_result{i} = ssvs(e,y,q,m,k);
end
And if you want a matrix, and dimensions allow:
your_mat = cell2mat(my_result);

Categories

Find more on Programming in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!