Matlab求方差,均值,均方差,协方差的函数
2016-01-02 15:04
941 查看
1、 均值
数学定义:
Matlab函数:mean
>>X=[1,2,3]
>>mean(X)=2
如果X是一个矩阵,则其均值是一个向量组。mean(X,1)为列向量的均值,mean(X,2)为行向量的均值。
>>X=[1 2 3
4 5 6]
>>mean(X,1)=[2.5, 3.5, 4.5]
>>mean(X,2)=[2
5]
若要求整个矩阵的均值,则为mean(mean(X))。
>>mean(mean(X))=3.5
也可使用mean2函数:
>>mean2(X)=3.5
median,求一组数据的中值,用法与mean相同。
>>X=[1,2,9]
>>mean(X)=4
>>median(X)=2
2、 方差
数学定义:
均方差:
Matlab 函数:var
要注意的是var函数所采用公式中,分母不是 ,而是 。这是因为var函数实际上求的并不是方差,而是误差理论中“有限次测量数据的标准偏差的估计值”。
>>X=[1,2,3,4]
>>var(X)=1.6667
>> sum((X(1,:)-mean(X)).^2)/length(X)=1.2500
>> sum((X(1,:)-mean(X)).^2)/(length(X)-1)=1.6667
var没有求矩阵的方差功能,可使用std先求均方差,再平方得到方差。
std,均方差,std(X,0,1)求列向量方差,std(X,0,2)求行向量方差。
>>X=[1 2
3 4]
>>std(X,0,1)=1.4142 1.4142
>>std(X,0,2)=0.7071
0.7071
若要求整个矩阵所有元素的均方差,则要使用std2函数:
>>std2(X)=1.2910
4、协方差矩阵
A=[61.45,55.9,61.95,59,58.14,53.61,55.48,54.21,61.52,54.92];
B=[40.36,39.8,49.2,48,51.5,49.39,51.13,58.06,61,62.35];
C=[8.61,8.91,10.43,13.32,13.48,15.75,18.14,19.95,21.95,23.53];
D=[14.31,14.72,15.28,15.91,14.67,15,15.86,15.16,13.72,12.94];
E=[7.67,7.75,8.15,9.24,10.68,10.58,10.31,10,8.91,8.51];
>> q=[A',B',C',D',E'];
>> w=cov(q)
w =
10.3710 -4.7446 -6.6023 -0.1873 -1.8881
-4.7446 59.1503 38.7606 -3.0743 3.0982
-6.6023 38.7606 28.6966 -2.0199 2.4166
-0.1873 -3.0743 -2.0199 0.8474 0.3936
-1.8881 3.0982 2.4166 0.3936 1.3412
数学定义:
Matlab函数:mean
>>X=[1,2,3]
>>mean(X)=2
如果X是一个矩阵,则其均值是一个向量组。mean(X,1)为列向量的均值,mean(X,2)为行向量的均值。
>>X=[1 2 3
4 5 6]
>>mean(X,1)=[2.5, 3.5, 4.5]
>>mean(X,2)=[2
5]
若要求整个矩阵的均值,则为mean(mean(X))。
>>mean(mean(X))=3.5
也可使用mean2函数:
>>mean2(X)=3.5
median,求一组数据的中值,用法与mean相同。
>>X=[1,2,9]
>>mean(X)=4
>>median(X)=2
2、 方差
数学定义:
均方差:
Matlab 函数:var
要注意的是var函数所采用公式中,分母不是 ,而是 。这是因为var函数实际上求的并不是方差,而是误差理论中“有限次测量数据的标准偏差的估计值”。
>>X=[1,2,3,4]
>>var(X)=1.6667
>> sum((X(1,:)-mean(X)).^2)/length(X)=1.2500
>> sum((X(1,:)-mean(X)).^2)/(length(X)-1)=1.6667
var没有求矩阵的方差功能,可使用std先求均方差,再平方得到方差。
std,均方差,std(X,0,1)求列向量方差,std(X,0,2)求行向量方差。
>>X=[1 2
3 4]
>>std(X,0,1)=1.4142 1.4142
>>std(X,0,2)=0.7071
0.7071
若要求整个矩阵所有元素的均方差,则要使用std2函数:
>>std2(X)=1.2910
4、协方差矩阵
A=[61.45,55.9,61.95,59,58.14,53.61,55.48,54.21,61.52,54.92];
B=[40.36,39.8,49.2,48,51.5,49.39,51.13,58.06,61,62.35];
C=[8.61,8.91,10.43,13.32,13.48,15.75,18.14,19.95,21.95,23.53];
D=[14.31,14.72,15.28,15.91,14.67,15,15.86,15.16,13.72,12.94];
E=[7.67,7.75,8.15,9.24,10.68,10.58,10.31,10,8.91,8.51];
>> q=[A',B',C',D',E'];
>> w=cov(q)
w =
10.3710 -4.7446 -6.6023 -0.1873 -1.8881
-4.7446 59.1503 38.7606 -3.0743 3.0982
-6.6023 38.7606 28.6966 -2.0199 2.4166
-0.1873 -3.0743 -2.0199 0.8474 0.3936
-1.8881 3.0982 2.4166 0.3936 1.3412
相关文章推荐
- 解析在main函数之前调用函数以及对设计的作用详解
- java和matlab画多边形闭合折线图示例讲解
- C#调用Matlab生成的dll方法的详细说明
- 从java中调用matlab详细介绍
- 稀疏自动编码器 (Sparse Autoencoder)
- VC++与Matlab混合编程的快速实现
- Matlab 矩阵运算
- matlab与opencv部分函数的对照
- matlab神经网络工具箱创建神经网络
- Matlab
- MATLAB 入门教程
- matlab函数_连通区域
- MATLAB中函数模式和命令模式的区别
- MATLAB 添加自定义的模块到simulink库浏览器
- MATLAB for Mac使编辑器支持中文
- [转]matlab中plot用法
- 初学数模-MATLAB Quick Start! Part I
- 初学数模-MATLAB Quick Start! Part II
- matlab程序优化以及eclipse与github的结合
- matlab中的rand函数(用于产生随机数)