河海大学结构可靠度作业
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
5—2
[解] 用应力表示的极限状态方程为
()2
2
3Z ,,,04u u ql g f q b d f bd ==-=
利用书本上导出的梯度优化法计算公式,利用matlab 编写了电算程序(见附录1),计算结
失效概率为:
1()0.927f P β=-Φ=
5-7
[解] 用应力表示的极限状态方程为
2
23332(
)16(,,)()044
Y Y M f M d Z g M T f d ππ==+-= 利用书本上导出的梯度优化法计算公式,利用matlab 编写了电算程序(见附录2),计算结
果见下表。
结果分析:
因为题目中存在两个非正态变量,需要将其转化为正态变量。而利用梯度最优化方法,是利用标准正态变量进行迭代且迭代过程中用到了转为了正态分布时的均值和方差。所以,此时就需要利用每次迭代出的标准正态变量,求解非正态变量及其对应的正态分布时的均值与方差,同样需要迭代。
怀疑是在求解非正态变量及其对应的正态分布时的均值与方差时,迭代出现了问题。所以用网格搜索法(附录3)求解,结果仍不理想。
β=,以-0.01为步为进一步找到问题所在,尝试利用改进一次二阶矩法。取初值 2.0
长,发现直到β为负值时,结果仍未收敛。
由于时间有限,未能找到错误原因,希望老师能给予点拨。
%例题5-2(梯度优化法)
syms Yf Yq Yb Yd
G=1377.88*Yf+3936.8-100390.2*(8.928*Yq+111.6)/((0.6225*Yb+12.45)*(1.5 39*Yd+25.65)^2);
gradient=jacobian(G,[Yf,Yq,Yb,Yd]);
Y=zeros(10,4);
for i=1:10
beta(i)=sqrt(Y(i,:)*Y(i,:)')
Pf=1-normpdf(beta(i))
Yf=Y(i,1);Yq=Y(i,2);Yb=Y(i,3);Yd=Y(i,4);
tiduzhi=eval(gradient);
shuzhi(i)=eval(G)
a(i,:)=-tiduzhi./norm(tiduzhi) %normΪÇóÏòÁ¿µÄÄ£
Y(i+1,:)=(Y(i,:)*a(i,:)'+shuzhi(i)/norm(tiduzhi))*a(i,:);
end
X(:,1)=Y(:,1)*1377.88+3936.8;
X(:,2)=Y(:,2)*8.928+111.6;
X(:,3)=Y(:,3)*0.6225+12.45;
X(:,4)=Y(:,4)*1.539+25.65;
图一程序运行图
%例题5-7(梯度优化法——迭代)
X=[26 17];Sigma=[4.68 2.38];M=[26 17];
i=1;Y=zeros(5,3)
for p=1:2
x(p)=X(i,p);sigma=Sigma(p);m=M(p);
a(p)=1.2825/sigma , k(p)=m-0.5772/a(p)
F=exp(-exp(-a(p)*(x(p)-k(p))));f=a(p)*exp(-a(p)*(x(p)-k(p))-exp(-a(p) *(x(p)-k(p))));
sigma_tran(i,p)=normcdf(norminv(F))/f;
m_tran(i,p)=x(p)-sigma_tran(i,p)*norminv(F);
Y(i,p)=(x(p)-m_tran(i,p))/sigma_tran(i,p);
end
for i=1:5
syms YM YT Yf
G=(159.155*(YM*sigma_tran(i,1)+m_tran(i,1)))^2/4+(79.577*(YT*sigm a_tran(i,2)+m_tran(i,2)))^2-(Yf*840+7*10^3)^2/4;
gradient=jacobian(G,[YM,YT,Yf]);
beta(i)=sqrt(Y(i,:)*Y(i,:)');
Pf=1-normpdf(beta(i));
YM=Y(i,1);YT=Y(i,2);Yf=Y(i,3);
tiduzhi(i,:)=eval(gradient);
shuzhi(i)=eval(G);
b(i,:)=-tiduzhi(i,:)./norm(tiduzhi(i,:));
Y(i+1,:)=(Y(i,:)*b(i,:)'+shuzhi(i)/norm(tiduzhi(i,:)))*b(i,:);
Xattemp(1,1)=Y(i+1,1)*sigma_tran(i,1)+m_tran(i,1);Xattemp(1,2)=Y(i+1, 2)*sigma_tran(i,2)+m_tran(i,2);
for p=1:2
for M=1:10
syms x mm sigmaa
Q=Y(i+1,p)-(x-mm)/sigmaa;
Gradient=jacobian(Q,[x]);
x=Xattemp(M,p)
F=exp(-exp(-a(p)*(x-k(p))));f=a(p)*exp(-a(p)*(x-k(p))-exp(-a(p)*(x-k( p))));
sigma_tra(M,p)=normcdf(norminv(F))/f;
m_tra(M,p)=x-sigma_tra(M,p)*norminv(F);
mm=m_tra(M,p);sigmaa=sigma_tra(M,p);
Tiduzhi=eval(Gradient);
Shuzhi(i)=eval(Q);
c(M)=-Tiduzhi/norm(Tiduzhi);
Xattemp(M+1,p)=(Xattemp(M,p)*c(M)'+Shuzhi(i)/norm(Tiduzhi))*c(M);