[已解决] 对多维数组除开某一维求平均

[复制链接]
matlab_976 发表于 2022-1-14 11:25:34
假设A是长*宽*高,即x*y*z的三维数组,我想对某一高上求平面上所有点的平均
我目前的方法是多次求平均
B= squeeze(nanmean(nanmean(A,1),2));

请问有什么直接办法可以对多维数组除开某一维求平均吗?



最佳答案


WarnerChang 发表于 2022-1-14 11:43:09
nanmean(A,[1 2])
回复此楼

7 条回复


WarnerChang 发表于 2022-1-14 11:43:09
nanmean(A,[1 2])
回复此楼

matlab_976 发表于 2022-1-14 13:25:14

呃,好像不可以呀,提示 :
错误使用 sum
维度参数必须是处于索引范围内的正整数标量。

出错 nanmean (line 28)
    n = sum(~nans,dim);

WarnerChang 发表于 2022-1-14 13:29:26
matlab_976 发表于 2022-1-14 13:25
呃,好像不可以呀,提示 :
错误使用 sum
维度参数必须是处于索引范围内的正整数标量。

不可以你选择最佳答案干啥?

是你的sum函数使用错误吧

不是这个方法错误吧

matlab_976 发表于 2022-1-14 14:20:00
WarnerChang 发表于 2022-1-14 13:29
不可以你选择最佳答案干啥?

是你的sum函数使用错误吧

。。。因为我觉得这应该是很简单的问题就直接选择了。。。
我就用的nanmean呀,就您这个方法,nanmean调用的sum

matlab_976 发表于 2022-1-14 14:23:20
无法使用这个方法
111.png

WarnerChang 发表于 2022-1-14 18:31:23
matlab_976 发表于 2022-1-14 14:23
无法使用这个方法

我这运行没有问题

你先退出调试呢!

matlab_976 发表于 6 天前
WarnerChang 发表于 2022-1-14 18:31
我这运行没有问题

你先退出调试呢!

谢谢谢谢,可能是matlab版本问题,换了一个版本可以了,不能用的版本是2016b
您需要登录后才可以回帖 登录 | 注册

本版积分规则

相关帖子
相关文章
热门教程
站长推荐
快速回复 返回顶部 返回列表