how to save the matrix after each iteration ?

18 次查看(过去 30 天)
I have a for loop from 1 to 768 in each iteration I will discard one old sample and add new one (the procedùre is like a convolùtion). the oùtpùt for each iteration is a matrix of dimention [384 1] I want to plot this matrix when adding new sample.
  2 个评论
Geoff Hayes
Geoff Hayes 2018-3-14
riki - is the output of each iteration always of the same (384x1) dimension? If so, then you could create a matrix that will hold each of the 768 matrices (could be simply 384x768 where each column is the output from each iteration). If the output of each iteration is of a different dimension, then consider using a cell array to store the data.
riki ragùa
riki ragùa 2018-3-15
yes, the output matrix will always be of same dimention how can I hold the matrices ?

请先登录,再进行评论。

回答(2 个)

Pawel Jastrzebski
Pawel Jastrzebski 2018-3-15
output = 384;
iterations = 768;
% preallocate the matrix
mResults = zeros(output, iterations);
for i = 1:iterations
% your code, i.e.:
mResults(:,i) = rand(output,1);
end

Geoff Hayes
Geoff Hayes 2018-3-15
riki - since your output array on each iteration is of the same dimension, then your matrix could be
myData = zeros(384,768);
and when iterating, you could do something like
for k=1:768
% do a calculation to get the output
output = ...;
% save this to your myData matrix
myData(:,k) = output; % since output is 384x1 matrix
end
  4 个评论
Aashish Jagadeesh Shastry
If the output has dimensions like (2,13) and the number of iterations is 2, how can I save the matrix for each iteration?
Geoff Hayes
Geoff Hayes 2020-4-14
Aashish - you could assign something like
myData = zeros(2,13);
for k=1:2
% do a calculation to get the output
output = ...;
% save this to your myData matrix
myData(k,:) = output; % since output is 2x13 matrix
end

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Logical 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by