MATLAB var()和std()函数的用法(附带实例)
在 MATLAB 中,计算样本方差的函数为 var(),其调用格式及说明如下表所示:
计算样本标准差的函数为 std(),其调用格式及说明如下表所示:
【实例】已知某批灯泡的寿命服从正态分布 N(µ,σ^2),今从中抽取 4 只进行寿命试验,测得数据(单位:h)为 1502, 1453, 1367, 1650。试估计参数 µ 和 σ。在 MATLAB 命令行窗口输入以下命令:
调用格式 | 说明 |
---|---|
V = var(A) | 如果 A 是向量,输出 A 中所有元素的样本方差;如果 A 是矩阵,输出 V 是行向量,其每一个元素是对应列的元素的样本方差,按观测值数量 -1 实现归一化 |
V = var(A,w) | w 是权重向量,其元素必须为正,长度与 A 匹配 |
V = var(A,w,dim) | 返回沿 dim 维度的方差 |
V = var(A,w,'all') | 当 w 为 0 或 1 时,计算 A 的所有元素的方差 |
V = var(A,w,vecdim) | 当 w 为 0 或 1 时,计算向量 vecdim 中指定维度的方差 |
V = var(...,'nanflag') | 指定在上述任意语法的计算中包括还是忽略 NaN 值 |
计算样本标准差的函数为 std(),其调用格式及说明如下表所示:
调用格式 | 说明 |
---|---|
S = std(A) | 按照样本方差的无偏估计计算样本标准差,如果 A 是向量,输出 S 是 A 中所有元素的样本标准差;如果 A 是矩阵,输出 S 是行向量,其每一个元素是对应列的元素的样本标准差 |
S = std(A,w) | 为上述语法指定一个权重方案。w = 0 时(默认值),S 按 N-1 进行归一化。当 w = 1 时,S 按观测值数量 N 进行归一化 |
S = std(A,w,'all') | 当 w 为 0 或 1 时,计算 A 的所有元素的标准差 |
S = std(A,w,dim) | 使用上述任意语法沿维度 dim 返回标准差 |
S = std(A,w,vecdim) | 当 w 为 0 或 1 时,计算 A 中向量 vecdim 指定维度的标准差 |
S = std(...,'nanflag') | 指定在上述任意语法的计算中包括还是忽略 NaN 值 |
【实例】已知某批灯泡的寿命服从正态分布 N(µ,σ^2),今从中抽取 4 只进行寿命试验,测得数据(单位:h)为 1502, 1453, 1367, 1650。试估计参数 µ 和 σ。在 MATLAB 命令行窗口输入以下命令:
>> close all % 关闭当前已打开的文件 >> clear % 清除工作区的变量 >> A=[1502,1453,1367,1650]; % 输入灯泡寿命的数据矩阵 >> miu=mean(A) % 计算寿命的均值 miu = 1493 >> sigma=var(A) % 计算方差 sigma = 1.4069e+04 >> sigma^0.5 % 计算标准差 ans = 118.6114 >> sigma2=std(A,1) % 使用函数计算标准差 sigma2 = 118.6114可以看出,两个估计参数分别为 1493 和 118.6114。