MATLAB计算每一行的标准差。

A = [6 4 23 -3; 9 -10 4 11; 2 8 -5 1];
S = std(A,0,2)
std(A,0,2)是怎么运算的?该怎么理解?

S = std(A, w, dim) 沿维度 dim 返回标准差。要维持默认归一化并指定操作的维度,请在第二个参数中设置 w = 0

 

A - 输入数组

w - 权重  0 - 按 N-1 实现归一化,其中 N 是观测值的数量。

dim - 运算维度 如果 dim = 2,则 std(A,0,2) 返回包含每一行中元素的标准差的列向量。

 

一组 6 4 23 -3;
二组 9 -10 4 11;
三组 2 8 -5 1

 

以第一组为例:

u = (6+4+23-3)/4= 7.5

S1 = √{ [(6-7.5)^2 + (4-7.5)^2 + (23-7.5)^2 + (-3-7.5)^2] /(4-1) } =  11.0303

同理 S2 = 9.4692, S3 = 5.3229

即 

S = 3×1

   11.0303
    9.4692
    5.3229

官方文档:https://ww2.mathworks.cn/help/matlab/ref/std.html?