热门关键词:

基于MATLAB的二次插值法的优化设计

  • 该文件为pdf格式
  • 文件大小:151.21KB
  • 浏览次数
  • 发布时间:2014-08-07
文件介绍:

本资料包含pdf文件1个,下载需要1积分

2013年第 7期广东技术师范学院学报(自然科学)Journal of Guangdong Polytechnic Normal University No.7,2013基于MATLAB的二次插值法的优化设计李俊文(广东技术师范学院天河学院机电工程系,广东 广州 510540)摘 要 :机械优化设计主要包括建立优化设计问题 的数学模型和选择合适的优化方法及程序两方面的内容.

基于二次插值法的基本原理,通过实例,编写HATLAB程序进行求解 ,计算结果说 明了二次插值法是一种求解一元函数极小点问题最优解的可行高效的方法.

关键词 :MATLAB程序;优化设计 ;二次插值法中图分类号 :TH 122 文献标识码:B 文章编号 :1672—402X(2013)07—0037—03引 言优化设计是20世纪60年代初结合最优化原理和计算机技术而发展起来的一门新的学科 ,正是这种方法吸纳了数学规划理论的研究成果和利用了数字计算机的高速运算能力,因此,它为工程设计提供一种科学高效的设计方法n .

机械优化设计主要包括建立优化设计问题的数学模型和选择合适的优化方法及程序两方面的内容.由于机械优化设计是利用数学方法求出机械设计的最佳方案,因此,研究机械优化设计问题可归纳为两个步骤:第一步,根据实际机械设计问题建立相应的数学模型.数学模型一旦建立 ,机械优化设计问题实际就转化为数学求解问题.第二步:应用数学规划方法的相关理论 ,根据数学模型的特点,选择合适的优化方法并编制计算机程序进行求解出最优的设计参数.

本文首先介绍二次插值法的基本原理,然后基于二次插值法的原理编写MATLAB程序求解一元函数在确定的初始区间内的极小点 ,求解结果说明了二次插值法求解一元函数极小点问题最优解的可行性和高效性.

1二次插值法搜索极小点的一种方法.在求解一元函数厂( )的极小点时 ,通常利用一个低次插值多项式P(仅)来逼近原目标函数 ,然后求该多项式的极小点,并以此作为目标函数 仅)的近似极小点.如果其近似的程度没达到精度要求 ,可以反复使用此方法 ,逐次拟合 ,直到满足给定的精度要求为止.

1.2二次插值法的迭代过程二次插值法又称为抛物线法.它是利用y=f(o0在单谷区间中的三点仪1 .: 二次插值法是用于一元函 在确定区间内 !±( = l ± !(al一 (0 一口1)收稿 日期:2013—05—20作者简介 :李俊文(1982一),男 ,广东从化人,硕士研究生 ,广东技术 师范学院天河学院讲师 ,研究方 向:CAD,CAM,CAE、机械系统动力学仿真及机械优化设计.

· 38· 李俊文 :基于MATLAB的二次插值法的优化设计 第 7期尝 l01一( 【a2—n3八口3—01J
令—
y2-

Yl
— c,c 1: Y3-Yl一

c2= 二 L (~3-al a2—‘o13则ae=1 a1+ 一 ) (2)’ C2根据上面分析,就可得到Tf(oO极小点仅 的近似解Olp,如图l所示.如果区间长度j仅。一仅 l足够小,则由l Otp-OL l

b1图1二次插值法a)第一次迭代 b)第二次迭 代1.3二次插值法的程序框图二次插值法的具体迭代过程如图2所示的程序框图.

图2二次插值 法的程序框图2 MATLAB程序求解实例2.1 MATLAB程序简介MATLAB美国MathWorks公司开发研制的,其语言程序是一种非常强大的工程计算语言,包含控制语句、函数、输入和输出和面向对象编程等特点.

MATLAB程序语句可以在命令窗 口中执行或建立M文件运行.其中M文件有两类,包括命令文件和函数文件.与其他程序语句类似,MATLAB程序的算法功能可以通过程序模块组成的三种基本程序结构 (顺序结构、选择结构、循环结构)的组合来实现,其中循环结构可由for语句或while语句实现.

2.2求解实例利用二次插值法,编制MATLAB程序求一元函数在给定搜索区间上的极小值点 ,其中收敛精度.

MATALB程序建立如下 :(1)建立一元函数表达式的M文件(fun.in):function y=fun(a)y=sin(a);(2)建立计算参数的M文件(fun1.m):cl=(y3-y1)/(a3一a1);c2=(y2一y1)/(a2一a1)一c1)/(a2一a3);ap=O.5 (al+a3一cl/c2);yp=fun(ap);(3)建立求极小点的M文件(min.m):clear;clcn=O;i=lO0;第 7期 李俊文:基于MATLAB的二次插值法的优化设计 ·39-e=le一8: %收敛精度h=O.001; %步长al=4;a2=4.5;a3=5;y1=fun(a1);y2=fun(a2);y3=fun(a3);el=(y3-y1)/(a3-a1);c2=(y2一y1) a2一a1)一c1) a2一a3);ap=0.5 (al+a3-c 1/c2);yp=fun(ap);for k=1:iif(abs(y2-yp)/y2)<:e)if(y201if(y2>=yp)al=a2;y 1=y2;a2=ap;y2=yp;funl;elsea3=ap;y3=yp;funl;endelseif(y2>=yp)a3=a2;y3=y2;a2=ap;y2=yp;funl;elseal=ap;yl=yp;funl;endendn=n+l:endn,a0,y0运行结果为:n=3 %迭代次数a0=4.7123889803737l %极小值点y0=一l %在极小值点上的函数值2.3求解结果讨论从以上数值计算结果可知。利用二次插值法的求解方法通过3次迭代就可以满足收敛精度要求,收敛速度极高,并且与精确最优解一l一致.

3结论基于二次插值法的原理,通过实例,编制了MATLAB语言程序 。求得了一元函数在给定区间内的极小点 ,数值计算结果表明基于二次插值法 的MATLAB语言编程求解方法是可行高效的,对实际工程应用具有一定的理论研究价值.

参考文献 :[1]翟静,黎新.机械优化设计综述[J】.机械(增刊)2006,(33):4-6.

[2]孙靖民,梁迎春.机械优化设计(第4版)[M】.北京:机械工业出版社。2006.

[3]张运节.机械优化设计综述与展望[J】.科技信息,2009,专题论述:703—704.

[4]陈玉莲,李俊文,高波.基于MATLAB的黄金分割法的优化设计[J】.科技创新导报,2010,(35):96.

[5]薛定宇,陈阳泉.高等应用数学问题的MATLAB求解【M】.

北京:清华大学出版社,2008.

[责任编辑:刘向红]endOptimal Design of Quadratic Interpolation Method Based on MATLABLI Jun—wen(Department of Mechatronic Engineering,Tianhe Colege of GuangdongPolytechnic Normal University,Guangzhou,5 10540,China)Abstract:Mechanical optimization design ma inly include the establishment of mathematical model andchoosing a suitable optimization method and program.Based on the basic principles of quadratic interpolationmethod,an example is solved by MATLAB program.The result shows that the quadratic interpolation method isfeasible and efficient in solving the optimal solution of unary function.

Key words:MATLAB program;optimal design;quadratic interpolation method

正在加载...请等待或刷新页面...
发表评论
验证码 验证码加载失败