You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Matlab中计算元胞内3D矩阵的均值?

解决Matlab中1×12元胞内3D矩阵的均值计算问题

方法一:正确构建4D矩阵后计算均值

你之前构建4D矩阵失败的核心原因是赋值方式错误——不能直接将3D矩阵赋值给fourdmatrix(i),需要把每个3D矩阵作为4D矩阵的第4维切片来处理。具体实现步骤:

  1. 先获取单个3D矩阵的维度(需确保所有元胞内矩阵维度完全一致):
[m, n, p] = size(cell{1});
  1. 初始化匹配维度的4D零矩阵:
fourdmatrix = zeros(m, n, p, 12);
  1. 循环将元胞内的3D矩阵赋值到4D矩阵的对应切片:
for i = 1:12
    fourdmatrix(:,:,:,i) = cell{i};
end
  1. 沿第4维计算均值,得到与原3D矩阵维度一致的结果:
mean_matrix = mean(fourdmatrix, 4);

方法二:直接累加计算均值(节省内存)

如果3D矩阵体积较大,构建4D矩阵会占用过多内存,可直接通过累加后求平均:

  1. 初始化均值矩阵为第一个元胞的3D矩阵:
mean_matrix = cell{1};
  1. 循环累加剩余的11个矩阵:
for i = 2:12
    mean_matrix = mean_matrix + cell{i};
end
  1. 最后除以矩阵总数得到均值:
mean_matrix = mean_matrix / 12;

简化写法

还可以用cat函数直接拼接4D矩阵,省去循环赋值步骤:

fourdmatrix = cat(4, cell{:});
mean_matrix = mean(fourdmatrix, 4);

注意事项

必须保证元胞内所有3D矩阵的维度完全相同(行数、列数、第三维长度均一致),否则上述方法都会报错。

内容的提问来源于stack exchange,提问作者LearningAlgorithm

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 12:24:53