为了正常的体验网站,请在浏览器设置里面开启Javascript功能!
首页 > 机械优化实例及matlab工具箱

机械优化实例及matlab工具箱

2013-03-18 50页 ppt 2MB 52阅读

用户头像

is_687863

暂无简介

举报
机械优化实例及matlab工具箱nullnull机械优化设计实例 及matlab优化工具 null机械优化设计实例 机械优化设计的一般过程 建立数学模型的基本原则 机械优化设计实例 null机械优化设计全过程一般可分为: 1)建立优化设计的数学模型。 2)选择适当的优化方法。 3)编写计算机程序。 4)准备必要的初始数据并上机计算。 5)对计算机求得的结果进行必要的分析。 机械优化设计的一般过程null1)设计变量的选择: 尽量减少设计变量数目 设计变量应当相互独立2)目标函...
机械优化实例及matlab工具箱
nullnull机械优化设计实例 及matlab优化工具 null机械优化设计实例 机械优化设计的一般过程 建立数学模型的基本原则 机械优化设计实例 null机械优化设计全过程一般可分为: 1)建立优化设计的数学模型。 2)选择适当的优化方法。 3)编写计算机程序。 4)准备必要的初始数据并上机计算。 5)对计算机求得的结果进行必要的分析。 机械优化设计的一般过程null1)设计变量的选择: 尽量减少设计变量数目 设计变量应当相互独立2)目标函数的确定: 选择最重要指标作为设计追求目标3)约束条件的确定: 性能约束和边界约束建立数学模型的基本原则设计实例1:设计实例1:试设计一重量最轻的空心传动轴。空心传动轴的D、d分别为轴的外径和内径。轴的长度不得小于3m。轴的材料为45钢,密度为7.8×10-6㎏/㎜,弹性模量E=2×105MPa,许用切应力[τ]=60MPa。轴所受扭矩为M=1.5×106N·mm。 分析 设计变量:外径D、内径d、长度l 设计要求:满足强度,稳定性和结构尺寸要求外,还应达到重量最轻目的。设计实例1:设计实例1:所设计的空心传动轴应满足以下条件: (1)扭转强度 空心传动轴的扭转切应力不得超过许用值,即 空心传动轴的扭转切应力: 设计实例1:设计实例1:空心传动轴的扭切应力: 经整理得: 设计实例1:设计实例1:(2)抗皱稳定性 扭转切应力不得超过扭转稳定得临界切应力:空心传动轴的扭转稳定的临界切应力为: 设计实例1:设计实例1:整理得: (3)结构尺寸 设计实例1:设计实例1:设: 则数学模型为: 设计实例1:设计实例1: 设计实例2:设计实例2:平面连杆机构优化设计一曲柄摇杆机构,M为连秆BC上一点,mm为预期的运动轨迹,要求设计该曲柄摇杆机构的有关参数,使连杆上点M在曲柄转动一周中,其运动轨迹(即连杆曲线)MM最佳地逼近预期轨迹mm。 设计实例2:设计实例2: 设计一再现预期轨迹mm的曲柄摇杆机构。已知xA=67mm,yA=10mm,等分数s=12,对应的轨迹mm上12个点的坐标值见表,许用传动角[γ]=300。设计实例2:设计实例2:一、建立优化设计的数学模型 点M的坐标: 设计实例2:设计实例2:点M的坐标: 设计实例2:设计实例2:该问题有8个设计变量,记为: 设计实例2:设计实例2:2)确定目标函数将曲柄一周转角分为s等分,要求连秆曲线最佳地逼近预期轨迹mm,具体可由连杆曲线上的s个点M最佳地逼近预期轨迹上的s个点m予以实现。由此可按点距和最小的原则建立如下目标函数:设计实例2:设计实例2:3)确定约束条件 (1)由曲柄存在条件,可得:(2)由杆长必须大于零及曲柄1为最短杆,可得: 设计实例2:设计实例2:(3)由满足传动角条件γ>[γ],可得: null优化设计工具null优化设计工具第1部分 MATLAB基础 第2部分 优化计算工具第1部分 MATLAB基础第1部分 MATLAB基础1.1 MATLAB环境简介 1.2 数据表示 1.3 数组 1.4 源文件(M-文件) 1.1 MATLAB窗口1.1 MATLAB窗口 启动MATLAB 其窗口如右1、Command Window (命令窗口)2、Workspace (工作区)1.2 数据表示 1.2 数据表示 1、变量 变量用标识符表示(字母打头、字母、数字、下划线组成,长度≤19)。可以合法出现而定义。 区分大小写字母,以当前值定义其类型。 2、函数名 函数名用标识符表示。 1.3 数组 1.3 数组 行向量、列向量、矩阵 1.3.1 创建数组的常用方法 1)直接列表定义数组例如: x=[1 2 3 4 5 6 7 8 9 0] y=[1,2,3,4,5,6,7,8,9,0] z=[1,2,3,4,5;2,3,4,5,6,7]1.3 数组 1.3 数组 2)域表定义数组 变量=初值:增量:终值|初值:终值 变量=(初值:增量:终值)*常数 例如: x=0:0.02:10 y=1:80 1.3 数组 1.3 数组 1.3.2、 数组的访问(一维) 数组名 表示全体元素 数组名(k) 表示第k元素 数组名(k1:k2) 表示第k1到k2元素1.3.3 数组运算1.3.3 数组运算1). 纯量与数组的算术运算 a ω c1 或 c1 ω a 其中ω可为+、-、* 结果为[a1ωc1 a2ωc1 … anωc1] 或[c1ωa1 c1ωa2 … c1ωan] 2). 数组加(减) 使两数组的对应各元素相加(减)1.3.3 数组运算1.3.3 数组运算3). 数组点乘 两数组的对应元素相乘a.*b 结果: [a1*b1 a2*b2…an*bn] (a与b的维数必须相同)1.3.3 数组运算1.3.3 数组运算4). 数组点正除(右除) 使两数组的对应元素正除 a./b 结果为: (a、b维数必须相同)1.4 源文件(M-文件)1.4 源文件(M-文件)分为两类: 函数文件和非函数文件 都用扩展名.M 1.4.1 函数文件(相当于子程序) function [输出表]=函数名(输入表) 函数体1.4.2 非函数文件 1.4.2 非函数文件 无函数头的M文件,由若干命令和注释构成。相当于主程序 如: %Filename is a sine.m x = 0:0.1:2*pi; y = sin(x); plot(x,y) 1.4.3 M-文件的操作 1.4.3 M-文件的操作 1.4.3 M-文件的操作 1.4.3 M-文件的操作 1.4.3 M-文件的操作 1.4.3 M-文件的操作 1.4.3 M-文件的操作 1.4.3 M-文件的操作 第2部分 优化计算工具第2部分 优化计算工具2.1 线性规划优化函数 2.2 无约束非线性优化函数 2.3 约束优化函数nullMATLAB解决的线性规划问题的标准形式为:2.1 线性规划优化函数2.1 线性规划优化函数[函数] linprog [格式] x = linprog(f,A,b,Aeq,beq) x = linprog(f,A,b,Aeq,beq,lb,ub,x0)f——是优化参数x的系数矩阵; A——线性不等式约束系数阵 b——线性不等式约束常数向量 Aeq——线性等式约束系数阵 Beq——线性等式约束常数向量 2.1 线性规划及其优化函数2.1 线性规划及其优化函数[应用举例] 求使函数 取最小值的x值, 且满足约束条件: 2.1线性规划及其优化函数2.1线性规划及其优化函数[代码] f = [-5; -4; -6]; A = [1 -1 1;3 2 4;3 2 0]; b = [20; 42; 30]; lb = zeros(3,1); [x,fval] = linprog(f,A,b,[],[],lb) [结果] x = 0.0000 15.0000 3.0000 fval = -78.00002.2 无约束非线性优化函数2.2 无约束非线性优化函数[函数]fminunc [格式] x = fminunc(fun,x0) x = fminunc(fun,x0,options) [x,fval] = fminunc(…) 2.2 无约束非线性优化函数2.2 无约束非线性优化函数[应用举例] 求 的最小值 [代码]%首先编写目标的.m文件 function f=myfun(x) f=3*x(1)^2+2*x(1)*x(2)+x(2)^2%然后调用函数 fminunc x0=[1,1]; [x,fval]=fminunc(myfun,x0)2.2 无约束非线性优化函数2.2 无约束非线性优化函数[结果] x = 1.0e-008 * -0.7512 0.2479 fval = 1.3818e-016 2.3 约束优化函数2.3 约束优化函数[函数] fmincon [格式] x = fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon) x = fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon,options) [x,fval] = fmincon(…)2.3 约束优化函数—盖板优化实例: 2.3 约束优化函数—盖板优化实例: null目标函数:约束: null盖板优化实例null盖板优化实例null盖板优化实例null运行结果: x = 0.6332 25.3264 fval = 101.3056盖板优化实例前面空心轴的问题:前面空心轴的问题: clear all x0=[23,19,4]; options=optimset('largescale','off','display','iter','tolx',1e-6); [x,fval,exitflag,output]=fmincon('myfun1',x0,[],[],[],[],[],[],'confun1',options)function f=myfun1(x) f=6.12*(x(1)^2-x(2)^2)*x(3)*10e-6前面空心轴的问题:前面空心轴的问题:x = 33.7505 12.8830 3.0000 fval = 0.1787 exitflag = 4 output = iterations: 7 funcCount: 39 stepsize: 1 algorithm: 'medium-scale: SQP, Quasi-Newton, line-search'装载机优化设计:装载机优化设计:
/
本文档为【机械优化实例及matlab工具箱】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索