查看单个帖子
旧 2019-12-10, 20:48   #1
poster
高级会员
 
注册日期: 2019-11-21
帖子: 3,006
声望力: 66
poster 正向着好的方向发展
帖子 我必须使用什么函数或循环对矩阵求平均?

我想找到所有矩阵的平均值:

Data =(Data {1} + ...... + Data {n})/ n),其中Data {n}是m * n的矩阵。

太谢谢你了



回答:

首先,将单元阵列转换为3D阵列,然后可以取平均值,如下所示:

tmp = cat(3,Data{:}); %# catenates the data, so that it becomes am*n*z (or m*1*n) averageData = mean(tmp,3); %# takes average along 3rd dimension 注意:如果您通过这种方式遇到内存问题,并且不需要保留变量Data ,则可以将tmp替换为Data然后一切正常。

或者,如果Data只是am * n数字数组

averageData = mean(Data,2);

更多&回答...
poster 当前离线   回复时引用此帖