Hello, I have data that is n x m (rows,column). I want to read each column and perform some analysis on the data prior to moving on to another column and performing the same analysis.
Is there a method on how to perform this reiterative process? Thanks,

 Akzeptierte Antwort

Voss
Voss am 1 Feb. 2022

0 Stimmen

If you have an n-by-m matrix you can do as follows:
n = 100;
m = 50;
data = randn(n,m);
results = cell(1,m);
for jj = 1:m
results{jj} = perform_analysis(data(:,jj));
end
Where perform_analysis() is a function that performs the analysis you want to do on each column and returns something.
If instead your data is in a file, it may or may not be convenient to read it by column, depending on the file format.

4 Kommentare

Arif Hoq
Arif Hoq am 1 Feb. 2022
hello @Benjamin. would you please light up about this error? is it matlab tool related error?
Unrecognized function or variable 'perform_analysis'.
Error in Untitled47 (line 9)
results{jj} = perform_analysis(data(:,jj));
Michael Angeles
Michael Angeles am 1 Feb. 2022
Thank you, I forgot to state that the data are in cells array.
Voss
Voss am 1 Feb. 2022
@Arif Hoq: perform_analysis() is meant to be a stand-in for whatever analysis needs to be done on each column of data.
@Michael Angeles: The indexing syntax is the same for a cell array. You'd be dealing with an n-by-1 cell array rather than an n-by-1 column vector each time through the for loop.
Michael Angeles
Michael Angeles am 1 Feb. 2022
Thank you for your help, I was able to get the program running.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Community Treasure Hunt

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

Start Hunting!

Translated by