Finding an average matrix from each matrix in an array

2 次查看(过去 30 天)
I have an array of matrices, each with the same dimensions, I am looking to get one matrix which has the average value of all the matrices at each point, any advice on how to do this?
  1 个评论
Joseph Cheng
Joseph Cheng 2021-7-13
i think the matlab coding help would depend on how you've arranged your array of matrices. but over all if you have matrix of N dimensions and you want the index average across the different matrices; the simplest would be to just add all these together to a single N dimensioned matrix and divide that by total number of matrices.

请先登录,再进行评论。

采纳的回答

Image Analyst
Image Analyst 2021-7-13
averageMatrix = (matrix1 + matrix2 + matrix3) / 3;
  4 个评论
Roisin Coveney
Roisin Coveney 2021-7-14
Thank you! My data isn't in a cell array it is in a structural array, when I use that code the following message comes up
Brace indexing is not supported for variables of this type.

请先登录,再进行评论。

更多回答(1 个)

Jan
Jan 2021-7-13
编辑:Jan 2021-7-13
Which kind of array contains the matrices? A cell array, a numerical 3D array, a struct array? The solution depends on this detail.
A = {rand(4), rand(4), rand(4)}; % Cell array
meanA = sum(cat(3, A{:}), 3);
B = rand(3, 4, 4); % 3 4x4 matrices in numerical 3D array
meanB = reshape(sum(B, 1), 4, 4);
C(1).data = rand(4); % Struct array
C(2).data = rand(4);
C(3).data = rand(4);
meanC = sum(cat(3, C.data), 3)

类别

Help CenterFile Exchange 中查找有关 Logical 的更多信息

产品


版本

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by