Save a variable from a for cycle into a matrix

5 views (last 30 days)
Hey guys, this is probably very easy but Im having troubles.
I have a matrix range_compression(2032x400). Each row corresponds to a position of a radar and columns correspond to signals in frequency domain.
For each column I apply a function that transforms that signal to time domain. However the code I have is saving all of this in a vector 1x 2243277. And I would like to save it in a matrix 2032x400. Thank you all
[nr,mr]=size(Range_compression);
for i=1:mr
[time_compression,range_compressed]=freq2time(i,doppler_freqSurv);
end
time_compression=time_compression*c;

Answers (1)

Image Analyst
Image Analyst on 12 Jun 2022
Maybe this:
[rows,columns]=size(Range_compression);
output = zeros(rows, columns);
for col = 1 : columns
% Get a column
thisColumn = Range_compression(:, col);
% Convert it to time domain.
[time_compression,range_compressed]=freq2time(col, thisColumn);
% Save the output (whichever vector it is)
output(:, col) = time_compression; % Or whatever...
end
If you have any more questions, then attach your data, the freq2time function, and code to read the data in with the paperclip icon after you read this:
  1 Comment
Miguel Albuquerque
Miguel Albuquerque on 12 Jun 2022
Thank you for helping me , With that code I get this error. I attached the variables and the function freq2time
[rows,columns]=size(Range_compression);
output = zeros(rows, columns);
for col = 1 : columns
% Convert it to time domain.
[time_compression,range_compressed]=freq2time(col, doppler_freqSurv);
% Save the output (whichever vector it is)
output(:, col) = range_compressed; % Or whatever...
end
Unable to perform assignment because the size of the left side is 2032-by-1 and the size of the right side is 1-by-2243277.

Sign in to comment.

Categories

Find more on Data Preprocessing in Help Center and File Exchange

Products


Release

R2021b

Community Treasure Hunt

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

Start Hunting!