| 查看: 593 | 回复: 0 | |||
[求助]
相面法遇到的一个问题
|
|
请问大神,响应面法的一个小算例出现下面的错误是因为哪方面?本人菜鸟,一直没有查出来,谢谢。 错误使用 * 内部矩阵维度必须一致。 clear;clc; muX=[20;14];sigmaX=[4;1.4]; aev=sqrt(6)*sigmaX(2)/pi; uev=-psi(1)*aev-muX(2); x=muX;normX=eps; n=length(muX);f=3; d=diag(f*sigmaX); gM=x(1)-x(2); while abs(norm(x)-normX)/normX>1e-6 normX=norm(x); a1=x'; a2=a1.*a1; a3=repmat(a1,n,1); a3=a3-d; a4=a3.*a3; a5=a3+2*d; a6=a5.*a5; a=[ones(2*n+1,1),[a1,a2;a3,a4;a5,a6]]; gv=a(:,2)-a(:,3); lambda=a\gv; x=muX;normX1=eps; while abs(norm(x)-normX1)/normX1>1e-6 normX1=norm(x); g=lambda'*[1;x;x.*x]; gX=lambda(2:n+1)+2*lambda(n+2:2*n+1).*x; cdfX=1-evcdf(-x(2),uev,aev); pdfX=evpdf(-x(2),uev,aev); nc=norminv(cdfX); sigmaX1(2)=normpdf(nc)./pdfX; muX1(2)=x(2)-nc*sigmaX1(2); gs=gX.*sigmaX1;alphaX=-gs/norm(gs); bbeta=(g+gX'*(muX1-x))/norm(gs); x=muX1+bbeta*sigmaX1.*alphaX; end g=x(1)-x(2); x=muX+gM/(gM-g)*(x-muX); end |
» 猜你喜欢
售SCI一区文章,我:8 O5 51O 54,科目齐全,可+急
已经有6人回复
售SCI一区文章,我:8 O5 51O 54,科目齐全,可+急
已经有9人回复
售SCI一区文章,我:8 O5 51O 54,科目齐全,可+急
已经有8人回复
情人节自我反思:在爱情中有过遗憾吗?
已经有4人回复
球磨粉体时遇到了大的问题,请指教!
已经有12人回复
江汉大学解明教授课题组招博士研究生/博士后
已经有3人回复













回复此楼