1

这是我的数据集:

压力(时间,案例,x,y)

>> size(pressure)
ans =
   100     1    289   570

如何在每个时间步中获得 x 从 30 到 60 和 y 从 40 到 70 的空间纳米压力?

例如:从时间 1 到时间 100 的每个时间步长的特定区域的 nanmean 值。

我试过这个,“spatial_mean_pressure = nanmean(pressure(:,:,30:60,40:70))”它平均了时间序列中的压力。这不是我想要的结果。

>> size(spatial_mean_pressure)
ans =
1     1    31    31

我喜欢得到这样的结果:

>> size(spatial_mean_pressure)    
ans =
100     1    1    1
4

1 回答 1

2

您正试图获得整个矩阵块的平均值。因此,您应该申请nanmean两次而不是一次。此外,沿特定维度应用它以获得所需的结果。我想这就是你想要的。

x=randi(10,[100 1 10 25]);

首先取第三维的平均值。

mean_x_3=nanmean(x,3);

你会得到 size = 的答案[100 1 1 25]。然后沿第四维取平均值。

mean_x_4=nanmean(mean_x_3,4);

这应该会给你想要的答案。您可以将其写在一行中,

mean_x = nanmean(nanmean(x,3),4);
于 2013-10-02T03:25:50.517 回答