Std

返回矩阵/向量元素或沿给定轴的元素值的标准偏差。

double vector::Std();
 
double vector::Std(
  const int  ddof      // delta 自由度
);
 
double matrix::Std();
 
vector matrix::Std(
  const int  axis      // 轴
);
 
vector matrix::Std(
  const int  axis,     // 轴
  const int  ddof      // delta 自由度
);

参数

axis

[in]  轴。0 ― 水平轴, 1 ― 垂直轴。

ddof

[in] “delta 自由度”:计算中使用的除数是 N-ddof,其中 N 表示元素的数量。默认情况下,ddof 为零。

返回值

标准偏差:标量或向量。

请注意

标准偏差是平均值平方偏差的平均值的平方根,即std = sqrt(mean(x)), 其中 x = abs(a - a.mean())**2.

平均平方偏差通常计算为 x.sum() / (N-ddof),其中 N=len(x)。

ddof = 0 的表达式有时被称为“总体标准偏差”。如果 ddof > 0(最常用的是1),则所得量有时称为“样本标准偏差”。

示例

   matrixf matrix_a={{10,3,2},{1,8,12},{6,5,4},{7,11,9}};
   Print("matrix_a\n",matrix_a);
 
   vectorf cols_std=matrix_a.Std(0);
   vectorf rows_std=matrix_a.Std(1);
   float matrix_std=matrix_a.Std();
 
   Print("cols_std ",cols_std);
   Print("rows_std ",rows_std);
   Print("std value  ",matrix_std);
 
 
   /*
   matrix_a
   [[10,3,2]
    [1,8,12]
    [6,5,4]
    [7,11,9]]
   cols_std [3.2403703,3.0310888,3.9607449]
   rows_std [3.5590262,4.5460606,0.81649661,1.6329932]
   std value  3.452052593231201
   */