利用Matlab求解机械设计优化问题的分析
利用Matlab求解机械设计优化题目-螺栓

机械优化设计把数学规划理论与数值方法应用于设计中,用计 算机从大 量可行方案中找出最优化设计方案,从而大大提高设计质 量和设计 效率。MATLAB 具有解决线性规划和非线性规划、约束 优化和无约 束优化问题的内 部函数,因而可以完成这一功能。
现举一例: 螺栓组联结的优化设计 如图 4 所示的压力容器螺栓组联接中,已知 D1= 400mm,D2 =
对于粗牙普通螺纹:由文献[3]推荐,小径 d1=0.85d 所以,强度约束条
2.社会主义本质理论对探索怎样建设3.社19会57主年义2月具,有毛重在要《的关实于践正意确义处。理社人会民主内义2.社部本科会矛质学主盾理的义的论1本本问的.邓质质题提小是的》出平创科讲,提新学话为出,内中我“创涵提们社邓新。出寻始会小的邓(找终主平关小1一代义)坚键平种表的我2持在对能.1中本国把科人社9够国质社5发学才会从4先,会展社年,主更进是主作会,人义深生解义为主毛才本层产放制执义在的质次1力生度政理《成所.认社1的产还兴论论长作.识会 发发力刚国和十靠的社主 展展,刚的实大教概会义 才要发建第践关坚育括主本 是求展立一的系2持。,义质 硬、,生,要基》以人一,理 道发大产还务本重发才方从论 理展力力没是成要展资面而把 ,才促,有由果讲社的源强为我 把是进消完中,话会办是调中四们 发(硬先灭全国抓中主法第必国、对 展2道进剥建共住提三义解一)须的科社 生理生削立产“出、经决资采解社学会 产,产,党什(代济前源取放会技主 力是力消还的么1表基进。从和主术义 作)对的除不执是中础科低发义是1的 为吧社3发两完政社9国基的学级展.建第发认 社二国5会展极全地会先本问技到6生设一展识 会、内主,年分巩位主进建题术高产在生才提 主发外义是底化固所义生立,实级力改产是高 义1展一时中我,的决邓产的是力9,革力硬到 建是切间5国最思定怎小力同实和国另3开道了 设党积经共对终想年的样平的时行国家一放理一 的执极验产农达。1,建一发,改民资方中2,个 根政因教党业到(是设月再展我革教本面探是新 本兴素训站、共2对社,强要国开育主指索)适的 任国都的在手一同执会毛调求的放水义出出第创应科 务在的调深时工、富1政主泽,政以平的4了一三造.时学 ,社第动刻坚代.业发裕规义东中一治来,过2解条节性代水 符会一起总持前.和展。律”关社 国个领我始度放发、地主平 合阶要来结社列资才”认这于会 社公域们终形和展社提题。 马级务为。会,本是1识个总主 会有也党是式发更会9出变社 克二关中主保硬的根8路义 主制发的衡。展快主了化会 思6、系国义持道3深本线基 义占生一年量所生、义社.的主社发解用工现理化问的本 基主了条,综谓产人的会需义会生决和业金商,题1完制 本体重主邓合国力民根主要本 基.主变事所平化向业1也,整度 制,大要小国家的享本9义。质 本义化业有方建的是深5的度一变经平力资手受社任理 原6本的服问法设根社对刻表确 的个化验年提和本段到会 1务论 理第质同务题进与本会一党揭.述立 确共,。出社主社和社主基的 ,二理时的行社体主、实示:, 立同确苏“会义会目会3义本提 是节论,基关改会现义社现了.从为 ,富立共社文,社主的主一改矛出 巩、的我本键造主和改会其社中当 使裕了二会明就会义。义、造盾, 固对重国方是。义根造之所会华代 占,中十主程是主基建中的和为 和第社要针这改本基一承主人中 世这国大义度在义本设国基两进 发一会意。靠不造要本本担义民国 界是共以财的国基制内成特本类一 展节主义的(自仅同求完质的本共一 人我产后富重家本度涵果色完矛步 社、义主2己保时。成理历质和切 口们党毛属要直)制的包最伴社成盾推 会中本要的证并,论史,国发 四必领泽于标接正度确括大随会,的进 主国质矛发了举标第的这成展 分须导东人志控确的立(,着主是学改 义特理盾展2社。志五提需是立进 之坚的提民。制处确是1.能社义我说采革 制色论也。会实着章)出要对,步 一持人出,和理立中够会建国,取开 度社的发的践中把。马到奠 的民要社支经,国社充经设强积放 的会提生稳证国解克社定 东民“会配济是历会分济道调极和 必主出了定明历放思会了 方主以下建4广史主体制路要引社 然义变,.史和主主把制 大专苏义的设大上义现度初严导会 要二建化而党上发义义对度 国政为的资和劳最的出和步经格、主 求设。且坚长展的改企基 进党的鉴致本社动深本对社探济区逐义 。确道人极持达生重造业础 入在根社”富主会人刻质资会索结分步现立路民大社数产大基的。 了过本会,是义发民最和本经的构过代社的对的会千力逐发本改社渡原主探全经展真伟根主济理发正渡化会初于促主年概步展完造会时则义索民济中正大本义结论生确的建新主步经进义的括实,成和主期。基自共的成任优构成了处方设中义探济了改阶为现对,对义总本己同国一为社务越的果根理式提国基索文社造级国于这人制 社路政的致家系国会性根本两。供的本化会与剥家建是的度 会线治道富资列家变的一本变类中了成制迅主社削的设一改的 ,第制路。本重的革道、变化不国强立度速义会制社中个造建 这三主度。社大主,路社化,同这大,的发事主度的会国过结立 是节要。会义关人也,1会社性场的标重展业义的本主特.渡合极 世、内人主有系解和是奠主我会质巨思志大的的工结(质义色时起大 界社容民义初。决社2定义国主的大想着意需发业束30。工社期来地 社(会被民原级了会)世了基社义矛而武我义要展化,(业会。,提 会2主概则和3在生把纪理本会经盾深器国同),同实2化主党把高 主对义括专,高一产资中)论制的济,刻。新经遵改总时现新是义在对了 义手制为政第级个资本国强基度阶成在特的通民济循革之并了民党具这资工 运二七度“实一形以料主又调础的级分新别社过主文自4过,举由主在有个本人 动、届 业在一质是式农的.(义一消,初关已民是它会(没主化愿于和的新主过重过主阶 史新社二 的中化上发之民主1工次灭开步系占主要是变4收义不互集平方民()义渡大渡义级 上民会中 社国三已展)分为人商划剥阔确也绝主正中革官能利中改针主3用社时的时工和 又主全 会的改成生坚。主)业时削了立发对义确国,僚命满、的造,主和会期理期商广 一主义会确”为产持初题正者代,广2生优革处革不资阶足典计解对义平的论.的业大 个义改提立。无,积级资的确改的消阔了势命理命仅√本段人型划决于向赎五总和总搞劳 历革造出 改“产第极形本、分造历除前根,理人的没中而民示体了在社3买种路实路糟动 史命的使 造一阶二领式主落(.析成史两景本社论民具有国形基需党范制诸深会的经线践线成人 性理历中 ,化级是导的义后1农为巨极。√的会内体对革成本要的和如刻主)方济的意和为民 的论史国 党”专共、工的村自变分邓中主指部实生命的结建国初实的义积法成主义总自的 伟是经“ 和即政同稳家商半的食。化小国义导矛际产在走社束状设家步现社的极改分体。任食积 大以验稳 政社;致步资业殖阶其们平社革。公下盾出力一农会和况。帮构社会转引造—。务其极 胜一毛步 府会人富前本的民级力吐对1会命有,。发的个村主社之加助想会变导资—要.,力性 利、泽地 采主民。进农社地和的出社第必制中(,发以包义会间强的,变革农本社从是的和 。适东由 取义代”的业会半阶社了会二须已国3不展农围的主党原要革中社民主会根)要社创合为农 了工表这方是、主封��
机械优化设计论文(基于MATLAB工具箱的机械优化设计)

基于MATLAB工具箱的机械优化设计长江大学机械工程学院机械11005班刘刚摘要:机械优化设计是一种非常重要的现代设计方法,能从众多的设计方案中找出最佳方案,从而大大提高设计效率和质量。
本文系统介绍了机械优化设计的研究内容及常规数学模型建立的方法,同时本文通过应用实例列举出了MATLAB 在工程上的应用。
关键词:机械优化设计;应用实例;MATLAB工具箱;优化目标优化设计是20世纪60年代随计算机技术发展起来的一门新学科, 是构成和推进现代设计方法产生与发展的重要内容。
机械优化设计是综合性和实用性都很强的理论和技术, 为机械设计提供了一种可靠、高效的科学设计方法, 使设计者由被动地分析、校核进入主动设计, 能节约原材料, 降低成本, 缩短设计周期, 提高设计效率和水平, 提升企业竞争力、经济效益与社会效益。
国内外相关学者和科研人员对优化设计理论方法及其应用研究十分重视, 并开展了大量工作, 其基本理论和求解手段已逐渐成熟。
国内优化设计起步较晚, 但在众多学者和科研人员的不懈努力下, 机械优化设计发展迅猛, 在理论上和工程应用中都取得了很大进步和丰硕成果, 但与国外先进优化技术相比还存在一定差距, 在实际工程中发挥效益的优化设计方案或设计结果所占比例不大。
计算机等辅助设备性能的提高、科技与市场的双重驱动, 使得优化技术在机械设计和制造中的应用得到了长足发展, 遗传算法、神经网络、粒子群法等智能优化方法也在优化设计中得到了成功应用。
目前, 优化设计已成为航空航天、汽车制造等很多行业生产过程的一个必须且至关重要的环节。
一、机械优化设计研究内容概述机械优化设计是一种现代、科学的设计方法, 集思考、绘图、计算、实验于一体, 其结果不仅“可行”, 而且“最优”。
该“最优”是相对的, 随着科技的发展以及设计条件的改变, 最优标准也将发生变化。
优化设计反映了人们对客观世界认识的深化, 要求人们根据事物的客观规律, 在一定的物质基和技术条件下充分发挥人的主观能动性, 得出最优的设计方案。
利用Matlab求解机械设计方案优化问题的分析

利用MATLAB求解机械设计优化问题的分析周婷婷(能源与动力学院,油气0701>摘要:MATLAB是目前国际上最流行的科学与工程计算的软件工具,它具有强大的数值分析、矩阵运算、信号处理、图形显示、模拟仿真和最优化设计等功能。
本文浅谈MATLAB在机械设计优化问题的几点应用。
关键词:MATLAB 约束条件机械设计优化引言:在线性规划和非线性规划等领域经常遇到求函数极值等最优化问题,当函数或约束条件复杂到一定程度时就无法求解,而只能求助于极值分析算法,如果借助计算器进行手工计算的话,计算量会很大,如果要求遇到求解极值问题的每个人都去用BASIC,C和FORTRAN之类的高级语言编写一套程序的话,那是非一朝一日可以解决的,但如用MATLAB语言实现极值问题的数值解算,就可以避免计算量过大和编程难的两大难题,可以轻松高效地得到极值问题的数值解,而且可以达到足够的精度。
1无约束条件的极值问题的解算方法设有Rosenbrock函数如下:f(X1,X2>=100(X2-X1*X1>2+(1-X1>2求向量X取何值时,F(x>的值最小及最小值是多少?先用MATLAB语言的编辑器编写求解该问题的程序如下:%把函数写成MATLAB语言表达式fun=’100*(X(2>-X(1>*X(1>2+(1-X(1>>2%猜自变量的初值X0=[-1 2]。
%所有选项取默认值options=[ ];%调用最优化函数进行计算。
%函数最小值存放在数组元素options(8>中%与极值点对应的自变量值存放在向量X里%计算步数存放在数组元素options(10>中[X,options]=fmins(fun,X0,options>;%显示与极值点对应的自变向量X的值。
%显示函数最小值options(8>%显示函数计算步数options(10>把上面这段程序保存为m文件,然后用“Tools”菜单中的“Run”命令行这段程序,就可以轻松的得到如下结果:X=9.999908938395383e-0019.99982742178110e-001ans=1.706171071794760e-001ans=195显然,计算结果与理论结果的误差小到e-10级,这里调用了MATLAB的最优化函数fmins(>,它采用Nelder-Mead的单纯形算法,就是因为这个函数的采用,使最小值问题的解算变得非常简单。
新探MATLAB的机械设计措施

新探MATLAB的机械设计措施前言:机械制造的核心部分就是机械设计。
机械设计直接影响着机械产品的性能,外观和功能等等部分。
并且,也是机械产品质量的重要保障。
从另外一个层面来说,机械设计还关系着整个企业的生存与发展,甚至是拖动我国机械制造行业可以向前发展的主要推动力。
所以,如何把握好机械设计的主要环节,如何基于MATLAB是机械设计方法来进一步实现产品质量的提升,是本篇文章讨论的重点。
一.MATLAB介绍MATLAB是MathWorks公司推出的一套高性能的数值计算和可视化的软件。
它的很多优势和性能,比如:程序设计、信号处理、图像图形处理、机械设计等等诸多方面[1]。
工程技术人员可以通过使用MATLAB提供的工具箱,便可以找到很多复杂的工程问题的解决方法。
此外,MATLAB还可以对系统功能进行动态仿真。
工具箱的主要优势是可以提供一些诸如非线性最小化、无约束优化,方程求解,曲线拟合,二次规划等等大型问题的求解方案。
这种强大的优势可以使得,其为工程中的实际应用和操作都提供了简单的解决方法。
MATLAB非常的简单,容易掌握。
MATLAB的计算功能和图形表达功能都非常强大,是现在应用最广泛,影响力也很大的可视化软件其中之一[2]。
二.MATLAB的组成与应用MATLAB主要是由MATLAB的主程序、Simulink动态仿真系统以及MATLAB 工具箱这三部分组成的。
MATLAB的重要特色是程序扩展系统和功能各异的工具箱应用程序。
此外,MATLAB的主程序系统是由五个部分组成的,具体如下:首先是MATLAB语言,它是一个包括流程控制语句、函数、数据结构、面向对象编程方式的高级矩阵。
MATLAB语言能够通过交互来完成非常复杂的计算任务。
其次是MATLAB的开发环境。
MATLAB开发环境主要是帮助用户使用MATLAB函数和文件工具,方便用户使用MATLAB的函数和文件。
包括MATLAB 桌面,命令窗口、浏览器、路径等[3]。
机械优化设计Matlab-优化工具箱基本用法

Matlab 优化工具箱x = bintprog (f , A, b, Aeq, Beq , x0, options ) 0—1规划 用MATLAB 优化工具箱解线性规划命令:x=linprog(c ,A ,b ) 2、模型:命令:x=linprog(c ,A ,b ,Aeq ,beq ) 注意:若没有不等式:存在,则令A=[ ],b=[ ]. 若没有等式约束, 则令Aeq=[ ], beq=[ ].min z=cX1、模型:3、模型:命令:[1]x=linprog(c,A,b,Aeq,beq,VLB,VUB)[2]x=linprog(c,A,b,Aeq,beq,VLB,VUB, X0)注意:[1] 若没有等式约束,则令Aeq=[ ],beq=[]. [2]其中X0表示初始点4、命令:[x,fval]=linprog(…)返回最优解x及x处的目标函数值fval.例1 max解编写M文件小xxgh1。
m如下:c=[-0.4 —0。
28 —0.32 —0.72 -0.64 -0。
6];A=[0。
01 0.01 0.01 0.03 0。
03 0.03;0。
02 0 0 0。
05 0 0;0 0。
02 0 0 0。
05 0;0 0 0.03 0 0 0。
08];b=[850;700;100;900];Aeq=[]; beq=[];vlb=[0;0;0;0;0;0];vub=[];[x,fval]=linprog(c,A,b,Aeq,beq,vlb,vub)例2解: 编写M文件xxgh2.m如下:c=[6 3 4];A=[0 1 0];b=[50];Aeq=[1 1 1];beq=[120];vlb=[30,0,20];vub=[];[x,fval]=linprog(c,A,b,Aeq,beq,vlb,vub例3 (任务分配问题)某车间有甲、乙两台机床,可用于加工三种工件。
假定这两台车床的可用台时数分别为800和900,三种工件的数量分别为400、600和500,且已知用三种不同车床加工单位数量不同工件所需的台时数和加工费用如下表.问怎样分配车床的加工任务,才能既满足加工工件的要求,又使加工费用最低?解设在甲车床上加工工件1、2、3的数量分别为x1、x2、x3,在乙车床上加工工件1、2、3的数量分别为x4、x5、x6。
matlab在机械原理中的应用实例

matlab在机械原理中的应用实例在机械原理中,MATLAB是一种常用的计算工具,可以应用于诸多领域,包括机械设计、力学分析、动力学仿真等。
下面将介绍几个MATLAB在机械原理中的应用实例。
1.机构设计与分析MATLAB可以用于机构的设计和分析,例如平面机构、空间机构、曲柄机构等。
它提供了多种机构建模方法,如刚体模型、柔性模型等。
利用MATLAB的强大计算能力和绘图功能,可以进行机构分析和优化。
例如,可以计算机构的运动学性能、动力学性能和静力学性能,并进行动态仿真。
2.动力学仿真MATLAB可以进行各种机械系统的动力学仿真,包括振动系统、运动系统和控制系统。
通过对机械系统建立微分方程或差分方程,利用MATLAB进行数值解求解,并绘制相应的图形,可以得到机械系统的响应。
例如,可以模拟机械系统的自由振动、强迫振动和阻尼振动等。
3.控制系统设计与分析MATLAB在机械原理中的应用还包括控制系统的设计与分析。
通过MATLAB中的控制系统工具箱,可以进行控制系统的模型建立、系统分析和控制器设计。
例如,可以利用MATLAB对机械系统进行稳定性分析、频域分析和时域分析,并设计相应的控制器,实现机械系统的控制。
4.声学分析MATLAB也可以用于机械系统的声学分析。
通过建立机械系统的声学模型,利用MATLAB进行声场分布和声压级分析。
可以计算机械系统的声辐射特性,例如机械振动引起的噪声。
同时,还可以进行声学优化设计,减少机械系统的噪声。
5.优化设计MATLAB在机械原理中广泛应用于优化设计。
通过建立数学模型和定义目标函数,利用MATLAB进行优化计算。
例如,可以利用MATLAB进行机械系统的拓扑优化、形状优化和尺寸优化,实现机械系统的性能优化。
同时,还可以利用MATLAB的优化算法进行参数优化和控制器设计。
综上所述,MATLAB在机械原理中具有广泛的应用,可以应用于机构设计与分析、动力学仿真、控制系统设计与分析、声学分析和优化设计等方面。
机械优化设计MATLAB程序

机械优化设计MATLAB程序
1.建立目标函数和约束条件
在机械优化设计中,目标函数是需要最小化或最大化的量,可以是机械结构的重量、成本、应力等。
约束条件是指机械结构必须满足的条件,例如最大应力、最小挠度等。
在MATLAB中通过函数来定义目标函数和约束函数。
2.选择优化算法
MATLAB提供了多种优化算法,例如遗传算法、粒子群算法、模拟退火算法等。
根据实际情况选择合适的优化算法。
3.设计参数和变量范围
机械结构的优化设计通常涉及到多个参数和变量,如尺寸、材料等。
在MATLAB中通过定义参数和变量范围来限制优化过程中的空间。
4.编写优化程序
在MATLAB中,可以使用优化工具箱的相关函数来编写机械优化设计程序。
程序的基本结构包括定义目标函数、约束函数、参数和变量范围,并选择合适的优化算法进行求解。
5.运行优化程序
在编写完成程序后,可以通过运行程序来开始优化过程。
MATLAB会根据设定的目标函数和约束条件进行,并最终得到最优解。
6.分析优化结果
优化程序运行完成后,可以通过MATLAB提供的分析工具对优化结果进行评估。
可以通过绘制图表、计算相关指标等方式对结果进行分析和比较。
7.进一步优化和改进
根据优化结果,可以对机械结构进行进一步优化和改进。
可以调整参数和变量范围,重新运行优化程序,直到得到满意的结果。
总之,以上是一种用MATLAB编写机械优化设计程序的基本流程。
通过合理地利用MATLAB提供的工具和函数,可以帮助工程师进行机械结构的优化设计,提高设计效率和准确性。
机械优化设计MATLAB程序-无删减范文

机械优化设计MATLAB程序机械优化设计MATLAB程序引言机械优化设计是现代工程领域中的重要课题,通过采用数值方法和优化算法,可以实现对机械产品设计的自动化和优化。
MATLAB 作为一种功能强大的科学计算软件,为机械优化设计提供了丰富的工具和函数。
本文将介绍如何使用MATLAB编写机械优化设计程序,并讨论如何应用MATLAB进行机械优化设计。
MATLAB的优势与其他科学计算软件相比,MATLAB具有许多优势:1. 丰富的工具箱:MATLAB包含了各种各样的工具箱,涵盖了数值计算、优化、曲线拟合、数据可视化等领域,这些工具箱为机械优化设计提供了强大的支持。
2. 简单易用的编程语言:MATLAB使用的编程语言是一种高级语言,语法简单易懂,对于初学者而言非常友好。
即使没有编程经验,用户也能够快速上手。
3. 丰富的函数库:MATLAB拥有丰富的函数库,用户可以直接调用这些函数来完成各种任务,无需从零开始编写代码。
4. 广泛的应用领域:MATLAB在工程、科学、金融等领域得到了广泛的应用,拥有一个庞大的用户社区。
用户可以通过查看官方文档、参与用户社区等途径获取帮助和支持。
机械优化设计的步骤机械优化设计一般包括以下几个步骤:1. 建立数学模型:首先需要建立机械系统的数学模型,该模型可以基于物理原理或实验数据。
通过建立数学模型,可以将机械系统的性能指标与设计变量进行数学描述。
2. 确定优化目标:根据机械系统的需求和限制条件,确定优化目标。
优化目标可以是多个,如最小化能量损失、最小化材料使用量等。
3. 选择优化算法:基于问题的性质选择合适的优化算法。
常用的优化算法包括遗传算法、粒子群算法、梯度下降算法等。
4. 编写MATLAB代码:根据以上步骤,编写MATLAB代码实现机械优化设计。
MATLAB提供了丰富的工具箱和函数来辅助编写优化算法的代码。
编写机械优化设计MATLAB程序的步骤以下是编写机械优化设计MATLAB程序的一般步骤:1. 导入必要的工具箱和函数库:```% 导入优化工具箱import optim.% 导入其他必要的函数库import matlab.```2. 建立数学模型:根据机械系统的特点和要求,建立相应的数学模型。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
利用MATLAB求解机械设计优化问题的分析周婷婷(能源与动力学院,油气0701)摘要:MATLAB是目前国际上最流行的科学与工程计算的软件工具, 它具有强大的数值分析、矩阵运算、信号处理、图形显示、模拟仿真和最优化设计等功能。
本文浅谈MATLAB在机械设计优化问题的几点应用。
关键词:MATLAB 约束条件机械设计优化引言:在线性规划和非线性规划等领域经常遇到求函数极值等最优化问题,当函数或约束条件复杂到一定程度时就无法求解,而只能求助于极值分析算法,如果借助计算器进行手工计算的话,计算量会很大,如果要求遇到求解极值问题的每个人都去用BASIC,C和FORTRAN之类的高级语言编写一套程序的话,那是非一朝一日可以解决的,但如用MATLAB语言实现极值问题的数值解算,就可以避免计算量过大和编程难的两大难题,可以轻松高效地得到极值问题的数值解,而且可以达到足够的精度。
1无约束条件的极值问题的解算方法设有Rosenbrock函数如下:f(X1,X2)=100(X2-X1*X1)2+(1-X1)2求向量X取何值时,F(x)的值最小及最小值是多少?先用MATLAB语言的编辑器编写求解该问题的程序如下:%把函数写成MATLAB语言表达式fun=’100*(X(2)-X(1)*X(1)2+(1-X(1))2%猜自变量的初值X0=[-1 2]; %所有选项取默认值options=[ ];%调用最优化函数进行计算。
%函数最小值存放在数组元素options(8)中%与极值点对应的自变量值存放在向量X里%计算步数存放在数组元素options(10)中[X,options]=fmins(fun,X0,options);%显示与极值点对应的自变向量X的值。
%显示函数最小值options(8)%显示函数计算步数options(10)把上面这段程序保存为m文件,然后用“Tools”菜单中的“Run”命令行这段程序,就可以轻松的得到如下结果:X=9.999908938395383e-0019.99982742178110e-001ans=1.706171071794760e-001ans=195显然,计算结果与理论结果的误差小到e-10级,这里调用了MATLAB的最优化函数fmins(),它采用Nelder-Mead的单纯形算法,就是因为这个函数的采用,使最小值问题的解算变得非常简单。
2.带约束条件的极值问题的解法设目标函数和约束条件如下:f(x) =-3X1+X2+X3-X1+2X2-X3>= -114X1-X2-2X3<=-32X1-X3= -1X1>=0,X2>=0,X3>=0;求X向量取何值时函数取极小值?对条件极值问题通常的做法都是将约束条件标准化(即把等式约束条件写成等号为0的形式,把不等式写成<=0的形式)。
然后把条件极值问题转换为非条件极值问题,MATLAB也采用同样的做法。
下面是求解该问题的MATLAB语言程序。
funf =’f=-3*X(1)+X(2)+X(3);’%写出目标函数表达式。
fung=’g=[2*X(1)-X(3)+1;X(1)-2*X(2)+X(3)-11;4*X(1)-X(2)-2*X(3)+3];’%把约束条件标准化,写成向量函数。
注意等式约束条件要放在前面。
fun=[funf ,fung] %把目标函数表达式和约束条件表达式合成一个向量函数。
X0=[101] %猜初值options= [ ]options[13]=1 %在options(13)中指定等式约束条件的个数。
vlb =zeros(1,3); %指定向量X的下界为0。
vub =[ ]; %对向量的上界不做要求。
[X,options]=constr(fun,X0,options,Vlb,Vlb); %调constr()函数%显示与极值点对应的X 向量值。
options(8) %显示极小值options(10) %显示计算次数g=[2*X(1)-X(3)+1;X(1)-2*X(2)+X(3)-11;4*X(1)-X(2)-2*X(3)+3] %显示约束条件表达式的取值。
运行这段MATLAB程序得到如下结果:X=4.000000000000000e+0001.00000000000000le+0009.000000000000005e+000ans=-1.99999999999999le+000ans=17g=-6.21724522790877e-0151.77635683940025le-015-1.421085471520200e-014显然,计算结果是非常精确的,这里调用了MATLAB的最优化函数constr(),它是专门用来解算条件极值问题的。
3.机械优化设计应用实例机械优化设计把数学规划理论与数值方法应用于设计中,用计算机从大量可行方案中找出最优化设计方案,从而大大提高设计质量和设计效率。
MATLAB 具有解决线性规划和非线性规划、约束优化和无约束优化问题的内部函数,因而可以完成这一功能。
现举一例:螺栓组联结的优化设计如图4所示的压力容器螺栓组联接中,已知D 1= 400mm,D 2 =250mm ,缸内工作压力为p=1.5 MPa ,螺栓材料为35号钢,σs =320Mpa,安全系数S=3,取残余预紧力Q ’p =1.6F,采用铜皮石棉密封垫片。
现从安全、可靠、经济的角度来选择螺栓的个数n 和螺栓的直径d 。
3.1 设计问题分析若从经济性考虑,螺栓数量尽量少些、尺寸小些,但这会使降低联结的强度和密封性,不能保证安全可靠的工作;若从安全、可靠度考虑,螺栓数量应多一些、尺寸大一些为好,显然经济性差,甚至造成安装扳手空间过小,操作困难。
为此,该问题的设计思想是:在追求螺栓组联结经济成本最小化的同时,还要保证联结工作安全、可靠。
3 .2 设计变量 目标函数 约束条件3.2 .1 设计变量 选取螺栓的个数n 和直径d(mm)为设计变量:T 21T ]x [x ]d [n X ==3.2 .2 目标函数 追求螺栓组联结经济成本C n 最小为目标。
而当螺栓的长度、材料和加工条件一定时,螺栓的总成本与nd 值成正比,所以本问题优化设计的目标函数为min F(X) = C n = n d = x 1x 2① 强度约束条件 为了保证安全可靠地工作,螺栓组联结必须满足强度条件][32.521σπσ≤=d Qca ; 其中Mpa S s 106.3320][===σσ; n n p n D F F F F Q Q p πππ6093742505.16.246.26.26.1222'=⨯=⨯==+=+= N ;对于粗牙普通螺纹:由文献[3]推荐,小径 d 1=0.85d 所以,强度约束条件为:0106146192106146192106105624)(2212211≤-=-=-=x x nd nd X g ② 密封约束条件 为了保证密封安全,螺栓间距应小于10d ,所以,密封约束条件为:01040010)(2112≤-=-=x x d n D X g ππ ③ 安装扳手空间约束条件 为了保证足够的扳手空间,螺栓间距应大于5d ,所以,安装约束条件为:040055)(1213≤-=-=x x n D d X g ππ ④ 边界约束条件 0)(14≤-=x X g ;0)(25≤-=x X g3.3 .3 建立数学模型综上所述,本问题的数学模型可表达为:设计变量:T 21]x [x X =目标函数:min F(X) = x 1x 2约束条件: s.t. 0)(≤X g i ( i = 1, 2, 3, 4, 5,)现运用MATLAB 的优化函数进行求解 :先编写M 文件function [c,ceq]=mynas(x)c(1)=146192/(x(1)*x(2)^2)-106; % 非线性不等式约束c(2)=400*pi/x(1)-10*x(2);c(3)=-400*pi/x(1)+5*x(2);ceq=[]; % 非线性等式约束在MATLAB 命令窗口输入:fun='x(1)*x(2)'; % 目标函数x0=[4,6]; % 设计变量初始值A=[-1,0;0,-1]; % 线性不等式约束矩阵b=[0;0];Aeq=[]; % 线性等式约束矩阵beq=[];lb=[]; % 边界约束矩阵ub=[];[x,fval]=fmincon(fun,x0,A,b,Aeq,beq,lb,ub,@mynlsub) % 调用有约束优化函数运行结果如下:x = 11.4499 10.9751fval = 125.6637所以,该问题优化结果为:n =11.4499 ,d = 10.9751,目标函数最小值:F(X)= 125.6637。
根据实际问题的意义取整、标准化:n =12 ,d = 12。
由此例可以看出,与其它编程语言相比,MATLAB语言可以简化编程。
图5是调用MATLAB绘图函数自动对上例绘制的数学模型要素图(标注数字的曲线为目标函数的等值线),为此在MATLAB命令窗口输入:x1=0.1:20;y1=146192./(106.*x1.^2);y2=400.*pi./(10.*x1);y3=400.*pi./(5.*x1);plot(y1,x1,y2,x1,y3,x1,x(1),x(2),'o')y4=0.1:0.1:20;[y4,x1]=meshgrid(y4,x1);Q=y4.*x1;hold on;[c,h]=contour(y4,x1,Q);hold on;clabel(c,h) ;4.结束语从上述实例可以看出,利用求解最优化问题具有编程简单,精度很高,速度很快,各种工形式的最优化问题都适用等优点,巧妙各种利用MATLAB语言可以取得事半功倍的效果。
MATLAB具有科学计算的强大能力,不管处理什么样的对象——算法、图形、图像、报告或者算法仿真—— MATLAB 都能够帮助大家不断提高工作效率。
MATLAB 环境能够完成算法开发、数据分析和可视化、高性能数据分析等工作,相对于传统的 C 、C++ 或者FORTRAN 语言,在MATLAB 中完成这些工作所消耗的时间仅仅是传统手段的极小一部分。
开放性的MATLAB 软件和开发语言——M 语言,能够快速实现用户好的想法和概念。
MATLAB 本身包含了600 余个用于数学计算、统计和工程处理的函数,这样,就可以迅速完成科学计算任务而不必进行额外的开发。
业内领先的工具箱算法极大的扩展了MATLAB 的应用领域,例如信号处理,数字图像处理、数据分析和统计以及算法建模和仿真等。
MATLAB 的工具箱都是业内的专家、工程师结合多年来的经验和专业知识,专门开发的用户处理特殊数学计算、分析和图形可视化的功能函数集合。