在Matlab中求矩阵的均值

在Matlab中求矩阵的均值,matlab,Matlab,我试图得到一个spectrogram的平均值,为此我使用: X = spectogram(x,hamming(512),128,3000:4000,96e3,'yaxis'); 其中x是我的数据。get的结果是1001x3749复数双精度,我想计算整个矩阵的平均值或平均值,我试图: mean(X(:,:),2); mean(X) mean2(X); 它不能给我我想要的是一个代表平均值的值,比如: 为了 答案是1 知道我该怎么做吗 做一个列向量,得到平均值-平均值(X(:)如果它是2D,我认为

我试图得到一个spectrogram的平均值,为此我使用:

X = spectogram(x,hamming(512),128,3000:4000,96e3,'yaxis');
其中
x
是我的数据。get的结果是1001x3749复数双精度,我想计算整个矩阵的平均值或平均值,我试图:

mean(X(:,:),2);
mean(X)
mean2(X);
它不能给我我想要的是一个代表平均值的值,比如:

为了

答案是1


知道我该怎么做吗

做一个列向量,得到平均值-
平均值(X(:)
如果它是2D,我认为
mean2
也能工作。那个Divakar,如果你把它作为答案,我会接受它只是好奇是
X
2D?X是不是1001x3749复杂双精度?我不知道你想要什么。有两种计算平均值的方法,使用平均值2次,首先得到每列的平均值,然后得到所有平均值的平均值(或通过调用平均值(X,2)来按行计算):或者简单地将其重塑为一个向量,就像divakar所做的那样。结果不一样。但是,如果测试数据存储为每个测试的一列,那么第一种方法是最好的,如果所有数据都是按顺序存储的,那么第二种方法是最好的(当然你知道)。然而,mean2给出的结果似乎与divakars方法得出的结果完全相同
平均值(A(:)-mean2(A),ans=0
。所以我想知道的是,你到底想说什么?@Divakar谢谢它的工作原理,是的,它的二维复杂双精度
A = [1 1 1 , 1 1 1 ,1 1 1 ];