标题:MATLAB编程中while abs(norm(x)-normX)/normX>1e-6使用意思
只看楼主
wofengying
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2010-4-12
结帖率:0
已结贴  问题点数:0 回复次数:4 
MATLAB编程中while abs(norm(x)-normX)/normX>1e-6使用意思
>>muX=[22;10;2];sigmaX=[2;0.9;0.6];
>> sLn=sqrt(log(1+(sigmaX(1)/muX(1))^2));mLn=log(muX(1))-sLn^2/2;
>> aEv=sqrt(6)*sigmaX(3)/pi;uEv=-psi(1)*aEv-muX(3);
>> muX1=muX;sigmaX1=sigmaX;%x1:equivalent normalized variable
>> x=muX;normX=eps;
>> while abs(norm(x)-normX)/normX>1e-6
                normX=norm(x);
                gX=[-1;-1;-1];
                cdfX=[logncdf(x(1),mLn,sLn);1-evcdf(-x(3),uEv,aEv)];
                pdfX=[lognpdf(x(1),mLn,sLn);evpdf(-x(3),uEv,aEv)];
                nc=norminv(cdfX);
                sigmaX1(1:2:3)=normpdf(nc)./pdfX;
                muX1(1:2:3)=[x(1:2:3)-nc.*sigmaX(1:2:3)];
                gs=gX.*sigmaX1;alphaX=-gs/norm(gs);
                bbeta=(g+gX'*(muX1-x))/norm(gs)
                x=muX1+bbeta*sigmaX1.*alphaX;
         end
在该程序中abs(norm(x)-normX)/normX>1e-6用意是什么?
normX与norm(x)的区别?
 muX1=muX; x=muX;为什么要这样赋值,不可直接用muX吗?
如果可以的话请高手帮我对程序进行一下注解,本人刚学MATLAB,请高手们多多海涵。
搜索更多相关主题的帖子: MATLAB norm abs 
2010-04-12 20:15
misswang
Rank: 8Rank: 8
来 自:湖北荆州
等 级:贵宾
威 望:15
帖 子:265
专家分:720
注 册:2010-3-11
得分:5 
大哥,你贴错位置了吧,这个不是的吧

misswp2010@
wangping103@
2010-04-12 22:28
wofengying
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2010-4-12
得分:0 
不好意思,弄错了
2010-04-13 21:37
czyzhuo
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:17
帖 子:230
专家分:1459
注 册:2010-3-11
得分:5 
呵呵。。。
2010-04-19 10:46
funny119
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2011-8-14
得分:0 
楼主,加我,我们应该是一个方向的,你这个程序我也正在看,qq:1060729487
2011-08-14 15:13



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-302707-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.192222 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved