Averaging elements for a cell within a cell array
2 次查看(过去 30 天)
显示 更早的评论
I have a 200×1 cell array where each element is {130×1 double}. How do I take the mean of every element in each cell-within-the-cell? The first element, second element, and so on? So that I have a vector that is 130 x 1 of all the averages?
0 个评论
采纳的回答
更多回答(2 个)
Aiswarya
2022-7-11
In order to apply a function on each cell of a cell array, you can use the function cellfun(). Refer to the below documentation on how to use it:
For your question of taking mean of each element in the cell array you can use the code snippet below:
A = cellfun(@mean,C) % C is your cell array and A is the resultant array
Hrusheekesh
2022-7-11
where c is your cell.
clc
c={[1,2,3];[2,3,40];[34,21,35];[2,7,5];[33 67 89]};
p=[];
n=size(c{1});
m=size(c);
for i=1:n(2)
sum=0;
for j=1:m(1)
arr=c{j};
sum=sum+arr(i);
end
p=[p sum/m(1)];
end
p
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Cell Arrays 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!