MATLAB std 函数求标准差。默认是样本标准差(除以 n-1),可切换为总体标准差。
语法
s = std(A)
s = std(A, flag) % flag=0 样本(默认),flag=1 总体
s = std(A, flag, dim) % dim=1 按列,dim=2 按行输入参数
| 参数 | 说明 |
|---|---|
A | 数值数组 |
flag | 0 样本标准差(默认),1 总体标准差 |
dim | 计算维度 |
输出
s:标准差;矩阵默认每列一个值。
示例
data = [78 92 85 63 88];
std(data)ans = 11.3870总体标准差:
std(data, 1)矩阵按行:
M = [1 2 3; 4 5 6];
std(M, 0, 2)ans =
1.0000
1.0000注意事项
- 与
var(方差)关系:std = sqrt(var); - 样本 vs 总体:std(data) 用 n-1,std(data,1) 用 n,n 很大时差别可忽略;
- NaN 会污染结果,配合
'omitnan'或先清洗。