当前位置:文档之家› 机械优化设计_经典实例经典.ppt

机械优化设计_经典实例经典.ppt


1
1 321
x1 x22
0
g5 (x) x1 0
g6 (x) x2 0
0.0
盖板优化实例
0.0
盖板优化实例
运行结果:
x = 0.6332 25.3264 fval = 101.3056
0.0
前面空心轴的问题:
clear all x0=[23,19,4]; options=optimset('largescale','off','display','iter','tolx',1e-6);
0.0
1.3 数组
2)域表定义数组 变量=初值:增量:终值|初值:终值 变量=(初值:增量:终值)*常数 例如: x=0:0.02:10 y=1:80
0.0
1.3 数组
1.3.2、 数组的访问(一维)
数组名
表示全体元素
数组名(k)
表示第k元素
数组名(k1:k2)
表示第k1到k2元素
0.0
1.3.3 数组运算
0.0
设计实例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
x1
x2 x1
3/ 2
0
g3 (X ) 3 l 3 x3 0
[τ]=60MPa。轴所受扭矩为M=1.5×106N·mm。
分析
设计变量:外径D、பைடு நூலகம்径d、长度l
设计要求:满足强度,稳定性和结构尺寸要 求外,还应达到重量最轻目的。
0.0
设计实例1:
所设计的空心传动轴应满足以下条件: (1)扭转强度
空心传动轴的扭转切应力不得超过许用值,即
空心传动轴的扭转切应力:
0.0
1.4.3 M-文件的操作
sin( x 2 y 2 ) z
x2 y2
(7.5 x 7.5,7.5 y 7.5)
0.0
1.4.3 M-文件的操作
0.0
1.4.3 M-文件的操作
0.0
第2部分 优化计算工具
2.1 线性规划优化函数 2.2 无约束非线性优化函数 2.3 约束优化函数
0.0
建立数学模型的基本原则
1)设计变量的选择: 尽量减少设计变量数目 设计变量应当相互独立
2)目标函数的确定: 选择最重要指标作为设计追求目标
3)约束条件的确定: 性能约束和边界约束
0.0
设计实例1:
试设计一重量最轻的空心传动轴。空心传动轴 的D、d分别为轴的外径和内径。轴的长度不得 小于3m。轴的材料为45钢,密度为7.8×10-6㎏ /㎜,弹性模量E=2×105MPa,许用切应力
数字、下划线组成,长度≤19)。可以合 法出现而定义。
区分大小写字母,以当前值定义其类型。 2、函数名
函数名用标识符表示。
0.0
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]
2D
0.0
设计实例1:
整理得:
154.34D D4 d4
Dd D
3/ 2
0
(3)结构尺寸
l l min d 0
Dd 0 0.0
设计实例1:
设:
x1
D
x2
d
x3
l
则数学模型为:
min f () 6.12(D2 d 2 )l 10 6
6.12(x12 x22 )x3 106
0.0
2.2 无约束非线性优化函数
[结果] x=
1.0e-008 * -0.7512 0.2479 fval = 1.3818e-016
0.0
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(…)
16D (D4 d 4)
0.0
设计实例1:
空心传动轴的扭切应力:
16D (D4 d 4)
经整理得:
d 4 D4 1.27105 D 0
0.0
设计实例1:
(2)抗皱稳定性 扭转切应力不得超过扭转稳定得临界切应力:
' 空心传动轴的扭转稳定的临界切应力为:
' 0.7E( D d )3/ 2
设计实例2:
(3)由满足传动角条件γ>[γ],可得:
g5 ( x)
[ ] arccosl22
l32 (l4 2l2l3
l1)2
0
g6
(x)
[
]
[180。
arc c osl22
l32
(l4 2l2l3
l1
)2
]
0
0.0
优化设计工具
0.0
优化设计工具
第1部分 MATLAB基础 第2部分 优化计算工具
2.2 无约束非线性优化函数
[应用举例] 求 f (x) 3x12 的2x最1x2小值x22 [代码]%首先编写目标的.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)
0.0
2.3 约束优化函数—盖板优化实例:
0.0
目标函数:
f (x) 2 60t 2 0.5h 120 x1 x2
约束:
g1 ( x)
[ ] max
1
1 4
x2
1
0
g2 (x)
[ ] max
1
7 45
x1 x2
1
0
g3 (x)
c max
1
7 45
x13 x2
1
0
g4 (x)
1.5 f max
0.0
第1部分 MATLAB基础
1.1 MATLAB环境简介 1.2 数据表示 1.3 数组 1.4 源文件(M-文件)
0.0
1.1 MATLAB窗口
启动MATLAB 其窗口如右
1、Command Window (命令窗口)
2、Workspace (工作区)
0.0
1.2 数据表示
1、变量 变量用标识符表示(字母打头、字母、
0.0
MATLAB解决的线性规划问题的标准形式为:
min cT x s.t. Ax b, x 0
A (aij )mn , x (x1, x2, x3,...xn )T c (c1, c2, )T ,b (b1,b2,...bm )T ,且b 0
0.0
2.1 线性规划优化函数
function f=myfun1(x)
[x,fval,exitflag,output]=fmincon('myfun1',x0,[],[],[],[],[],[],'confun1',options)
格式 function [输出表]=函数名(输入表) 函数体
0.0
1.4.2 非函数文件
无函数头的M文件,由若干命令和注释构成。 相当于主程序 如: %Filename is a sine.m
x = 0:0.1:2*pi; y = sin(x); plot(x,y)
0.0
1.4.3 M-文件的操作
(a与b的维数必须相同)
0.0
1.3.3 数组运算
4). 数组点正除(右除)
使两数组的对应元素正除 a./b 结果为:
a1
1 b1
a2
1 b2
an
1 bn
(a、b维数必须相同)
0.0
1.4 源文件(M-文件)
分为两类: 函数文件和非函数文件 都用扩展名.M
1.4.1 函数文件(相当于子程序)
1). 纯量与数组的算术运算 a ω c1 或 c1 ω a 其中ω可为+、-、* 结果为[a1ωc1 a2ωc1 … anωc1] 或[c1ωa1 c1ωa2 … c1ωan]
2). 数组加(减) 使两数组的对应各元素相加(减)
0.0
1.3.3 数组运算
3). 数组点乘 两数组的对应元素相乘a.*b 结果: [a1*b1 a2*b2…an*bn]
[函数] linprog [格式] x = linprog(f,A,b,Aeq,beq)
x = linprog(f,A,b,Aeq,beq,lb,ub,x0)
f——是优化参数x的系数矩阵;
A——线性不等式约束系数阵 b——线性不等式约束常数向量 Aeq——线性等式约束系数阵 Beq——线性等式约束常数向量
1
1 321
x1
x
2 2
1
0
g5 (x) x1 0
g6 (x) x2 0
0.0
盖板优化实例
f (x) 2 60t 2 0.5h 120 x1 x2
0.0
盖板优化实例
g1 ( x)
1
1 4
x2
0
7 g2 (x) 1 45 x1x2 0
g3 ( x)
1
7 45
x13 x2
0
相关主题