24小时热门版块排行榜    

查看: 290  |  回复: 2
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

xmszkx

铁虫 (著名写手)

[求助] 结构可靠度分析中极值Ⅰ型分布总是出现错误提示已有1人参与

clear;clc;
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;   
x =muX;normX = eps;         
while abs(norm(x)-normX)/normX > 1e-6
    normX=norm(x);
    g = x(1)-x(2)-x(3);
    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.*sigmaX1(1:2:3)];
    gs = gX.*sigmaX1;
    alphaX = -gs./norm(gs);
    bbeta = (g+gX'*(muX1-x))/norm(gs);
    x =muX1+bbeta*sigmaX1.*alphaX;
   end
程序运算总是出现
??? Undefined function or variable 'evcdf'.
什么原因
我是照着张明编写的结构可靠度分析--方法与程序  中照写的
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xmszkx

铁虫 (著名写手)

引用回帖:
2楼: Originally posted by liaobudenan at 2014-10-21 21:53:08
在matlab2010上运行正常,没有出现你说的提示,估计是你的matlab版本不支持evcdf

我用的是6.5的估计版本低的问题,我换个高版本的试试,谢谢你,非常感谢
3楼2014-10-22 19:20:53
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 3 个回答

liaobudenan

木虫 (初入文坛)

【答案】应助回帖

感谢参与,应助指数 +1
在matlab2010上运行正常,没有出现你说的提示,估计是你的matlab版本不支持evcdf
2楼2014-10-21 21:53:08
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见