基于MATLAB的黄金分割法的优化设计
时间:2025-04-20
时间:2025-04-20
!!!!丝Q:i!
andTechnology
Innovation
Herald
,Sclence
工程技术
基于MATLAB的黄金分割法的优化设计①
陈玉莲
李俊文
高波
广州
510540)
(广东技术师范学院天河学院机电工程系
摘要:本文主要介绍了MATLAB程序在优化设计中应用,基于黄金分割法以实例说明了MATLAB程序求并全局置伲解是一种可行高效的
方法。
关键词:MATI.AB中图分类号:THl
倪化谩计
2黄金分割法
文献标识码:A
文章编号:1674一098x(zolO)l2(b)一0096—01
Y=a‘2+2.a
l
机械优化设计主要包括建立优化设计问题的数学模型和选择恰当的优化方法与程序两方面的内容。由丁机械优化设计是运用数学方法寻求机械设计的最优方案,所以研究机械优化设计问题首先要根据实际机械设计
(1)可在给定的任意精度下搜索出逼近今局
的最优解。
(2)传统数值法所共有的要求是需要大量的计算机内存,而黄金分割法克服r这个缺点。
(2)建立求解极小值点的M文件(go/din
in.m):
clearlclc
a=一3lb=5ltolerance=le-2In=Oli=100lfork=l:i
I.2黄金分割法的搜索过程
黄金分割法要求插入点a.,a,的位置
问题建立相应的数学模型…。在建屯数学模型
时,要使得某项机械设计在各种设计限制条
相对于区间|a,bJ两端点具有对称性,即在
给定区间la’bl内取点
aI
2
if(abs(b—a)<=tolerance)y二fungold((b+a)/2)l
breaklelse
件下,确立各设计变鼍之fe】的相互关系,然后
使用LP算机程序优选设计参数,使某项或几项设计指标获得最优值12I。
b_』(b一引…
a,=a十』∞.a)、‘’
al一=b一0.618 (b—a)la2=a+0.618*(b-a)l
if(fungold(a1)>=fungold(a2))
a=allelseb=a2;
求解优化问题nT以用解析解法和数值解法,
在很多情况下,机械优化没LLfa]题限制条件比较多,与之对应的数学描述也比较复杂,不便于甚至不可能用解析法求解,只能用数值法求解,如
如果,(a,)>f(a,)。令a=县;
如果f(a.),(a,),令b=a,,重新开始搜索。具体搜索过程如图l所示的程序框图。
消去法、牛顿法、二次插值法、共轭梯度法等”。
本文根据一维搜索巾的黄金分割法的基本原理,以MATLAB语占程序求解非线性问
2应用MATLAB程序求解算例
2.1
y=fungold((b+a)/2)I
end
11=n+llendend
MATLAB语言程序简介
MATLAB语苦程序包含控制语句、函
题的最优解,求解结果说明rMATLAB程序求解全局最优解的町行性和高效性。1黄金分割法
1.1黄金分割法的定义
黄金分割法,又称作0.6l8法,它是用于一元踊数f(.,【)在给定的区间【a.bJ内搜索极小
数、输入和输fIj和面向对象编程等特点。用
户呵以在命令窗IJ中将输入语句与执行命
令同步,也可以先编写好一个较大的复杂的应用程序(M文件)后再一起运行151。
2.2
n,aO:(b+a)/2,y=fungold((b+a)/2)运行结果为:13=14%迭代次数
aO=一1.00164629784620%极小值点
MATLAB程序求解实例
运用MATLAB语言程序利用黄金分割法
原理求一元函数f(a1:a2+2a在给定搜索区间.3撑口5上的极小值点an,其中收敛精度
e;lo一。
y=一O.99999728970340%在极小值点上
的函数值
值点的一种一维搜索方法。“黄金分割”是指
将一线段分成两段,使整段长与较长段的长
2.3结果讨论
采用解析法可求得其精确解a。=一l,
_,(口0)=一l。
从以上计算可以看出,利用MATLAB语言程序的求解方法通过l4次迭代可以满足收敛精度要求,与解析法求解的结果基本一致。
度比值等于较长段与较短段长度的比值,即
l:J=J:(1一J)(1)
求得,》0618。
黄金分割法的主要特点有两个方面川。
MATALB语言程序建立如下。
(1)建芷包含一无函数表达式的M文件
(fungoid.m):
functiony=fungold(a)
3结语
本文针对机械优化设计一维搜索中的黄金分割法,通过分析黄金分割法的基本原理,
结合给出的实例进行rMATLAB语言程序
的编写,并求得函数的全局最优 …… 此处隐藏:1241字,全部文档内容请下载后查看。喜欢就下载吧 ……