如何在MATLAB中计算多个矩阵的标准误差?

时间:2017-12-12 19:51:52

标签: matlab matrix multidimensional-array mean standard-error

我想计算连接成一个的多个矩阵的标准误差:

cd C:\User\Aisk_000\Desktop\A\NC\Subjects\2014A\
A = dlmread('weights.txt');
cd ../3169A
B = dlmread('weights.txt');
cd ../3350A
C = dlmread('weights.txt');
cd ../3607A
D = dlmread('weights.txt');
cd ../4073A
E = dlmread('weights.txt');


%concatenate
x = cat(5,A,B,C,D,E)
y = mean(x,5)       %calculate the average
z = std( x ) / sqrt( length( x ))   %Calculate standard error

z的输出为5-D double,与x的输出相同。但是,我意识到系统计算了每个矩阵的标准误差而不是整个级联矩阵。我知道它与数字" 5"有关,但我不确定将它放在z的代码中的哪个位置。

1 个答案:

答案 0 :(得分:1)

cat的第一个参数不是你连接的矩阵的数量,它是你想要连接它们的维度。由于你的矩阵都是2-D 16×16矩阵,因此将它们沿第三维连接起来是有意义的,将它们堆叠成3-D矩阵。

x = cat(3, A, B, C, D, E);

然后,您可以使用meanstd,指定3作为执行计算的维度:

y = mean(x, 3);                      % Mean along dimension 3
z = std(x, 0, 3)./sqrt(size(x, 3));  % Standard error along dimension 3