用matlab改进一次二阶矩法程序

用matlab改进一次二阶矩法程序

ID:16541733

大小:36.00 KB

页数:3页

时间:2018-08-22

用matlab改进一次二阶矩法程序_第1页
用matlab改进一次二阶矩法程序_第2页
用matlab改进一次二阶矩法程序_第3页
资源描述:

《用matlab改进一次二阶矩法程序》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、用Matlab编的计算结构可靠指标的改进一次二阶矩法程序(验算点法)题目:编制改进一次二阶矩法计算可靠指标的程序,并给出算例,要求提供源程序选取的算例为:z=g(x,y)=x*y-1140,其中x,y服从正态分布,μx=38,Vx=0.1,μy=38,Vy=0.05本程序采用Matlab编写。选取β1=3.0,β2=2.5计算结果为:可靠指标β=4.2672,最终验算点为:(22.8430,49.9060),在验算点处功能函数值为:1.2354e-004%保存为strRlbt.m,在Matlab命

2、令窗口中输入strRlbt执行即可N=2;%变量个数miu=[3854];%均值v=[0.10.05];%变异系数sgma=miu.*v;%方差symsxyg=sym('x*y-1140');%功能函数jacg=jacobian(g,[x;y]);%计算雅可比矩阵initvalue=[miu;v;sgma];%用作函数参数%选取beta,定义x0=miubeta1=3.0;xopt0=[3854];alpha0=zeros(1,2);[alpha1,xopt1,result]=calforbeta

3、(initvalue,beta1,alpha0,xopt0,jacg,g);ifresult==1disp('第一次假定的可靠指标');returnend%再次假定betabeta2=2.5;xopt0=miu-beta2*alpha1.*sgma;gvalue=jacgfunc(jacg,xopt1);alpha0=(sgma.*gvalue)/sqrt(sum((sgma.*gvalue).^2));[alpha2,xopt2,result]=calforbeta(initvalue,beta

4、2,alpha0,xopt0,jacg,g);ifresult==1disp('第二次假定的可靠指标');returnend%beta迭代求解g1=gfunc(g,xopt1);g2=gfunc(g,xopt2);eps=0.1;%精度whileabs(g2)>epstemp=beta2;beta2=beta2-(beta2-beta1)/(g2-g1)*g2;beta1=temp;[alpha2,xopt2,result]=calforbeta(initvalue,beta2,alpha1,xo

5、pt1,jacg,g);temp=g2;g2=gfunc(g,xopt2);g1=temp;ifresult==1breakendenddisp('可靠指标为:');disp(beta2);disp('最终验算点为:');disp(xopt2);disp('在验算点处功能函数值为:');disp(g2);functiong_out=gfunc(g,x_in)%功能函数值计算x=x_in(1);y=x_in(2);g_out=eval(g);%函数值%将以上内容保存为gfunc.mfunctiong

6、_out=jacgfunc(jacg,x_in)%功能函数偏导数计算,即雅可比矩阵计算x=x_in(1);y=x_in(2);fori=1:2g_out(i)=eval(jacg(i));%1为对x的导数,2为对y的导数end%将以上内容保存为jacgfunc.mfunction[alpha1,xopt1,result]=calforbeta(initvalue,beta0,alpha0,xopt0,jacg,g)%对选取的beta进行计算result=0;N=length(xopt0);alph

7、a=alpha0;xopt=xopt0;%initvalue为初始值miu=initvalue(1,:);%第一行为均值v=initvalue(2,:);%第二行为变异系数sgma=initvalue(3,:);%第三行为方差eps=0.1;while1%功能函数达到精度则退出循环,result=1表示计算出可靠指标ifabs(gfunc(g,xopt0))

8、e=jacgfunc(jacg,xopt);sgmaz=sqrt(sum((sgma.*gvalue).^2));alpha0=sgma.*gvalue/sgmaz;xopt0=miu-beta0*alpha0.*sgma;sum1=sum((alpha-alpha0).^2);sum2=sum((xopt-xopt0).^2);alpha=alpha0;xopt=xopt0;%醝和验算点xi达到精度则退出循环ifsum1<0.001

9、sum2<0.001alpha1=alpha0

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。