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,

 採用された回答

Voss
Voss 2022 年 2 月 1 日

0 投票

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 件のコメント

Arif Hoq
Arif Hoq 2022 年 2 月 1 日
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 2022 年 2 月 1 日
Thank you, I forgot to state that the data are in cells array.
Voss
Voss 2022 年 2 月 1 日
@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 2022 年 2 月 1 日
Thank you for your help, I was able to get the program running.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeMatrix Indexing についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by