概述
这个应该算是课堂作业了,利用当量正态法来求解以下问题,求管道的可靠性指标,管材承载能力R服从对数正态分布,环向应力服从正态分布,地面载荷服从极值I型分布。
Contents
JC METHOD
AUTHOR:DUBAOLEI@GMAIL.COMDATE:2014-04-02
functionexer()
%EXER Summary of this function goes here
% Detailedexplanation goes here
[original]
%Done
clc;
Rmu=309.2;CVr=0.17;Rdelta=52.6;
N1mu=53;CVn1=0.07;N1delta=3.7;
N2mu=70;CVn2=0.29;N2delta=20.3;
%the iteration number
i=1
%first step
i =
1
[the itertation]
while(i<6)
ifi==1
rstar=Rmu;
rmu2=Rmu;
n1star=N1mu;
n1mu2=N1mu;
n1delta2=N1delta;
n2star=N2mu;
n2mu2=N2mu;
n2delta2=N2delta;
Cvr=0.17
end
%R loop
rmu2=getRmu2(rstar,rmu2,Cvr)
rdelta2=getRdelta2(rstar,Cvr)
Cvr=rdelta2/rmu2
%N2 loop
[Fn2,fn2,n2mu2,n2delta2]=getN2(n2mu2,n2delta2,n2star)
%get the direction cos
[cosr cosn1cosn2]=gettheta(rdelta2,n1delta2,n2delta2)
%get the loop results
beta=getloopbeta(rmu2,n1mu2,n2mu2,rdelta2,n1delta2,n2delta2)
rstar=getloopRstar(rmu2,rdelta2,beta,cosr)
n1star=getloopN1star(n1mu2,n1delta2,beta,cosn1)
n2star=getloopN2star(n2mu2,n2delta2,beta,cosn2)
%show the result
disp('__________________________________________________________n')
%increse the loop variables
i=i+1
end
Cvr =
0.1700
end
[R tranfer] transfer R to gauss distribution
%DONE
functionRm=getRmu2(Rst,Rm,Cvr)
%H1 this function get the average number
Rm=Rst*(1+log(Rm/(sqrt(1+Cvr^2)))-log(Rst));
end
functionRdel=getRdelta2(Rst,Cvr)
%H1 this function get the delta
Rdel=Rst*(sqrt(log(1+Cvr^2)));
end
rmu2 =
304.7954
rdelta2 =
52.1901
Cvr =
0.1712
rmu2 =
249.0042
rdelta2 =
24.2745
Cvr =
0.0975
rmu2 =
239.8020
rdelta2 =
18.2344
Cvr =
0.0760
rmu2 =
238.4973
rdelta2 =
16.8698
Cvr =
0.0707
rmu2 =
237.8386
rdelta2 =
16.4174
Cvr =
0.0690
[N2 transfer] transfer N2 to gauss distribution
%DONE
function[Fn2,fn2,N2m,N2del]=getN2(N2m,N2del,N2st)
delta=0.78*N2del;
mu=N2m-0.577*delta;
Fn2=exp(-exp(-(N2st-mu)/delta));
fn2=1/delta*exp(-(N2st-mu)/delta)*Fn2;
z=norminv(Fn2,0,1);
z1=normpdf(z,0,1);
N2del=z1/fn2;
N2m=N2st-z*N2del;
end
Fn2 =
0.5703
fn2 =
0.0202
n2mu2 =
66.5603
n2delta2 =
19.4162
Fn2 =
0.8801
fn2 =
0.0074
n2mu2 =
57.3282
n2delta2 =
26.9336
Fn2 =
0.9848
fn2 =
7.1587e-04
n2mu2 =
17.4598
n2delta2 =
53.3693
Fn2 =
0.9852
fn2 =
3.5342e-04
n2mu2 =
-62.2161
n2delta2 =
106.0635
Fn2 =
0.9701
fn2 =
3.5625e-04
n2mu2 =
-179.5856
n2delta2 =
190.5970
[getcos]
function[cosRtheta cosN1theta cosN2theta]=gettheta(Rdel,N1del,N2del)
%H1 this function get the direction cos
%first normalized
% syms R N1 N2;
% f=sym('R-N1-N2');
%subs(f,{'R','N1','N2'},{'(R-Rmu)/Rdelta','(N1-N1mu)/Rdelta','(N2-N2mu)/N2delta'});
pd1=1;
pd2=-1;
pd3=-1;
sum1=((pd1*Rdel)^2+(pd2*N1del)^2+(pd3*N2del)^2)^0.5;
%then get the cos
cosRtheta=(-pd1*Rdel)/sum1;
cosN1theta=(-pd2*N1del)/sum1;
cosN2theta=(-pd3*N2del)/sum1;
end
cosr =
-0.9352
cosn1 =
0.0663
cosn2 =
0.3479
cosr =
-0.6660
cosn1 =
0.1015
cosn2 =
0.7390
cosr =
-0.3226
cosn1 =
0.0655
cosn2 =
0.9443
cosr =
-0.1570
cosn1 =
0.0344
cosn2 =
0.9870
cosr =
-0.0858
cosn1 =
0.0193
cosn2 =
0.9961
[loop] get loop variables
%DONE
functionbeta=getloopbeta(Rm,N1m,N2m,Rdel,N1del,N2del)
beta=(Rm-N1m-N2m)/(sqrt(Rdel^2+N1del^2+N2del^2));
end
functionRstar=getloopRstar(Rm,Rdel,Beta,costhetaR)
Rstar=Rm+Rdel*Beta*costhetaR;
end
functionN1star=getloopN1star(N1m,N1del,Beta,costhetaN1)
N1star=N1m+N1del*Beta*costhetaN1;
end
functionN2star=getloopN2star(N2m,N2del,Beta,costhetaN2)
N2star=N2m+N2del*Beta*costhetaN2;
end
beta =
3.3192
rstar =
142.7962
n1star =
53.8142
n2star =
88.9819
__________________________________________________________n
i =
2
beta =
3.8049
rstar =
187.4883
n1star =
54.4292
n2star =
133.0591
__________________________________________________________n
i =
3
beta =
2.9962
rstar =
222.1762
n1star =
53.7257
n2star =
168.4505
__________________________________________________________n
i =
4
beta =
2.3052
rstar =
232.3925
n1star =
53.2937
n2star =
179.0989
__________________________________________________________n
i =
5
beta =
1.9046
rstar =
235.1556
n1star =
53.1363
n2star =
182.0194
__________________________________________________________n
i =
6
转载本文请联系原作者获取授权,同时请注明本文来自杜宝雷科学网博客。
收藏
分享
分享到:
最后
以上就是诚心大门为你收集整理的jc法matlab程序,科学网-利用matlab编程实现jc法来求解可靠性-杜宝雷的博文的全部内容,希望文章能够帮你解决jc法matlab程序,科学网-利用matlab编程实现jc法来求解可靠性-杜宝雷的博文所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复