Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 其它 > 资料存档
资料存档 资料存档
 
 
主题工具 显示模式
旧 2019-12-10, 20:48   #1
poster
高级会员
 
注册日期: 2019-11-21
帖子: 3,006
声望力: 66
poster 正向着好的方向发展
帖子 给定概率在MATLAB中计算协方差矩阵

在我的MATLAB程序中,我在矩阵中给出了m维变量X的出现,如下所示:

X = [x_11 x_12 ... x_1m; x_21 x_22 ... x_2m; . . . x_n1 x_n2 ... x_nm;] 其中每个都是X的情况。

每种情况的概率由下式给出:

pX = [p_x1 p_x2 ... p_xn]; 我正在寻找一种简单的方法来计算X的协方差矩阵(该矩阵显示X的尺寸如何相互关联)。

我希望有一种简单的方法可以在MATLAB中进行计算,就像X的期望值由以下公式计算:

EX = pX * X; 编辑:

X是一个随机变量,具有由X矩阵指定的离散出现。 pX显示每次出现的概率。



回答:

EX = px*X; nmeas = size(X,1); XB = X - repmat(EX,nmeas,1); PD = zeros(nmeas, nmeas); PD(logical(eye(size(PD)))) = px; % thanks http://stackoverflow.com/questions/3...n-the-diagonal CX = XB'*PD*XB; PDij是获得测量值xi和xj的联合概率,如果j = i,则为pXj,否则为0。

所以
CX1,1 = pX1 * xB11 ^ 2 + px2 * XB21 ^ 2 + ...

CX2,1 = CX1,2 = px1 * xB11 * xB12 + px2 * XB21 * XB22 + ...

这就是协方差的定义。



更多&回答...
poster 当前离线   回复时引用此帖
 


发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛禁用 表情符号
论坛启用 [IMG] 代码
论坛启用 HTML 代码



所有时间均为北京时间。现在的时间是 06:52


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.