ImageVerifierCode 换一换
格式:DOCX , 页数:44 ,大小:432.80KB ,
资源ID:28101913      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/28101913.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(机械优化设计王荣老师复习过程.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

机械优化设计王荣老师复习过程.docx

1、机械优化设计王荣老师复习过程(一) 一维搜索方法1.1 题目: 1.2 最优解: 1.3 采用的算法及其算法的基本思想:首先采用进退法确定函数极值点所在的搜索区间a, b,然后采用牛顿法求出极值。进退法的基本思想:按照一定的规则试算若干个点,比较其函数值的大小,直至找到函数值按“高-低-高”变化的单峰区间。黄金分割法的基本思想:通过不断的缩短单峰区间的长度来搜索极小点的一种有效方法。按()缩小 比较大小 确定取舍区间。1.4 程序框图: 进退法和黄金分割法流程图如下: 图1 进退法流程图图2 黄金分割法程序框图1.5 具体程序如下:共3个M文件,文件名分别为:F.m;JINTUI.m;FGOL

2、DEN.mF.m具体程序:%定义f(x)函数的表达式f(x)=t2-10*t+36function y=F(t)y=t2-10*t+36;JINTUI.m具体程序:function t,minF=FGOLDEN(precision,a0,h)a,b=JINTUI(a0,h); A=a; B=b; n=1;while 0.618(n-1)=precision C=A+0.312*(B-A); D=A+0.618*(B-A); if CD if F(C)F(D) B=D; else A=C; end else if F(C)F(D) A=C; else B=D; endend n=n+1; end

3、t=A;minF=F(A);FGOLDEN.m具体程序如下:function x1,x2=JINTUI(a0,h) a=a0; b=a0+h;while 1 if F(a)F(b) h=-h; a=a+h; b=a-h; if F(b)F(b-h)&F(b)F(a) break; end else a=b; b=a+h; if F(a)F(b)&F(a)F(a-h) break; end endendx1=a;x2=b;1.6 输出结果: 2.1 题目: 2.2 最优解: 2.3 采用的算法及其算法的基本思想:首先采用进退法确定函数极值点所在的搜索区间a, b,然后采用牛顿法求出极值。进退法的

4、基本思想:按照一定的规则试算若干个点,比较其函数值的大小,直至找到函数值按“高-低-高”变化的单峰区间。黄金分割法的基本思想:通过不断的缩短单峰区间的长度来搜索极小点的一种有效方法。按()缩小 比较大小 确定取舍区间。2.4程序框图: 进退法和黄金分割法流程图如下: 图1 进退法流程图图2 黄金分割法程序框图2.5具体程序如下:共3个M文件,文件名分别为:F12.m;JINTUI12.m;FGOLDEN12.mF12.m具体程序:%定义f(x)函数的表达式f(x)=t4-5*t3+4*t2-6*t+60function y12=F12(t)y12=t4-5*(t3)+4*(t2)-6*t+60

5、;JINTUI12.m具体程序如下:%用进退法找到合适的初始区间function x1,x2=JINTUI12(a0,h) a=a0; b=a0+h;while 1 if F12(a)F12(b) h=-h; a=a+h; b=a-h; if F12(b)F12(b-h)&F12(b)F12(a) break; end else a=b; b=a+h; if F12(a)F12(b)&F12(a)=precision C=A+0.312*(B-A); D=A+0.618*(B-A); %以上黄金分割法赋值 if CD if F12(C)F12(D) B=D; else A=C; end %判断

6、1,取区间AD,将D点值赋给B或是取区间CBelse if F12(C)F12(D) A=C; else B=D; endend%判断2 n=n+1; %循环加1endt=A;minF12=F12(A);2.6 计算运行结果如下:3.1 题目: 3.2 最优解: 3.3 采用的算法及其算法的基本思想:首先采用进退法确定函数极值点所在的搜索区间a, b,然后采用牛顿法求出极值。进退法的基本思想:按照一定的规则试算若干个点,比较其函数值的大小,直至找到函数值按“高-低-高”变化的单峰区间。黄金分割法的基本思想:通过不断的缩短单峰区间的长度来搜索极小点的一种有效方法。按()缩小 比较大小 确定取舍区

7、间。3.4程序框图: 进退法和黄金分割法流程图如下: 图3.1 进退法流程图 图3.2 黄金分割法程序框图3.5具体程序如下:共3个M文件,文件名分别为:F13.m;JINTUI13.m;FGOLDEN13.mF13.m: %定义f(x)函数的表达式f(x)=(t+1)(t-2)2function y13=F13(t)y13=t3-3*t2+4;JINTUI13.m:%用进退法找到合适的初始区间function x1,x2=JINTUI13(a0,h) a=a0; b=a0+h;while 1 if F13(a)F13(b) h=-h; a=a+h; b=a-h; if F13(b)F13(b

8、-h)&F13(b)F13(a) break; end else a=b; b=a+h; if F13(a)F13(b)&F13(a)=precision C=A+0.312*(B-A); D=A+0.618*(B-A); %以上黄金分割法赋值 if CD if F13(C)F13(D) B=D; else A=C; end %判断1,取区间AD,将D点值赋给B或是取区间CBelse if F13(C)F13(D) A=C; else B=D; endend%判断2 n=n+1; %循环加1endt=A;minF13=F13(2);3.6 计算运行结果如下:二 无约束优化问题1.1 题目: 1

9、.2 最优解: 1.3 采用的算法及其算法的基本思想: 将f(x)在x(k)点作泰勒展开,取二次函数式(x) 作为近似函数,以(x)的极小值点作为 f(x)的近似极小值点。求二次函数的极值1.4程序框图: 牛顿法程图如下:1.6 程序:共一个main21.m文件: main21.m具体程序如下:clc;clear all;syms x1 x2 t p maxn precision; %定义 变量 f21=4*x12+x22-40*x1-12*x2+136;%定义函数 fx1=diff(f21,x1); % 对f求x1偏导 求的一阶导数; diff(函数, n) , 求的n阶导数(n是具体整数)

10、; %diff(函数,变量名), 求对的偏导数; diff(函数, 变量名,n)fx2=diff(f21,x2); %对f求x2偏导p=0;g=1;disp( 用梯度法求二元二次目标函数f(X)=4*x12+x22-40*x1-12*x2+136的最优解);for i=1:5 %for i=1:5if(p=0) %if(p=0)x1=input(Please enter the initial starting point x1:);x2=input(Please enter the initial starting point x2:);maxn=input(Please enter the

11、 maxmum number of interations maxn:);precision=input(Please enter the minimum of the searching direction precision:);g=input(Output the result of each interation,if you want Enter 1,or not:);for a=1:maxn % for a=1:2:8,则每次取值为1,3,5,7.其中2是步长 %但步长为1时可省略 即原式为 for n=1:1:100f0=subs(f21); %subs(函数名)将函数里的变量用

12、已知量代换 对f中的变量带入已知量f1=subs(fx1); %subs(函数名)将函数里的变量用已知量代换 对fx1中的变量带入已知量f2=subs(fx2); %subs(函数名)将函数里的变量用已知量代换 对fx2中的变量带入已知量if (double(sqrt(f12+f22) precision) s=-H0*g0; x0=x0+s; g0=subs(df,v,x0); H0=subs(H,v,x0); H0=inv(H0); k=k+1;enddisp(-);disp(计算结果如下:);fprintf(迭代的总次数:n k=%dn,k);fprintf(最优点坐标 :n x1=%3

13、.4fn,x0(1);fprintf(最优点坐标 :n x2=%3.4fn ,x0(2)f=subs(f,v,x0);fprintf(函数的极值:n f=%3.4fn,f);disp(*);disp(*);2.6 计算和输出结果: 3.1 题目: 3.2 最优解: 3.3 采用的算法及其算法的基本思想: 将f(x)在x(k)点作泰勒展开,取二次函数式(x) 作为近似函数,以(x)的极小值点作为 f(x)的近似极小值点。求二次函数的极值3.4程序框图: 3.5 程序: 共一个M文件:main23.m:%用牛顿法求目标函数f(x)=(x12+10*x2)2+5*(x3-x42)2+(x2-2*x3

14、)2+10*(x1-x4)4最优解clc;syms x1 x2 x3 x4 precision;f=(x12+10*x2)2+5*(x3-x42)2+(x2-2*x3)2+10*(x1-x4)4;%目标函数v=x1 x2 x3 x4; %变量向量df=jacobian(f,v);%梯度 df=df.; %非共轭转置H=jacobian(df,v);%海森矩阵 disp(*);disp(用牛顿法求目标函数f(x)=(x12+10*x2)2+5*(x3-x42)2+(x2-2*x3)2+10*(x1-x4)4的最优解);disp(*);disp(请输入初始位置点以及精度要求);fprintf(n)

15、;x1=input(选取的初始点坐标点x1:);x2=input(选取的初始点坐标点x2:);x3=input(选取的初始点坐标点x3:);x4=input(选取的初始点坐标点x4:);precision=input(计算所要求迭代精度要求:);x0=x1,x2,x3,x4;g0=subs(df,v,x0);H0=subs(H,v,x0);H0=inv(H0); %海森矩阵的逆 k=0; s=-H0*g0;while(subs(sqrt(s(1,1)2+s(2,1)2)+s(3,1)2+s(4,1)2)precision) s=-H0*g0; x0=x0+s; g0=subs(df,v,x0)

16、; %求梯度的值 H0=subs(H,v,x0); %求海森矩阵的值 H0=inv(H0); k=k+1;enddisp(-);disp(计算结果如下:);fprintf(迭代的总次数:n k=%dn,k);fprintf(最优点坐标 :n x1=%3.4fn,x0(1);fprintf(最优点坐标 :n x2=%3.4fn ,x0(2);fprintf(最优点坐标 :n x3=%3.4fn ,x0(3);fprintf(最优点坐标 :n x4=%3.4fn ,x0(4);f=subs(f,v,x0);fprintf(函数的极值:n f=%3.4fn,f);disp(*);disp(*);3.

17、6 计算结果如下: 三 约束优化问题1.1 题目: 1.2 最优解: 1.3 采用的算法及其算法的基本思想: 采用的为外点法来进行计算。其基本思想:外点法是从可行域的外部构造一个点序列去逼近原约束问题的最优解。构造函数进行计算。1.4 程序框图: 1.5 程序: 共2个M文件,分别为:main31.m和fdd31.m.main31.m具体如下:%用外点法求多维有约束目标函数f(x)=(x1-2)2+(x2-1)2极值clc;k=0;M=1;c=10;syms x1 x2 precision1 precision2 a1 a2;v=x1 x2; %变量向量f=(x1-2)2+(x2-1)2;%目

18、标函数g1=-x12-x2;g2=x1+x2-2;disp(*);disp(用外点法求多维有约束目标函数f(x)=(x1-2)2+(x2-1)2极值);disp(*);disp(请输入初始位置点以及精度要求);fprintf(n);a1=input(选取的初始点坐标点a1:);a2=input(选取的初始点坐标点a2:);precision1=input(计算所要求迭代精度要求precision1:);precision2=input(计算所要求迭代精度要求precision2:);X0=a1,a2;while(k100) q=f+M*(g1)2+(g2)2); X1=fdd31(q,x1,x

19、2,X0); norm=subs(sqrt(X1(1)-X0(1)2+(X1(2)-X0(2)2); ff0=subs(subs(q,v,X0); ff1=subs(subs(q,v,X1); if(norm=precision1)&(abs(ff0-ff1)/ff0)=precision2) break; end X0=X1; M=c*M; k=k+1; enddisp(-);disp(计算结果如下:);fprintf(迭代的总次数:n k=%dn,k);fprintf(最优点坐标 :n x1=%3.4fn,X0(1);fprintf(最优点坐标 :n x2=%3.4fn ,X0(2);f=subs(f,v,X0);fprintf(函数的极值:n f=%3.4fn,f);disp(*);disp(*);fdd31.m具体如下:function sc=fdd31(f,x1,x2,X0)syms v;v=x1,x2; %变量向量df=jacobian(f,v);%梯度 df=df.; G=jacobian(df,

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1