matlab lognpdf用法,求助大神

博客内容涉及矩阵计算中出现的错误,具体为在计算协方差矩阵时内部矩阵维度不一致导致的错误。作者尝试通过将乘法操作符`*`替换为`.`来解决,但问题依然存在。文章寻求对矩阵运算熟悉的大神帮助,找出并修复错误。
摘要由CSDN通过智能技术生成

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

muX=[20;10];cvX=[0.25;0.2];

rhoX=[1,0.5;0.5,1];sigmaX=cvX.*muX;

aEv=sqrt(6)*sigmaX(1)/pi;uEv=-psi(1)*aEv-muX(1);

sLn=sqrt(log(1+(sigmaX(2)/muX(2))^2));mLn=log(muX(2))-sLn^2/2;

muX1=muX;sigmaX1=sigmaX;

s=rhoX(1,2);t=cvX(2);

r=1.029+0.001*s+0.004*s^2+0.014*t+0.233*t^2-0.197*s*t;

r12=r*rhoX(1,2);rhoX1=[1,r12,r12,1];

x=muX;normX=eps;

while abs(norm(x)-normX)/normX > 1e-6

normX=norm(x);

g=x(2)^2-2*x(1);

gX=[-2;2*x(2)];

cdfX=[1-evcdf(-x(1),uEv,aEv);logncdf(x(2),mLn,sLn)];

pdfX=[evpdf(-x(1),uEv,aEv);lognpdf(x(2),mLn,sLn)];

nc=norminv(cdfX);

sigmaX1=normpdf(nc)./pdfX;

muX1=x-nc.*sigmaX1;

covX=diag(sigmaX1)*rhoX1*diag(sigmaX1);

[a,d]=eig(covX);

muY=a'*muX1;sigmaY=sqrt(diag(d));

y=a'*x;

gY=a'*gX;gs=gY.*sigmaY;

alphaY=-gs/norm(gs);

bbeta=(g+gY'*(muY-y))/norm(gY.*sigmaY)

y=muY+bbeta*sigmaY.*alphaY;

x=a*y;

end

错误使用 *

内部矩阵维度必须一致。

出错 Untitled (line 20)

covX=diag(sigmaX1)*rhoX1*diag(sigmaX1);

把*改成.*还是说错误

有没有大神看看哪的错

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值