mean of cells in loop with different dimensions

1 回表示 (過去 30 日間)
Nooshin Mahmoodi
Nooshin Mahmoodi 2018 年 10 月 20 日
コメント済み: Image Analyst 2018 年 10 月 20 日
I have a loop, and creat B{i,1} on it. now I need to calculate the mean of each cell.i used meanOfCities(i)= mean(cell2mat(B(i,1))) ; it workes just for 4 loop, and then this error : Index exceeds matrix dimensions. will occure.

採用された回答

Image Analyst
Image Analyst 2018 年 10 月 20 日
Inside the loop, right after you assigned B{i, 1} take the mean and assign that to a vector:
cellContents = B{i, 1}; % A vector, matrix, or higher dimensional array - whatever it is...
theMeans(i) = mean(cellContents(:));
Now, after your loop, theMeans will be the mean of every cell that you've assigned.
  2 件のコメント
Nooshin Mahmoodi
Nooshin Mahmoodi 2018 年 10 月 20 日
編集済み: Nooshin Mahmoodi 2018 年 10 月 20 日
I need the loop, I have different i=1:9. how it workes without the loop? there is just one loop that I make B{i, 1} on it and then get mean
Image Analyst
Image Analyst 2018 年 10 月 20 日
Without the loop, it really depends on what is in the cells. If all the cells contain the same size matrix you might be able to just use cell2mat() and then use mean().

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

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeLoops and Conditional Statements についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by