如何用Matlab分别求n个同型矩阵的均值

有n个同型矩阵,将其分别命名为Q1,Q2...,Qn
后,要怎样用Matlab实现分别求他们的均值,一个一
个算计算量太大了,如何嵌套循环来实现

该回答引用ChatGPT
该代码将所有矩阵存储在一个元胞数组中,并使用一个for循环遍历所有矩阵并累加它们。最后,将累加结果除以矩阵数量即可得到所有矩阵的均值。

% 假设有3个大小相同的矩阵,分别为Q1、Q2、Q3
Q1 = [1 2; 3 4];
Q2 = [5 6; 7 8];
Q3 = [9 10; 11 12];

% 将所有矩阵存储在一个元胞数组中
Q = {Q1, Q2, Q3};

% 初始化累加器
sumQ = zeros(size(Q1));

% 遍历所有矩阵并累加
for i = 1:length(Q)
    sumQ = sumQ + Q{i};
end

% 求所有矩阵的均值
meanQ = sumQ / length(Q);

% 输出结果
disp('所有矩阵的均值为:')
disp(meanQ)


借用楼上ChatGPT的例子。

% 假设有3个大小相同的矩阵,分别为Q1、Q2、Q3

Q1 = [1 2; 3 4];
Q2 = [5 6; 7 8];
Q3 = [9 10; 11 12];

% 将所有矩阵存储在一个元胞数组中
Q = {Q1, Q2, Q3};

meanVal=cellfun(@(x) mean(x,'all'),Q, 'Unif',0)

如果Q1到Qn存在workspace中可以使用代码将其保存为Cell,之后用cellfun计算每个矩阵的平均。

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^