基于MATLAB和COSMOSWorks的机械结构优化设计
- 格式:pdf
- 大小:1.16 MB
- 文档页数:4
文章编号:100320794(2004)1120011202基于MAT LAB算法的机械优化设计刘鹤松,姜 晶(哈尔滨工业大学汽车工程学院,山东威海264209)摘要:结合工程实例,介绍了MAT LAB优化工具箱在机械优化设计中的应用。
以齿轮减速器为例,根据其设计要求和特点,建立了减速器的优化设计数学模型,在保证零件强度和刚度等前提条件下,要求设计的齿轮组两轮子的体积及相关轴的体积均最小。
利用MAT LAB优化工具箱求解优化问题,不用编写大量算法程序,提高了设计效率,算法可靠,非常实用。
关键词:MAT LAB;机械优化设计;应用实例中图号:TH122文献标识码:A1 前言机械优化设计是以数学规划为理论基础,以计算机为工具,寻求最佳机械设计方案的现代设计方法之一。
是在给定的载荷或环境条件下,在对机械产品的性态、几何尺寸关系或其他因素的限制(约束)范围内,选取设计变量,建立目标函数并使其获得最优值的一种新的设计方法。
目前,已有很多成熟的优化方法程序可供选择,但它们各有自己的特点和适用范围。
实际应用时必须注意因为优化方法或初始参数选择而带来的收敛性问题及机时问题。
而MAT LAB语言的优化工具箱则选用最佳方法求解,初始参数输入简单,语法符合工程设计语言要求,编程工作量小,优越性明显。
2 MAT LAB语言及优化工具箱M A T LA B是由美国Mathw orks公司开发的集科学计算、数据可视化和程序设计为一体的工程应用软件,分总包和若干个工具箱,可以实现数值分析、优化、统计、偏微分方程数值解、自动控制、信号处理、图像处理等若干个领域的计算和图形显示功能,已被广泛应用于教学和科研中。
其中优化工具箱的应用包括:线性、非线性最小化,方程求解,曲线拟合,二次规划等问题中大型课题的求解方法,为优化方法在工程中的实际应用提供了更方便、快捷的途径。
3 MAT LAB优化工具箱中有约束规划应用由于机械优化设计多数是非线性约束最小化问题,目前,对于非线性约束优化问题的解法很多,但这些算法仅仅能解决一类特殊的非线性规划问题。
利用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是一种广泛使用的科学计算软件,其内置的优化工具箱可应用于各种机械设计问题中。
1.概述MATLAB优化工具箱提供了多种优化算法和建模工具,以解决各种实际问题。
这些算法可应用于连续变量、离散变量和非线性问题等。
在机械优化设计中,MATLAB可帮助设计师找到满足所有约束条件的最佳设计方案。
2.应用实例首先,我们需要建立一个描述这个问题的数学模型。
我们可以使用MATLAB的优化工具箱来定义问题的目标函数和约束条件。
在这个例子中,目标函数可能是零件的总成本,而约束条件可能包括性能指标(如强度或刚度)必须满足给定的标准。
然后,我们可以使用MATLAB的优化工具箱中的算法来解决这个问题。
我们可能会使用一种迭代方法,尝试不同的设计方案,直到找到最优的设计方案。
在这个过程中,MATLAB会自动调整设计参数,以满足我们定义的约束条件并最小化目标函数。
3.结论总的来说,MATLAB在机械优化设计中具有广泛的应用前景。
其强大的数学计算和优化工具箱可以有效地解决各种复杂的机械设计问题。
通过使用MATLAB,设计师可以在更短的时间内找到最优的设计方案,从而提高产品的性能和效率。
然而,尽管MATLAB提供了许多强大的工具和算法,但设计师仍需要了解基本的优化理论和方法才能有效地使用这些工具。
此外,设计师还需要对机械设计领域有深入的理解,以便建立正确的数学模型和约束条件。
未来,随着科技的不断发展,我们可以预期MATLAB将在更多领域得到应用。
例如,随着增材制造(3D打印)等新型制造技术的出现,优化设计将变得越来越重要。
在这种情况下,MATLAB可以帮助设计师找到最佳的设计方案,以最大限度地提高制造效率和降低成本。
基于matlab的机床主轴结构优化设计机床主轴是机床的核心部件,其结构设计的好坏直接影响到机床的加工精度和效率。
因此,对机床主轴的结构优化设计具有重要的意义。
本文将介绍基于matlab的机床主轴结构优化设计方法。
一、机床主轴结构分析机床主轴结构一般由主轴箱、主轴轴承、主轴轴颈、主轴电机等组成。
其中,主轴箱是主轴的支撑结构,主轴轴承是主轴的支撑部件,主轴轴颈是主轴的转动部件,主轴电机是主轴的驱动部件。
主轴箱的结构设计应考虑刚度、强度和稳定性等因素,主轴轴承的选型应考虑承载能力、转速和寿命等因素,主轴轴颈的设计应考虑转速、径向载荷和刚度等因素,主轴电机的选型应考虑功率、转速和效率等因素。
二、机床主轴结构优化设计方法1.建立机床主轴有限元模型建立机床主轴有限元模型是机床主轴结构优化设计的基础。
有限元模型应包括主轴箱、主轴轴承、主轴轴颈和主轴电机等部件。
有限元模型应考虑主轴的静态和动态特性,包括主轴的刚度、强度、自然频率和振动模态等。
2.确定机床主轴结构优化目标机床主轴结构优化目标应包括主轴的刚度、强度、自然频率和振动模态等。
优化目标应根据机床主轴的工作条件和加工要求确定。
3.确定机床主轴结构优化设计变量机床主轴结构优化设计变量应包括主轴箱、主轴轴承、主轴轴颈和主轴电机等部件的尺寸、材料和结构参数等。
设计变量应根据机床主轴的工作条件和加工要求确定。
4.建立机床主轴结构优化设计模型机床主轴结构优化设计模型应包括有限元模型、优化目标和设计变量等。
优化模型应考虑主轴的静态和动态特性,包括主轴的刚度、强度、自然频率和振动模态等。
5.进行机床主轴结构优化设计机床主轴结构优化设计应采用优化算法进行求解。
常用的优化算法包括遗传算法、粒子群算法、模拟退火算法等。
优化算法应根据机床主轴的工作条件和加工要求选择。
6.验证机床主轴结构优化设计结果机床主轴结构优化设计结果应进行验证。
验证方法包括有限元分析、试验验证等。
验证结果应与优化设计目标相符合。
第1期(总第152期)2009年2月机械工程与自动化M ECHAN I CAL EN G I N EER I N G & AU TOM A T I ON N o 11Feb 1文章编号:167226413(2009)0120033203基于M A TLAB 与CO S M O S M o ti on 的平面转位机构优化设计王旭鹏,吉晓民,雷 培(西安理工大学机械与精密仪器工程学院,陕西 西安 710048)摘要:对一种转位机构的结构和工作原理进行分析,建立了以评价该转位机构旋转过程扫掠面积最小为目标的数学模型,通过M A TLAB 软件对其进行优化求解,并依据优化结果在So lid W o rk s 中建立其装配体模型,应用CO S M O S M o ti on 软件进行了机构仿真,验证了优化结果的合理性,对实际设计、生产具有一定的指导意义。
关键词:转位机构;优化设计;M A TLAB ;CO S M O S M o ti on 中图分类号:T P 273 文献标识码:A收稿日期:2008208211;修回日期:2008210215作者简介:王旭鹏(19812),男,甘肃陇西人,在读硕士研究生,研究方向为现代设计理论及CAD CAM 集成技术。
0 引言转位机构由于能有效地实现给定的运动规律和运动轨迹,很好地完成预定的转位及分度动作,因而在机械和仪表等多个领域中得到了广泛的应用。
为了保证转位机构工作时的精确度,往往需要对转位机构各组件进行合理的优化设计,确定各构件的最优值。
利用现代计算机优化、仿真技术,使产品的结构和性能得到模拟,可以有效地缩短产品开发周期并获得优化设计方案。
1 基于M AT LAB 进行机构优化111 机构简介图1为该转位机构的示意图,它主要由油缸E 、摇杆A B C (由杆1和杆2焊接形成)、连杆3以及摇杆4组成。
图1中粗实线表示该转位机构的初始状态,细实线表示其运动终止状态。
基于MATLAB 工具箱的机械优化设计长江大学机械1:程学院机械11005班刘刚 摘 要:机械优化设计是一种非常重要的现代设计方法,能从众多的设计方案中 找出最佳方案,从而大大提高设计效率和质量。
本文系统介绍了机械优化设计的 研究内容及常规数学模型建立的方法,同时本文通过应用实例列举出了 MATLAB 在工程上的应用。
关键词:机械优化设计;应用实例:MATLAB 工具箱;优化目标优化设计是20世纪60年代随计算机技术发展起来的一门新学科,是构成和 推进现代设计方法产生与发展的重要内容。
机械优化设计是综合性和实用性都很 强的理论和技术,为机械设计提供了一种可靠、高效的科学设计方法,使设计者 由被动地分析、校核进入主动设计,能节约原材料,降低成本,缩短设计周期, 提高设计效率和水平,提升企业竞争力、经济效益与社会效益。
国内外相关学者 和科研人员对优化设计理论方法及其应用研究十分觅视,并开展了大最工作, 其基本理论和求解手段己逐渐成熟。
国内优化设计起步较晚,但在众多学者和科研人员的不懈努力下,机械优 化设计发展迅猛,在理论上和工程应用中都取得了很大进步和丰硕成果,但与 国外先进优化技术相比还存在一定差距,在实际工程中发挥效益的优化设计方 案或设计结果所占比例不大。
计算机等辅助设备性能的提高、科技与市场的双重 驱动,使得优化技术在机械设计和制造中的应用得到了长足发展,遗传算法、神 经网络、粒子群法等智能优化方法也在优化设计中得到了成功应用。
目前,优化 设计已成为航空航天、汽午制造等很多行业生产过程的一个必须且至关重要的环 节。
一、机械优化设计研究内容概述机械优化设计是一种现代、科学的设计方法,集思考、绘图、计算、实验于 一体,其结果不仅“可行”,而且“最优S 该“最优”是相对的,随着科技的 发展以及设计条件的改变,最优标准也将发生变化。
优化设计反映了人们对客观 世界认识的深化,要求人们根据事物的客观规律,在一定的物质基和技术条件 下充分发挥人的主观能动性,得出最优的设计方案a优化设计的思想是最优设计,利用数学手段建立满足设计要求优化模型, 方法是优化方法,使方案参数沿着方案更好的方向自动调整,以从众多可行设 计方案中选出最优方案,手段是计算机,计算机运算速度极快,能够从大量方 案中选出“最优方案“。
matlab软件在机械优化设计中的应用摘要:能够有效地处理复杂的科技问题,机械优化设计常常受到科学家和工程师的欢迎,而MATLAB软件则是一款功能强大且易于使用的计算机软件,能够满足复杂的机械优化设计需求。
本文介绍了MATLAB软件在机械优化设计中的应用,总结了其各种应用:数值计算、模拟计算、可视化计算等,并对其在机械优化设计中的应用效果、开发成本进行了详细分析,总结出MATLAB在机械优化设计中的优势。
关键词:MATLAB;机械优化设计;数值计算;模拟计算1 、MATLAB软件在机械优化设计中的应用机械优化设计是机械工程中的一项重要技术,能够有效地处理复杂的科技问题,受到科学家和工程师的欢迎。
而MATLAB软件则是一款功能强大且易于使用的计算机软件,能够满足复杂的机械优化设计需求。
本文介绍了MATLAB软件在机械优化设计中的应用,总结了其各种应用:数值计算、模拟计算、可视化计算等,并对其在机械优化设计中的应用效果、开发成本进行了详细分析,总结出MATLAB在机械优化设计中的优势。
2、MATLAB软件在机械优化设计中的应用(1)数值计算。
MATLAB软件具有强大的数值计算能力,可以实现复杂的数值计算,可以实现数据的采集、可视化和模拟,可以快速计算模型函数、变量变换函数、插值函数、积分函数和微分方程等,并可以方便地使用MATLAB自带的优化函数,实现机械优化设计仿真模型的数值分析和优化。
(2)模拟计算。
MATLAB软件具有多种模拟计算方式,可以使用MATLAB开发框架,很容易地实现优化设计仿真模型的快速构建和演示。
另外,MATLAB也提供了MATLAB绘图工具,用户可以根据不同的需求,使用该工具快速构建出任意复杂的仿真模型,进行机械优化设计的模拟计算。
(3)可视化计算。
MATLAB软件提供了一套图形化用户界面,可以使用MATLAB开发框架,快速实现模型的可视化计算,构建出复杂的系统行为模型,可将优化设计仿真模型的实时变化进行可视化展示。
机械优化设计MATLAB程序1.引言本文档旨在提供机械优化设计的MATLAB程序的详细说明。
机械优化设计是通过数学建模和优化算法,对机械结构进行优化设计,以达到设计要求和最佳性能。
MATLAB是一种强大的数学建模和仿真软件,可用于机械优化设计。
2.前期准备2.1 问题定义在机械优化设计中,首先需要明确问题的定义,包括设计要求、约束条件等。
对于每个具体的机械结构,需要明确其目标函数和设计变量。
2.2 建立数学模型在机械优化设计中,需要建立数学模型来描述机械结构的性能和约束条件。
数学模型可以是线性或非线性的,根据具体问题选择适当的模型。
3.优化算法选择根据机械优化设计的特点,选择适合的优化算法进行优化。
常用的优化算法有遗传算法、粒子群优化算法、模拟退火算法等。
4.MATLAB程序设计4.1 数据处理在进行机械优化设计时,需要对输入数据进行处理,包括导入数据、数据清洗和预处理等。
4.2 模型建立根据前期准备中建立的数学模型,使用MATLAB进行模型建立,其中包括目标函数和约束条件的定义。
4.3 优化算法应用根据选择的优化算法,使用MATLAB进行优化算法的应用。
需要注意的是,在应用优化算法之前,需要初始化优化算法的参数。
4.4 结果分析对优化结果进行分析和评估,包括目标函数的值、约束条件的满足程度等。
5.结果展示将优化结果用图表的形式展示出来,直观地描述机械结构的性能和优化效果。
6.结论根据优化结果和分析,对机械优化设计的效果进行总结和评价。
7.附件本文档涉及的附件包括:MATLAB程序代码、数据文件、结果输出文件等。
这些附件可以提供详细的参考和复现。
8.法律名词及注释在本文档中涉及的法律名词及其注释如下:1)版权:指对作品享有的权益,包括复制、发行、展示等权利。
2)专利:指对某种发明或技术的独占权,由国家授予。
3)商标:指用于标识某个商品或服务来源的标识,可以是名称、图形等。
4)知识产权:指人们在创造新的发明、设计、文学艺术作品等过程中所创造的财产权益。
机械优化设计MATLAB程序
1.建立目标函数和约束条件
在机械优化设计中,目标函数是需要最小化或最大化的量,可以是机械结构的重量、成本、应力等。
约束条件是指机械结构必须满足的条件,例如最大应力、最小挠度等。
在MATLAB中通过函数来定义目标函数和约束函数。
2.选择优化算法
MATLAB提供了多种优化算法,例如遗传算法、粒子群算法、模拟退火算法等。
根据实际情况选择合适的优化算法。
3.设计参数和变量范围
机械结构的优化设计通常涉及到多个参数和变量,如尺寸、材料等。
在MATLAB中通过定义参数和变量范围来限制优化过程中的空间。
4.编写优化程序
在MATLAB中,可以使用优化工具箱的相关函数来编写机械优化设计程序。
程序的基本结构包括定义目标函数、约束函数、参数和变量范围,并选择合适的优化算法进行求解。
5.运行优化程序
在编写完成程序后,可以通过运行程序来开始优化过程。
MATLAB会根据设定的目标函数和约束条件进行,并最终得到最优解。
6.分析优化结果
优化程序运行完成后,可以通过MATLAB提供的分析工具对优化结果进行评估。
可以通过绘制图表、计算相关指标等方式对结果进行分析和比较。
7.进一步优化和改进
根据优化结果,可以对机械结构进行进一步优化和改进。
可以调整参数和变量范围,重新运行优化程序,直到得到满意的结果。
总之,以上是一种用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. 建立数学模型:根据机械系统的特点和要求,建立相应的数学模型。
[精品]机械优化设计及其MATLAB实现
机械设计优化是一种在构建机械系统时,通过设计方法和技术,使机械系统具有最佳性能特征的一类工程问题。
它不仅要求机械系统要具备结构合理、可行性强和功能合理等可行性特征,而且要求满足系统的性能优化约束,以达到最佳的功能和性能。
为了解决机械设计优化类问题,许多算法已经得到广泛的应用,例如遗传算法、粒子群算法、陡峭穿越法以及模拟退火算法。
这些算法具有计算简单、收敛速度快以及优化效果好等特点,因此已经广泛应用于机械设计优化中。
同时,结合MATLAB等强大的数值计算软件,可以加速优化问题的计算,快速有效地解决问题。
根据机械设计优化的研究进程,MATLAB对于此类问题的解决有着重要的作用。
MATLAB 支持多种优化算法,具有函数极小化技术、计算机辅助优化设计(CAD)和遗传算法、模拟退火算法和粒子群等多种算法技术,可用于求解大多数机械设计优化问题。
此外,MATLAB还提供了丰富的可视化工具,使我们可以对平面或空间机械结构进行可视化监控,从而更好地理解机械系统的效果以及优化结果的合理性。
总之,MATLAB是一款功能强大的数值计算软件,它的强大功能可以帮助机械工程师解决机械设计优化类问题,提升设计效率和工作效果,因此成为机械设计优化领域中经久不衰的重要工具之一。
matlab在机械优化设计中的应用一、引言随着科技的不断发展,机械优化设计在工程领域中得到了广泛的应用。
而在机械优化设计中,matlab作为一款强大的数学软件,在优化算法的实现和结果分析等方面具有很大的优势。
本文将探讨matlab在机械优化设计中的应用。
二、matlab在机械优化设计中的基础知识1. matlab基础知识Matlab是一种交互式数值计算环境和编程语言,可用于科学计算、数据分析和可视化等多个领域。
Matlab有着丰富的函数库和工具箱,可进行各种数学运算、统计分析、图像处理、信号处理等操作。
2. 机械优化设计基础知识机械优化设计是指通过运用数学模型和计算方法对机械结构进行全面分析和综合考虑,以达到最佳性能指标或最小成本等目标。
其中包括了多目标规划、遗传算法、神经网络等多种方法。
三、matlab在机械优化设计中的应用1. 优化算法实现Matlab提供了各种常见的数值计算方法和最优化方法,如线性规划、非线性规划、遗传算法等。
通过Matlab的函数库和工具箱,可以轻松地实现各种优化算法,并且可以根据具体需求进行自定义编程。
2. 结果分析Matlab在结果分析方面也有很大的优势。
通过Matlab的图形界面,可以绘制各种图表,如散点图、折线图、柱状图等。
同时,Matlab还提供了多种统计分析方法,如方差分析、回归分析等,可以对优化结果进行全面的统计分析。
3. 机械结构设计Matlab还可以用于机械结构设计。
通过建立机械结构模型,并运用Matlab中的有限元分析工具箱进行模拟计算,可以得到机械结构在不同载荷下的应力和变形情况。
这些数据可以进一步用于优化设计和结构改进。
4. 案例应用以一台压缩机为例,利用Matlab进行机械优化设计。
首先建立压缩机的数学模型,并根据实际需求设置相关参数和目标函数。
然后采用遗传算法对压缩机进行优化设计,并得到最佳设计方案。
最后利用Matlab中的有限元分析工具箱对最佳设计方案进行模拟计算,并得到应力和变形等数据。
基于Matlab的机械优化设计课后题1.一维搜索法说明:采用0.618法进行编程代码如下:syms tf=(需要计算的函数)x1=0;h=2;f1=subs(f,x1);x2=x1+h;f2=subs(f,x2);f3=f2-1;t=1;if (f1-f2)>0while f3<f2f3=subs(f,x2+t*h);t=t+1;endx3=x2+t*h;elsef3=f2;f2=f1;t=1;f1=f2-1;x3=x2;x2=x1;while f1<f2f1=subs(f,x2-t*h);t=t+1;endx1=x2-t*h;enda=x1;b=x3;e=1e-05;k=0.618;a1=b-k*(b-a);a2=a+k*(b-a);f1=subs(f,a1);f2=subs(f,a2);c=(b-a)/2;while c>eif f1>f2a=a1;a1=a2;a2=a+k*(b-a);f1=f2;f2=subs(f,a2);elseb=a2;a2=a1;a1=b-k*(b-a);f2=f1;f1=subs(f,a1);endc=(b-a)/2;end实际运行结果如下:1. t=a1=5;f=11;2. t=a1=3.2796;f=22.6590;3. t=a1=2;f=1.1122e-011;2.无约束的优化设计说明:一共采用了三种算法的编程首先要建立步长函数,步长函数代码如下:function az=buchang(x,d,f)b=symvar(f);syms aaxn=x-d*aa;pa=subs(f,b,xn);pd=diff(pa,aa);aa=solve(pd);aa=real(aa);aa=subs(aa);n=size(aa,1);z=zeros(1,n);for i=1:nxn(:,i)=x-aa(i)*d;endfor i=1:nz(i)=subs(f,b,xn(:,i));ends=z(1);c=1;for i=1:n-1if s>z(i+1)s=z(i+1);c=i+1;endendaz=aa(c);end1.DFP:·¨syms (函数中的变量)f=(所需要优化的函数)x0=;b=symvar(f);n=size(b,2);g=cell(n,1);G=cell(n,n);H0=eye(n,n);for i=1:ng{i,1}=diff(f,b(i));endfor i=1:n %²úÉúº£Èû¾ØÕófor j=1:nG{j,i}=diff(g{i},b(j));endendg0=subs(g,b,x0);d0=H0*g0;a=buchang(x0,d0,f);x1=x0-a*d0;xcha=x1-x0;dis=mo(xcha);k=1while dis>1e-5g1=subs(g,b,x1);if g1==0Gy=subs(G,b,x1)breakendy0=g1-g0;s0=x1-x0;H1=H0+(s0*s0')/(s0'*y0)-(H0*y0*y0'*H0)/(y0'*H0*y0); d1=H1*g1;a=buchang(x1,d1,f);x2=x1-a*d1;g0=g1;x0=x1;x1=x2;H0=H1;xcha=x1-x0;dis=mo(xcha);x1subs(f,b,x1)k=k+1end2.坐标轮换法:syms t1t2f=(t1^2+t2-11)^2+(t1+t2^2-7)^2;b=symvar(f);n=size(b,2);A=eye(n,n);x0=[1;1];dis=1;k=0;while dis>1e-5if k==30breakende=A(:,1);a=buchang(x0,e,f);x1=x0-e*a;i=2;while i<n+1e=A(:,i);a=buchang(x1,e,f);x2=x1-e*a;x1=x2;i=i+1;endxcha=x1-x0;dis=mo(xcha);x0=x1;k=k+1x0end3.鲍威尔法:syms t1t2t3t4f=(t1+10*t2)^2+5*(t3-t4)^2+(t2-2*t3)^4+10*(t1-t4)^4;x0=[3;-1;0;1];b=symvar(f);n=size(b,2);A=eye(n,n);dis=1;while dis>1e-6F0=subs(f,b,x0);e=A(:,1);a=buchang(x0,e,f);x1=x0-e*a;i=2;fz=zeros(1,n);while i<n+1e=A(:,i);fd=subs(f,b,x1);fz(1,i-1)=fd;a=buchang(x1,e,f);x2=x1-a*e;x1=x2;i=i+1;endxcha=x1-x0;dis=mo(xcha);d=x1-x0;x=x1+d;F2=subs(f,b,x1);F3=subs(f,b,x);fz=[F0,fz];cz=zeros(1,n);for i=1:ncz(i)=fz(i)-fz(i+1);endczm=max(cz);m=find(czm);P1=F3-F0;P2=(F0-2*F2+F3)*(F0-F2-czm)^2-0.5*czm*(F0-F3)^2;if P1<0&&P2<0a=buchang(x1,d,f);x0=x1-a*d;A(:,m)=[];A=[A,d];elseif F2<F3x0=x1;elsex0=x;endendx0end实际运行结果如下:1.x=[5;6];f=02.x=[3;2];f=03.x=[3;0.5];f=0.52978;4.x=[0.1239;0.2844];f=5.8969;5.x=[0;0;0;0];f=0;3.约束优化方法程序说明:本题采用matlab自带的fmincon函数来解决非线性优化问题具体代码如下:1. function y=fun1(x)y=(x(1)-2).^2+(x(2)-1).^2;endfunction [c,ceq]=gt1(x)c=x(1).^2-x(2);ceq=[];endA=[1,1];b=2;x0=[1;2];lb=[];ub=[];[x,fval,exitflag,output,lambda,grad,hessian]=fmincon(@fun1,x0,A,b,[], [],lb,ub,@gt1);运行结果如下:x=[1;1];fval=12. function y=fun2(x)y=x(2).^3*((x(1)-3).^2-9)/(27*sqrt(3));endA=[-1/sqrt(3),1;-1,1/sqrt(3);1,1/sqrt(3)];b=[0;0;6];x0=[2;3];lb=[0;0];ub=[];[x,fval,exitflag,output,lambda,grad,hessian]=fmincon(@fun2,x0,A,b,[], [],lb,ub)运行结果如下:X=[4.5000;2.5981];f=-2.5313;备注:引用函数并未能够达到最优点,原因不明;3. function y=fun3(x)y=1000-x(1).^2-2*x(2).^2-x(3)^2-x(1).*x(2)-x(1).*x(3);endfunction [c,cev]=gt2(x)c=[];cev(1)=x(1).^2+x(2).^2+x(3).^2-25;cev(2)=8*x(1)+14*x(2)+7*x(3)-56;endA=[];b=[];Aq=[];bq=[];lb=[0;0;0];ub=[];x0=[2;2;2];[x,fval,exitflag,output,lambda,grad,hessian]=fmincon(@fun3,x0,A,b,Aq, bq,lb,ub,'gt2')运行结果如下:x= [3.5121;0.2170;3.5522];f= 961.7152;exitflag =4备注:引用函数由于算法在迭代过程中产生了NaN,迭代被迫终止4. function y=fun4(x)y=100*(x(2)-x(1).^2).^2+(1-x(1)).^2+90*(x(4)-x(3).^2).^2+(1-x(3))^2+1 0*((x(2)-1).^2+(x(4)-...1).^2)+19.8*(x(2)-1)*(x(4)-1);endA=[];b=[];Aq=[];bq=[];lb=[-10;-10;-10;-10];ub=[10;10;10;10];x0=[-3;-1 ;-3;-1];[x,fval,exitflag,output,lambda,grad,hessian]=fmincon(@fun4,x0,A,b,Aq, bq,lb,ub)运行结果如下:X=[1.0001;1.0002;0.9999;0.9997];f=0;exitflag=5 备注:原始对偶问题没有可行解。
基于MATLAB算法的机械优化设计作者:潘张彪2009071502机电工程学院摘要:在系统研究机械优化设计目标函数建立设计变量选取和约束条件确定的基础上,建立其优化设计数学模型然后采用matlab算法求解该优化问题。
优化结果表明采用matlab算法求解优化设计问题,不仅算法可靠有效,而且编写程序比较简单,设计效率能够得以提高。
该研究方法在解决其他机械优化设计问题时也同样适用。
关键词:matlab;圆柱齿轮减速器;优化设计前言圆柱齿轮减速器被广泛地应用于各类机械产品和装备中,因此,研究提高其承载能力,延长其使用寿命,减小其体积和质量等问题,具有重要的经济意义。
对减速器进行优化设计,选择其最佳参数是提高承载能力,减轻重量和降低成本等各项指标的一种重要途径。
本文以单级直齿圆柱齿轮减速器为研究对象,选择其体积最小为优化设计目标,建立优化设计数学模型,并利用matlab 优化工具箱进行求解1.基础知识1.数学模型的建立1.1 已知参数图1所示为单级直齿圆柱齿轮减速器的结构简图现要求在保证承载能力的条件下,以体积最小为目标进行优化设计。
已知:输入功率P=280Kw,小齿轮转速n1=980r/min,传动比i=5,齿轮的许用接触应力[&0]=855MPa,许用弯曲应力&1=261MPa,&2=213MPa;轴的许用弯曲应力&3=55MPa。
配对齿轮的结构和各部分尺寸的符号如图2所示(尺寸单位为cm)。
1.2选取设计变量如图一所示,由于齿轮和轴的尺寸(即减速器箱体内的零件)是决定减速器体积的依据,所以,根据齿轮几何尺寸和结构尺寸的计算公式,大齿轮采用辐板式,辐板上有四个均布孔,箱体内的齿轮和轴的总体积可近似地表示为:式中各符号如图一所示,取l=28cm,3l=32cm,并近似取1b=2b=b,2则由上式可知,给定传动比i后,减速器体积V取决于b,z,m,1l,1s d,2s d等6个参数,所以单级标准直齿圆柱齿轮减速器优化1设计的设计变量为:1.3建立目标函数根据齿轮结构设计的经验公式,有&=5m,D =2d-2&,2D=1.62s d,0d=0.25(2D-1D),c=0.2b。