how to average a vector of arrays in Matlab
1 view (last 30 days)
Show older comments
Hello,
im new to matlab and I'd like to average a vector of arrays in matlab?
i have a vector of size (1,72) each column has an array of size(22,22)
i wanna avgerge the vector to get a desired output of (22,22)
i have tried this piece of code
for i= 1:72
wholeMean1{1} = mean(indexes_every.PLV.data {1,i}, 1); %% the output (1,22)
wholeMean2{1} = mean(indexes_every.PLV.data {1,i}, 2); %% the output (22,1)
wholeMean3{1} = mean(indexes_every.PLV.data {1,i}, 3); %% the output (22,22) ##
end
i just want to verfiy my result.
am i doing it correctly ?
thx in advanced
0 Comments
Answers (2)
Image Analyst
on 27 Jun 2022
One simple intuitive way is to just add up all the arrays and divide by the number of the arrays
numArrays = numel(indexes_every.PLV.data)
sumMatrix = zeros(22, 22);
for k = 1 : numArrays
sumMatrix = sumMatrix + indexes_every.PLV.data{k};
end
meanMatrix = sumMatrix / numArrays
0 Comments
Steven Lord
on 27 Jun 2022
Concatenate them in the third dimension then call mean with the dimension input.
M = magic(4)
E = eye(4)
N = ones(4)
C = {M, E, N}
A = cat(3, C{:})
mean(A, 3)
0 Comments
See Also
Categories
Find more on Logical in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!