利用matlab进行协方差运算

本文全部参考自:

http://www.cnblogs.com/welen/articles/5535042.html#undefined

知识点一:

MATLAB中四个取整函数具体使用方法如下:
Matlab取整函数有: fix, floor, ceil, round.
fix
零方向取整,如fix(-1.3)=-1; fix(1.3)=1;


floor
负无穷方向取整,如floor(-1.3)=-2; floor(1.3)=1;


ceil
正无穷方向取整,如ceil(-1.3)=-1; ceil(1.3)=2;


round
四舍五入到最近的整数,如round(-1.3)=-1;round(-1.52)=-2;round(1.3)=1;round(1.52)=2。

 

知识点二:

matlab std函数是用来计算标准偏差的一个函数

std(A)函数求解的是最常见的标准差,此时除以的是N-1。

注意:此函数命令不能对矩阵求整体的标准差,只能按照行或者列进行逐个求解标准差,默认情况下是按照列。

在MATLAB主窗口中输入std(A) 回车,结果如下:

输出的是每一列的标准差。

std(A,flag):

这里flag代表的是用哪一个标准差函数,如果取0,则代表除以N-1,如果是1代表的是除以N。

 

 知识点三:

协方差公式:

例子:

clc;
clear;
mySample = fix(rand(10,3)*100);
dim1 = mySample(:,1);  %所有样本的同一维度
dim2 = mySample(:,2);
dim3 = mySample(:,3);

%计算dim1与dim2,dim1与dim3,dim2与dim3之间的协方差
%参考协方差公式
conv12 =sum( (dim1-mean(dim1)).*(dim2-mean(dim2)) ) /( size(mySample,1)-1 );
conv13 =sum( (dim1-mean(dim1)).*(dim3-mean(dim3)) ) /( size(mySample,1)-1 );
conv23 =sum( (dim2-mean(dim2)).*(dim3-mean(dim3)) ) /( size(mySample,1)-1 );

%计算各个维度的方差
var1 = std(dim1)^2
var2 = std(dim2)^2
var3 = std(dim3)^2

%----------------------------------
%使用标准函数cov进行验证
cov(mySample)

测试结果:

使用Matlab的cov函数直接计算样本的协方差矩阵计算的结果,和之前的数据填入矩阵后的结果完全相同。

转载于:https://www.cnblogs.com/shuqingstudy/p/5840542.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值