【发布时间】:2014-11-30 10:19:02
【问题描述】:
我有一个维度为 (122,169,137,16) 的 4D 数组,其中 122 是天,169 和 137 经纬度,16 是年份。 我必须找到每年 122 天的平均值。我试过这样的东西:
for i=1:122
for j=1:16
c=t1(i,:,:,j)
d=mean(c(:));
end
end
但它说索引超出矩阵维度。
我是 matlab 的新手。你能建议我简单的方法吗?
【问题讨论】:
-
检查均值的文档。如果我没记错的话,您可以将维度定义为第二个条目:
mean(c,1)Btw。你期望结果是什么?毕竟你有 4 个维度的含义,通过做平均你得到 3d 结果。你想要那个吗?如果是这样,mean(c)应该可以解决问题,因为它从第一个维度开始。否则您可能需要进一步解释您的问题 -
你不是说
finding mean for each of those 122 days for each year吗?似乎是这样,因为你有 -"t1(i,:,:,j)". -
感谢您的回复。我应该生成 16 个矩阵,我猜这将是 1 列矩阵,以便我可以绘制这些矩阵的 pdf。
-
@Vidhi 每个矩阵要多长时间?那是每个矩阵中有多少个元素?
标签: arrays matlab multidimensional-array mean