Matlab机械优化设计实例教程.ppt

合集下载

八章机械优化设计实例PPT课件

八章机械优化设计实例PPT课件
第22页/共25页
2)曲柄摇杆机构的传动角应在 和 之间,可得 min
max
g7
x
arccos
l2
2
l32 l1
2l2l3
l4
2
max
0
g8
x
min
arccos
l22
l32 l1
2l2l3
l4
2
0
二、曲柄摇杆机构再现已知运动轨迹的优化设计
所谓再现已知运动轨迹:是指机构的连杆曲线尽可能 地接近某一给定曲线。
第15页/共25页
不同的设计要求,目标函数不同。若减速器的中心距没有要求时,可取减速器 最大尺寸最小或重量最轻作为目标函数。
第16页/共25页
f x m min f x l r1 a r4 min
若中心距固定,可取其承载能力为目标函数。
f x 1/ min
减速器类型、结构形式不同,约束函数也不完全相同。 (1)边界约束
第14页/共25页
不同类型的减速器,选取的设计变量使不同的。
展开式圆柱齿轮减速器:齿轮齿数、模数、齿宽、 螺旋角及变位系数等。
行星齿轮减速器:除此之外,还可加行星轮个数。 设计变量应是独立参数,非独立参数不可列为设计 变量。例如齿轮齿数比为已知,一对齿轮传动中,只 能取Z1或Z2一个为设计变量。
又如中心距不可取为设计变量,因为齿轮齿数确定 后,中心距就随之确定了。
(2)性能约束
第17页/共25页
一、单级圆柱齿轮减速器的优化设计
第18页/共25页
第四节 平面连杆机构的优化设计 连杆机构的类型很多,这里只以曲柄摇杆机构两类 运动学设计为例来说明连杆机构优化设计的一般步骤 和方法。 一、曲柄摇杆机构再现已知运动规律的优化设计

Matlab 7.2优化设计实例指导教程完整教学课件

Matlab 7.2优化设计实例指导教程完整教学课件

3.1.2 函数式文件
• MATLAB函数通常是指MATLAB系统中以 设计好的完成某一种特定的运算或实现某 一特定功能的一个子程序。MATLAB函数 或函数文件是MATLAB语言中最重要的组 成部分,MATLAB提供的各种各样的工具 箱几乎都是以函数形式给出的。MATLAB 的工具箱是内容极为丰富的函数库,可以 实现各种各样的功能。
3.2.4 人机交互语句
• echo命令 • input命令 • keyboard命令
3.2.5 MATLAB程序的调试命令
• dbstop命令 • dbcont命令 • dbstep命令 • dbstack命令 • dbstatus命令 • dbtype命令 • dbquit命令
3.3 函数变量及其作用域
1.4.2帮助命令
• 为了使用户更快捷地获得帮助,MATLAB 提供了一些帮助命令 。
• 1. help系列命令 • 2. lookfor函数 • 3.其它的帮助命令
1.4.3联机演示系统
• 单击MATLAB主窗口菜单的【Help】中的 【Demos】选项 ,将进入MATLAB帮助系 统的主演示页面。
4.1.2 MATLAB编译器4.4的新特点
• 使用MATLAB组件运行时取代MATLAB数 学和图形库
• 只为接口函数生成代码 • 具有代码生成和格式化有关的选项,包括
了几个新选项,取消了一些打包选项与相 关打包文件。 • 支持.NET。 • 支持Microsoft Visual C/C++8.0。 • 不再支持HP-UX。
地确定可行方案并找到其中最优方案的学 科。 • 作为20世纪应用数学的重要研究成果,最 优化理论在工业生产与管理、计算机和信 息科学、系统科学、国民经济等许多领域 产生很大效益。

MATLAB在力学机械中的应用举例(课件PPT)

MATLAB在力学机械中的应用举例(课件PPT)

wx=diff(vx)./dt(1:Ldt-1);wy=diff(vy)./dt(1:Ldt-1); %二次导数
[t(2:Ldt),x(2:Ldt),y(2:Ldt),wx,wy]
%显示数据
10
子程序ex713f
函数程序应另存成一个文件ex713f.m function zprime=ex713f(t,z) global vt vm zprime=[0;0]; % 给出t0之前zprime初值 zprime(1)=-vt-vm*z(1)/sqrt(z(1)^2+z(2)^2); zprime(2)=-vm*z(2)/sqrt(z(1)^2+z(2)^2); %上面两句可换成一个矩阵语句: zprime=-vt*[1;0]-vm*z/sqrt(z(1)^2+z(2)^2);
5
线性数学模型
对杆件1:ΣX=0 Nax + Ncx = 0 ΣY=0 Nay + Ncy - G1 = 0; ΣM=0 Ncy*L1*cos(theta1)-Ncx*L1*sin(theta1)-…
G1*L1/2*cos(theta1)=0; 对杆件2: ΣX=0 Nbx - Ncx = 0; ΣY=0 Nby - Ncy - G2 = 0; ΣM=0 Ncy*L2*cos(theta2)+ …
从而 w3 = L1w1cos(π/2-θ1+θ2)/ (L3cos(θ3-π/2-θ2)) 由杆2两端点a和b的速度沿杆长垂直方向的分量之差,可以求
出杆2的角速度. w2 = (-(L3sin(θ3-π/2-θ2))- L1w1sin(π/2-θ1+θ2))/L2 2. 求运动全过程的角位置,角速度,角加速度曲线,这只有借助 于计算工具才能做到,因为用手工算一个点就不胜其烦, 算 几十个点是很难想象的.而由MATLAB编程调用fzero函数时, 要求给出一个近似猜测值,若连续算几十点,前一个解就可 作为后一个解的猜测值,所以反而带来了方便. 这样,本书将提供两个程序ex714a.m和ex714b.m来表述这两种 方法,它们所要调用的函数程序命名为ex714f.m.

MATLAB优化的设计实验课件

MATLAB优化的设计实验课件
2019/9/6
1.1MATLAB的帮助系统
4. 帮助命令: help 文件名 或 函数名 帮助菜单: 演示命令:demo
• 总体看,matlab可以被视为一个计算工具、绘图工具、 编程工具
2019/9/6
1.2 数据表示
1.2.1数据类型 有整型、实型、复型、字符串四种类型
1、常数 )整型常数:-10 0 10 2)实型常数:0.3 .3 3. -3914e-2 (表示范围约10±308) 3)复型常数:1+2i 3.5-6.18i 1+3.2i
b[1,1,1,1,1,1,1,1,1] 计算 2*a、a+b、a-b、a.*b、a’、[a,b]、a.^2、a./b [练习]求解线性方程组
5x1 6x2 7x3 100 3x1 8x2 10x3 150 7x1 4x2 120 提示:将方程组化为 Axb 的矩阵形式,利用矩阵运算求解
2019/9/6
1.2.2数组
2、 数组的访问(一维) 数组名 表示全体元素 数组名(k) 表示第k元素 数组名(k1:k2) 表示第k1到k2元素
数组名(k1:k2:k3) 表示第k1、k1+k2、 k1+2k2,…,到k3 元素
数组名([k1,k2,…,kn]) 表示第k1,k2,…,kn元素 其中:kp也可为初值:终值或初值:增量:终值的形式。
5. 置空(删去某行或某列) 如: A = [1,2,3;4,5,6;7,8,9]; B = A; B(:,2) = [ ]; %将B的第2列删掉 B = A; B(1,:) = [ ]; %删去B的第1行
2019/9/6
1.3 矩阵运算
6. 置零
如:A(2,:) = [0,0,0]
将把A的第2行置零。注意:不能写成 A(2,:) = 0

matlab机械优化设计应用实例

matlab机械优化设计应用实例
案例如图有一块边长为6m的正方形铝板四角截去相等的边长为x的方块并折转造一个无盖的箱子问如何截法x取何值才能获得最大容器的箱子只写出这一优化问题的数学模型
一维优化问题
一维优化问题的数学模型为:
min
具体的调用格式如下: 调用格式1:
f ( x)
x1 x x2
在matlab中,一维优化问题,也就是一维搜索问题的实现是由函数fminbnd 来实现的。
调用方式二: 在命令窗口中输入: [x,fval]=fminsearch(@demfun1,[0,0]) 得到的结果 X= 1.0016 0.8335 Fval= -3.3241
约束优化问题
1.线性规划
f=[-7;-5]; A=[3,2;4,6;0,7]; b=[90;200;210]; lb=zeros(2,1); 调用linprog函数 [x,fval]=linprog(f,A,b,[],[],lb)
方法二:在MATLAB的M编辑器中建立函数文件用来保存所要 求解最小值的函数:
function f=demfun1(x) f= 2*x(1)^3+4*x(1)*x(2)^3-10*x(1)*x(2)+x(2)^2; 保存为demfun1.m。
然后,在命令窗口中调用该函数,这里有两种调用方式:
调用方式一: 在命令窗口中输入: [x,fval]=fminsearch('demfun1',[0,0])
调用格式2:[X,FVAL]=fminunc(FUN,X0) 这种格式的功能是:同时返回解x和在点x处的目标函数值。
1. 求函数F=sin(x)+3的最小值点。
function f=demfun(x) f=sin(x)+3 然后,在命令窗口中输入: X=fminunc(@demfun,2)

(汇总)Matlab机械优化设计实例教程

(汇总)Matlab机械优化设计实例教程
[x,fval] = fminbnd(…) [x,fval,exitflag] = fminbnd(…) [x,fval,exitflag,output] = fminbnd(…) [应用背景]给定区间x1<x<x2,求函数f(x)的最小值。X可以 是多元向量
现代设计理论与方法
4
1.2有边界非线性最小化
表2 机床加工情况表
设在甲机床上加工工件1、2和3的数量分别为x1、x2和x3,在乙机床上加工 工件1、2和3的数量分别为x4、x5和x6。根据三种工种的数量限制,有
现代设计理论与方法
19
x1+x4=300 (对工件1) x2+x5=500 (对工件2) x3+x6=400 (对工件3) 再根据机床甲和乙的可用总台时限制,可以得到其它约束条件。 以总加工费用最少为目标函数,组合约束条件,可以得到下面的数 学模型: 首先输入以下系数: f = [13;9;10;11;12;8]; A = [0.4 1.1 1 0 0 0 0 0 0 0.5 1.2 1.3]; b = [700; 800]; Aeq=[1 0 0 1 0 0 010010 0 0 1 0 0 1]; beq=[300 500 400]; lb = zeros(6,1);
现代设计理论与方法
16
1.3线性规划及其优化函数
[例四] 生产方案的最优化问题 某工厂生产A和B两种产品,它们需要经过三种设备的加工,其工时
如表9-16所示。设备一、二和三每天可使用的时间分别不超过12、10和8 小时。产品A和B的利润随市场的需求有所波动,如果预测未来某个时期 内A和B的利润分别为4和3千元/吨,问在那个时期内,每天应安排产品A、 B各多少吨,才能使工厂获利最大?

机械优化设计的MATLAB实现课件

机械优化设计的MATLAB实现课件

[x,fval] = linprog(…) % 返回目标函数最优值,即fval= f (x)。 [x,fval,lambda,exitflag] = linprog(…) % lambda为解x的Lagrange乘子。 [x, favl,lambda,fval,exitflag] = linprog(…) % exitflag为终止迭代的错误条件。 [x,fval, lambda,exitflag,output] = linprog(…) % output为关于优化的一些信息 说明 若exitflag>0表示函数收敛于解x,exitflag=0表示超过函数估值或迭代的最 大数字,exitflag<0表示函数不收敛于解x;若lambda=lower 表示下界lb, lambda=upper表示上界ub,lambda=ineqlin表示不等式约束,lambda=eqlin表示 等式约束,lambda中的非0元素表示对应的约束是有效约束;output=iterations表 示迭代次数,output=algorithm表示使用的运算规则,output=cgiterations表示 PCG迭代次数。

MATLAB求解程序清单为:
首先输入下列系数 f=[-60;-120]; A=[9,4;3,10;4,5]; b=[360,300,200]; lb=zeros(2,1); ub=[];
然后调用linprog函数:
[x,fval,exitflag,output,lambda]=linprog(f,A,b,[],[],lb,ub) 计算结果为: x = 20.0000 24.0000 fval = -4.0800e+003 exitflag = 1 output = iterations: 5 algorithm: 'large-scale: interior point‘ cgiterations: 0 message: 'Optimization terminated.' lambda = ineqlin: [3x1 double] eqlin: [0x1 double] upper: [2x1 double] lower: [2x1 double]

Matlab 机械优化设计

Matlab 机械优化设计

x= 1.0000 2.0007
fval = 10.0000
exigflag = 1
hessian = iterations: 6 funcCount: 21 stepsize: 1
firstorderopt: 0.0013 algorithm: 'medium-scale: Quasi-
Newton line search'
l Hessian – 用户定义的目标函数的Hessian矩阵。 l HessPattern – 用于有限差分的Hessian矩阵的 稀疏形式。若不方便求fun函数的稀疏Hessian矩阵 H,可以通过用梯度的有限差分获得的H的稀疏结 构(如非零值的位置等)来得到近似的Hessian矩 阵H。若连矩阵的稀疏结构都不知道,则可以将 HessPattern设为密集矩阵,在每一次迭代过程中, 都将进行密集矩阵的有限差分近似(这是缺省设
无约束非线性规划问题 相关函数
fminunc函数 fminsearch函数
fminunc函数 功能: 给定初值,求多变量标量函数的最小值。 常用于无约束非线性最优化问题。 数学模型:
min f (x) x
其中,x为一向量,f(x)为一函数,返回标量。
语法格式及描述
x = fminunc(fun,x0)给定初值x0,求fun函数的局 部极小点x。x0可以是标量、向量或矩阵。 x = fminunc(fun,x0,options)用options参数中指 定的优化参数进行最小化。 x = fminunc(fun,x0,options,P1,P2,...)将问题参 数p1、p2等直接输给目标函数fun,将options参 数设置为空矩阵,作为options参数的缺省值。

机械优化设计经典实例PPT课件

机械优化设计经典实例PPT课件


x1
x2 x1
3/ 2


0
g3 (X ) 3 l 3 x3 0
g4 (X ) d x2 0
g5 ( X ) D d x1 x2 0
设计实例2: 平面连杆机构优化设计
一曲柄摇杆机构, M为连秆BC上一点, mm为预期的运动 轨迹,要求设计该 曲柄摇杆机构的有 关参数,使连杆上 点M在曲柄转动一 周中,其运动轨迹 (即连杆曲线)MM 最佳地逼近预期轨 迹mm。
6.12(x12 x22 )x3 106
设计实例1:
g1 ( X ) d 4 D 4 1.27 D 10 5 x2 4 x14 1.27 10 5 0
g2 ()

154.34D D4 d 4

Dd D
3/ 2

154.34x1 x14 x2 4
设计实例2:
设计一再现预期轨迹mm的曲柄摇杆机构。已知xA= 67mm,yA=10mm,等分数s=12,对应的轨迹mm 上12个点的坐标值见表,许用传动角[γ]=300。
设计实例2:
一、建立优化设计的数学模型
点M的坐标: xM xA l1 cos( ) l5 cos( ) yM yA l1 sin( ) l5 sin( )
( ) arccosl12 l22 l32 l42 2l1l4 cos
2l2 l12 l42 2l1l4 cos arctg l1 sin
l4 l1 cos
设计实例2:
点M的坐标: xM xA l1 cos( ) l5 cos( ) yM yA l1 sin( ) l5 sin( )

MATLAB在优化中的应用课件

MATLAB在优化中的应用课件

x
为解;否则,x不是最终解,它只是迭代制止
时优化过程的值
fval
解x处的目标函数值
exitflag output
描述退出条件: exitflag>0,表目标函数收敛于解x处 exitflag=0,表已达到函数评价或迭代
的最大次数 exitflag<0,表目标函数不收敛
包含优化结果信息的输出结构. Iterations:迭代次数
质量问题 50%由于设
计不周
成本 70%设计阶
段决定
总周期 40%设计周
期 占据
学习交流PPT
8
优化设计的概念
•优化设计是借助最优化数值计算方法和计算机技术, 求取工程问题的最优设计方案。 •即:进行最优化设计时,必须首先将实际问题加以 数学描述,形成一组由数学表达式组成的数学模型, 然后选择一种最优化数值计算方法和计算机程序, 在计算机上运算求解,得到一组最优的设计参数。
• MATLAB由主包和功能各异的工具箱组成,其基本 数据结构是矩阵。
• MATLAB具有非常强大的计算功能,其已成为世界 上应用最广泛的工程计算应用软件之一。 (Mathematica、Maple)
学习交流PPT
3
MATLAB主要功能和特点
•主要功能
1,数字计算功能
2,符号计算功能
3,数据分析和可视化分析 功能
数X’*H*X+f*X 中线性项的系数向量
非 线 性 优 化 的 目 标 函 数 .fun必 须 为 行 命 令 对 象 或 M文 件 、 嵌 入 函 数 、 或 MEX文 件 的 名 称
二次规划的目标函数X’*H*X+f*X 中二次项的系 数矩阵
A矩阵和b向量分别为线性不等式约束:
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
现代设计理论与方法 浙师大工学院机械系
9
1.3线性规划及其优化函数
[函数] linprog [格式] x = linprog(f,A,b,Aeq,beq)
x = linprog(f,A,b,Aeq,beq,lb,ub) x = linprog(f,A,b,Aeq,beq,lb,ub,x0) x = linprog(f,A,b,Aeq,beq,lb,ub,x0,options)
现代设计理论与方法 浙师大工学院机械系
2
1.1 优化工具箱中的函数
优化工具箱中的函数包括下面几类:
最小化函数
函数
描述
fminbnd
有边界的标量非线性最小化
linprog
线性规划
fminsearch, fminunc fminimax fmincon quadprog
无约束非线性最小化 最大最小化
有约束的非线性最小化 二次规划
f = -(3-2*x).^2 * x;
然后调用fminbnd函数(磁盘中M文件名为opt21_3.m):
x = fminbnd(@opt21_3o,0,1.5)
ቤተ መጻሕፍቲ ባይዱ
得到问题的解:
x = 0.5000
即剪掉的正方形的边长为0.5m时水槽的容积最大。
水槽的最大容积计算:
y =-2.0000
所以水槽的最大容积为2.0000m3。
现代设计理论与方法 浙师大工学院机械系
4
1.2有边界非线性最小化
[说明] fun 是目标函数 x1,x2 设置优化变量给定区间的上下界 options 设置优化选项参数 fval 返回目标函数在最优解x点的函数值 exitflag 返回算法的终止标志 output是一个返回优化算法信息的结构 该参数包含下列优化信息:
fgoalattain
多目标达到问题
现代设计理论与方法 浙师大工学院机械系
3
1.2有边界非线性最小化
[函数] fminbnd 功能:找到固定区间内单变量函数的最小值。 [格式] x = fminbnd(fun,x1,x2) x = fminbnd(fun,x1,x2,options)
[x,fval] = fminbnd(…) [x,fval,exitflag] = fminbnd(…) [x,fval,exitflag,output] = fminbnd(…) [应用背景]给定区间x1<x<x2,求函数f(x)的最小值。X可以 是多元向量
10
1.3线性规划及其优化函数
[说明] f: 是优化参数x的系数矩阵; lb,ub: 设置优化参数x的上下界; fval: 返回目标函数在最优解x点的函数值; exitflag:返回算法的终止标志; output: 返回优化算法信息的一个数据结构。 lambda:解x的Lagrange乘子
现代设计理论与方法 浙师大工学院机械系
现代设计理论与方法 浙师大工学院机械系
8
1.3线性规划及其优化函数
线性规划问题是目标函数和约束条件均为线性函数的问题, MATLAB解决的线性规划问题的标准形式为 :
f ?xmin x ? Rn sub.to:A ?x ? b
Aeq ?x ? beq
lb ? x ? ub
其中:其中f、x、b、beq、lb、ub为向量,A、Aeq为矩阵。 其它形式的线性规划问题都可经过适当变换化为此标准形式。
现代设计理论与方法 浙师大工学院机械系
6
1.2有边界非线性最小化
1.2.1 应用实例 [例一] 在区间(0,2π)上求函数sin(x)的最小值: x = fminbnd(@sin,0,2*pi) x=
4.7124 所以区间(0,2π)上函数sin(x)的最小值点位于 x=4.7124处。 最小值处的函数值为: y = sin(x) y=
[x,fval] = linprog(…) [x,fval,exitflag] = linprog(…) [x,fval,exitflag,output] = linprog(…) [x,fval,exitflag,output,lambda] = linprog(…)
现代设计理论与方法 浙师大工学院机械系
MATLA机B 械优化设计 实例指导教程
现代设计理论与方法 浙师大工学院机械系
1
概述
利用 Matlab 的优化工具箱,可以求解线性规 划、非线性规划和多目标规划问题。具体而言, 包括线性、非线性最小化,最大最小化,二次规 划,半无限问题,线性、非线性方程(组)的求 解,线性、非线性的最小二乘问题。另外,该工 具箱还提供了线性、非线性最小化,方程求解, 曲线拟合,二次规划等问题中大型课题的求解方 法,为优化方法在工程中的实际应用提供了更方 便快捷的途径。
11
1.3线性规划及其优化函数
说明: 若exitflag>0表示函数收敛于解x, exitflag=0表示超过函数估值或迭代的最大数字, exitflag<0表示函数不收敛于解x;若lambda=lower 表示下界lb,lambda=upper表示上界ub, lambda=ineqlin表示不等式约束,lambda=eqlin表示 等式约束,lambda中的非0元素表示对应的约束是有 效约束;output=iterations表示迭代次数, output=algorithm表示使用的运算规则, output=cgiterations表示PCG迭代次数。
1. output.iterations – 迭代次数。 2. output.algorithm – 所采用的算法。
3. output.funcCount – 函数评价次数。
现代设计理论与方法 浙师大工学院机械系
5
1.2有边界非线性最小化
算法: fminbnd是一个M文件。其算法基于黄金分割法和二次插 值法。 局限性: 1.目标函数必须是连续的。 2.fminbnd函数可能只给出局部最优解。 3.当问题的解位于区间边界上时,fminbnd函数的收敛 速度常常很慢。此时,fmincon函数的计算速度更快,计 算精度更高。 4.fminbnd函数只用于实数变量。
-1.0000
现代设计理论与方法 浙师大工学院机械系
7
[例二] 对边长为3m的正方形铁板,在四个角处剪去相等的正
方形以制成方形无盖水槽,问如何剪法使水槽的容积最大?
假设剪去的正方形的边长为x,则水槽的容
积为
现在要求在区间(0,1.5)上确定一个x,使 最大化。
首先编写M文件opt21_3o.m:
function f = myfun(x)
相关文档
最新文档