现代机械优化设计matlab编程

现代机械优化设计matlab编程

ID:18490911

大小:353.00 KB

页数:9页

时间:2018-09-18

现代机械优化设计matlab编程_第1页
现代机械优化设计matlab编程_第2页
现代机械优化设计matlab编程_第3页
现代机械优化设计matlab编程_第4页
现代机械优化设计matlab编程_第5页
资源描述:

《现代机械优化设计matlab编程》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、《现代机械优化设计方法》程序指导老师:学生:学号:机电工程学院2011年12月8一、一维优化问题练习题1、黄金分割法黄金分割法的基本思想:黄金分割法是通过不断单峰区间的长度来搜索极小点的一种有效方法,它是搜索区间比例缩小,通过计算比较函数值,以确定取舍区间。黄金分割法程序框图黄金分割法matlab程序:clcsymst;f=t^2-10*t+36;a=2;b=10;c=a+0.382*(b-a);d=a+0.618*(b-a);f1=subs(f,c);f2=subs(f,d);while(abs(b-a)>=0.01)if(f1>f2)a=c;c=d;f

2、1=f2;d=a+0.618*(b-a);f2=subs(f,d);elseif(f1

3、向是函数值下降最快的方向,此方法是沿着负梯度方向进行搜索的无约束方法。梯度法程序框图8梯度法在matlab程序:(1)functiony=fun(x1,x2)y=4*(x1-5)^2+(x2-6)^2;%此定义子函数,并保存为fun.m文件。(2)clcsymsx1x2d;f=4*(x1-5)^2+(x2-6)^2;fx1=diff(f,'x1');fx2=diff(f,'x2');x1=8;x2=9;forn=1:100f0=subs(f);f1=subs(fx1);f2=subs(fx2);if(double(sqrt(f1^2+f2^2))<=0.0

4、00000001)nx1=vpa(x1)x2=vpa(x2)f0=vpa(f0)break;else8D=fun(x1-d*f1,x2-d*f2);Dd=diff(D,'d');dd=solve(Dd);x1=x1-dd*f1;x2=x2-dd*f2;endend%此为梯度法的主函数,并保存为tdf.m文件。经matlab运行结果如下:(2)牛顿法与一维搜索讲的牛顿法公式推导一样,只不过推广到n维。牛顿法收敛速度快。牛顿法程序框图8牛顿法在matlab中的程序如下:clcsymsx1x2;f=4*(x1-5)^2+(x2-6)^2;fx1=diff(f,'

5、x1');fx2=diff(f,'x2');fx1x1=diff(fx1,'x1');fx1x2=diff(fx1,'x2');fx2x1=diff(fx2,'x1');fx2x2=diff(fx2,'x2');x1=8;x2=9;forn=1:100f0=subs(f);f1=subs(fx1);f2=subs(fx2);if(double(sqrt(f1^2+f2^2))<=0.000000001)nx1=vpa(x1)x2=vpa(x2)f0=vpa(f0)break;else8X=[x1x2]'-inv([fx1x1fx1x2;fx2x1fx2x2

6、])*[f1f2]';x1=X(1,1);x2=X(2,1);endend经matlab运行结果如下:三、约束优化方法内点法基本思想这种方法是将新目标函数定义于可行域内,迭代过程均在可行域内进行,逐步逼近最优点。内点法只能用来求解具有不等式约束的优化问题。1)在可行域内选一个初始点内点X0,初始点应选择一个离约束边界较远的可行点。2)选取适当的罚因子初值r0,降低系数c(0

7、g==0)&&(count

8、dx1=x0(1)x2=x0(2)f=subs(f)count程序

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

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

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