MATLAB在机械优化设计中的应用_第1页
MATLAB在机械优化设计中的应用_第2页
MATLAB在机械优化设计中的应用_第3页
MATLAB在机械优化设计中的应用_第4页
MATLAB在机械优化设计中的应用_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、MATLAB在机械优化设计中的应用 刘刘玉玉美美 ,刘刘昆昆磊磊 (平平顶顶山山工工业业职职业业技技术术学学院院, 河河南南 平平顶顶山山 ) 摘摘 要要: MATLAB 是目前国际上最流行的科学与工程计算的软件工具 , 它具有强大的数 值分析、矩阵运算、信号处理、图形显示、模拟仿真和最优化设计等功能。本文用机械设计 中的几个常见的问题为例,来介绍 MATLA 的几点应用 。 关键词:关键词:M MA AT TL LA AB B ; 数数表表公公式式化化; 机机械械优化设计优化设计 引引言言 MATLAB是MathWorks公司推出的一套高效率的数值计算和可视化软件,它一面世,就以 强大的数值

2、分析、矩阵运算、信号处理、图形显示、 动态系统仿真和最优化设计等功能及交 互性强的特点,受到了广大工程技术人员的青睐 ,并风靡于欧美高等院校。 。 本文用机械设计中的几个常见的问题为例,来介绍MATLA的几点应用 。 1 1 数数表表线线图图公公式式化化 在机械设计手册中有大量的数表和线图 , 它们无法直接编程输入计算机。其实,这些数表 或线图主要有两个来源:一是来源于某些理论公式,此时只需找到原始公式就可以了;二是来 源于实验或统计的离散数据,这需要我们运用数学的方法将这些数表或线图公式化,而后再按 这些公式编程输入计算机 ,MATLAB就可以完成这一工作。 1 1 1 1 数数表表公公式式

3、化化曲曲线线拟拟合合法法 数表公式化就是运用数学的方法找出 数表中所列的离散 数据之间的函数关系,通常采用曲线拟合法。 试举一例:表1是滚动轴承选择计算时常用的温度系数f t表,试用MATLAB求出滚动轴承工作 温度-温度系数的拟合曲线及关系式。 在MATLAB 命令窗口输入: c=125 150 175 200 225 250 300 350; ft=0.95 0.90 0.85 0.80 0.75 0.70 0.60 0.50; f=polyfit(c,ft,1) % 调用曲线拟合函数 t=120:1:360; u=polyval(f,t); plot(t,u,c,ft,o); % 调用绘

4、图函数 运行结果如下:f =- 0.0020 1.2000 即:ft = - 0.002t+1.2000 (2-1) 图中曲线是用MATLAB的绘图函数自动绘出的,离散点是表1中的数值。 1 1 2 2 线图线图公公式式化化 关于线图的公式化,通常的步骤是:首先从给定的线图上读取一些离 散数据,作出数表;然后再根据设计精度的要求,采用前面所述的“曲线拟合法”将线图公式化。 例如:如图2所示,是进行轴的疲劳强度设计时所使用的线图:轴上有通孔时,在受剪工作 状态下的 应力集中系数线图,试把它公式化。 首先,在所给的图2的线图上读取一些离散数据,做出数表,记录如表2所示 。然后, 在MATLAB 命

5、令窗口输入: dD=0:0.05:0.30; at=2.0 1.78 1.66 1.57 1.5 1.46 1.42; A=polyfit(dD,at,3) 运行结果如下: A =-22.2222 16.3810 -4.8397 1.9957 即得图2所示线图的拟合公式为: = -22.2222 + 16.3810- 3 )(Dd 2 )(Dd 4.8397+ 1.9957 (22))(Dd 有了这些公式, 设计中就可以把它们编入程序,利用公式(21)可以求任意温度对应的温 度系数,而无需再去查表输值;利用公式(22)可以求任意(d/D)值所对应的应力集中系数 ,而无需再去查图输值。 例如:要

6、求d/D=022时的=? 只需 在MATLAB 命令窗口输入: at= polyval(A,0.22) % at为前面所求的系数矩 阵 运行结果如下: at= 1.4872 2 2、 机机械械优优化化设设计计应应用用实实例例 机械优化设计把数学规划理论与数值方法应用于设计 表表 1: 滚动轴承温度系数滚动轴承温度系数f t 轴承工作温 度 温度系数 ( )f t 125 0.95 150 0.90 175 0.85 200 0.80 225 0.75 250 0.70 300 0.60 350 0.50 表表 2 : 轴上横向孔处应力集中系数轴上横向孔处应力集中系数 孔径/轴径应力集中系数 d

7、/D 0.002.00 0.051.78 0.101.66 0.151.57 0.201.50 0.251.46 0.301.42 中,用计算机从大量可行方案中找出 最优化设计方案,从 而大大 提高设计质量和设计效率。 MATLAB 具有解决线性规划和非线性 规划、约束优化和无 约束优化问题的内部函数,因而可 以完成这 一功能。 现举一例:螺栓组联结的优化设计螺栓组联结的优化设计 如图 4 所示的压力容器螺栓组联接中,已知 D1= 400mm,D2 = 250mm,缸内工作压力为 p=1.5 MPa,螺栓材料为 35 号钢,s=320Mpa,安全系数 S=3,取残余预紧力 Qp=1.6F,采用

8、铜皮石棉密封 垫片。现从安全、可靠、经济的角度来选择螺栓的个数 n 和螺栓的直径 d 。 2 2 1 1 设设计计问问题题分分析析 若从经济性考虑,螺栓数量尽量少些、尺寸小些,但这会使降低联结的强度和密封性,不能 保证安全可靠的工作;若从安全、可靠度考虑,螺栓数量应多一些、尺寸大一些为好,显然经济 性差,甚至造成安装扳手空间过小,操作困难。为此,该问题的设计思想是:在追求螺栓组联结该问题的设计思想是:在追求螺栓组联结 经济成本最小化的同时,还要保证联结工作安全、可靠经济成本最小化的同时,还要保证联结工作安全、可靠。 2 2 2 2 设设计计变变量量 目目标标函函数数 约约束束条条件件 2 2

9、2 2 . .1 1 设设计计变变量量 选取螺栓的个数 n 和直径 d(mm)为设计变量: T 21 T xxdn X 2 2 2 2 . .2 2 目标函数目标函数 追求螺栓组联结经济成本 Cn最小为目标。而当螺栓的长度、材料和 加工条件一定时,螺栓的总成本与 nd 值成正比,所以本问题优化设计的 目标函数为 min F(X) = Cn = nd = x1x2 强度约束条件强度约束条件 为了保证安全可靠地工作,螺栓组联结必须满足强度条件 3 2 . 5 2 1 d Q ca ; 其中Mpa S s 106 . 3 320 ; n n p n D FFFFQQ p 60937 4 250 5

10、. 16 . 2 4 6 . 26 . 26 . 1 22 2 N; 对于粗牙普通螺纹:由文献3推荐,小径 d1=0.85d 所以,强度约束条件为: 0106 146192 106 146192 106 105624 )( 2 21 22 1 1 xxndnd Xg 密封密封约束条件约束条件 为了保证密封安全,螺栓间距应小于 10d,所以,密封约束条件为: 010 400 10)( 2 1 1 2 x x d n D Xg 安装扳手空间安装扳手空间约束条件约束条件 为了保证足够的扳手空间,螺栓间距应大于 5d,所以,安装安装约束 条件为:0 400 55)( 1 2 1 3 x x n D d

11、Xg 边界约束条件边界约束条件 0)( 14 xXg ;0)( 25 xXg 1 1 3 3 3 3 建建立立数数学学模模型型 综上所述,本问题的数学模型可表达为: 设计变量: T 21 xxX 目标函数:min F(X) = x1x2 约束条件: s.t. 0)(Xgi ( i = 1, 2, 3, 4, 5,) 现运用MATLAB的优化函数进行求解 : 先编写M文件 function c,ceq=mynas(x) c(1)=/(x(1)*x(2)2)-106; % 非线性不等式约束 c(2)=400*pi/x(1)-10*x(2); c(3)=-400*pi/x(1)+5*x(2); ce

12、q=; % 非线性等式约束 在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.9751 fval = 125.6637 所以,该问题优化结果为: n =11.4499 ,d = 10.9751,目标函数最小值: F(X)=

13、125.6637。根据实际问题的意义取整、标准化: n =12 ,d = 12。 由此例可以看出,与其它编程语言相比, MATLAB语言可以简化编程。 图5是调用MATLAB绘图函数自动对上例绘制的数学模型要素图(标注数字的曲线为目标函 数的等值线) ,为此 在MATLAB命令窗口输入: x1=0.1:20; y1=./(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

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论