- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
[结果] x = 0.0000 15.0000 3.0000
fval = -78.0000
2.2 无约束非线性优化函数
[函数]fminunc [格式]
x = fminunc(fun,x0) x = fminunc(fun,x0,options)
[x,fval] = fminunc(…)
2.2 无约束非线性优化函数
fval = 0.1787
exitflag = 4
output = iterations: 7 funcCount: 39 stepsize: 1 algorithm: 'medium-scale: SQP, Quasi-Newton, line-search'
设计实例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( )
x = 0:0.1:2*pi; y = sin(x); plot(x,y)
1.4.3 M-文件的操作
1.4.3 M-文件的操作
sin( x 2 y 2 ) z
x2 y2
(7.5 x 7.5,7.5 y 7.5)
1.4.3 M-文件的操作
1.4.3 M-文件的操作
第2部分 优化计算工具
2.1 线性规划优化函数 2.2 无约束非线性优化函数 2.3 约束优化函数
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
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——线性等式约束常数向量
l1,l2,l3,l4,l5,,,0 T
设计实例2:
2)确定目标函数
将曲柄一周转角分为s等分,要求连秆曲线最佳地逼近 预期轨迹mm,具体可由连杆曲线上的s个点M最佳地逼 近预期轨迹上的s个点m予以实现。由此可按点距和最 小的原则建立如下目标函数:
s
f (x)
( xMi xmi )2 ( yMi ymi )2
2.2 无约束非线性优化函数
[结果] x=
1.0e-008 * -0.7512 0.2479 fval = 1.3818e-016
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(…)
( ) 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( )
[τ]=60MPa。轴所受扭矩为M=1.5×106N·mm。
分析
设计变量:外径D、内径d、长度l
设计要求:满足强度,稳定性和结构尺寸要 求外,还应达到重量最轻目的。
设计实例1:
所设计的空心传动轴应满足以下条件: (1)扭转强度
空心传动轴的扭转切应力不得超过许用值,即
空心传动轴的扭转切应力:
16D (D4 d 4)
1 b2
an
1 bn
(a、b维数必须相同)
1.4 源文件(M-文件)
分为两类: 函数文件和非函数文件 都用扩展名.M
1.4.1 函数文件(相当于子程序)
格式 function [输出表]=函数名(输入表) 函数体
1.4.2 非函数文件
无函数头的M文件,由若干命令和注释构成。 相当于主程序 如: %Filename is a sine.m
( ) arccosl12 l22 l32 l42 2l1l4 cos
2l2 l12 l42 2l1l4 cos arctg l1 sin
l4 l1 cos 0 ' 其中'将由设计的已知条件给出。
设计实例2:
该问题有8个设计变量,记为:
x x1, x2, , x8 T
Dd D
3/ 2
0
(3)结构尺寸
l l min d 0
Dd 0
设计实例1:
设:
x1
D
x2
d
x3
l
则数学模型为:
min f () 6.12(D2 d 2 )l 10 6
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
1
1 321
x1 x22
0
g5 (x) x1 0
g6 (x) x2 0
盖板优化实例
盖板优化实例
运行结果:
x = 0.6332 25.3264 fval = 101.3056
前面空心轴的问题:
clear all
x0=[23,19,4];
options=optimset('largescale','off','display','iter','tolx',1e-6);
i 1
设计实例2:
3)确定约束条件
(1)由曲柄存在条件,可得:
g1(x) l1 l2 l3 l4 0 g2 (x) l1 l3 l2 l4 0 g3(x) l1 l4 l2 l3 0
(2)由杆长必须大于零及曲柄1为最短杆,可得:
g4(x) e l1 0
设计实例2:
机械优化设计实例 及matlab优化工具
机械优化设计实例
➢ 机械优化设计的一般过程 ➢ 建立数学模型的基本原则 ➢ 机械优化设计实例
机械优化设计的一般过程
机械优化设计全过程一般可分为:
1)建立优化设计的数学模型。 2)选择适当的优化方法。 3)编写计算机程序。 4)准备必要的初始数据并上机计算。 5)对计算机求得的结果进行必要的分析。
2.1 线性规划及其优化函数
[应用举例]
求使函数 f (x) 5x1 4x2 6x3 取最小值
的x值, 且满足约束条件:
x1 x2 x3 20 3x1 2x2 4x3 42 3x1 2x2 30
x1 0, x2 0, x3 0
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)
(3)由满足传动角条件γ>[γ],可得:
g5 ( x)
[ ] arccosl22
l32 (l4 2l2l3
l1)2
0
g6
(x)
[
]
[180。
arc c osl22
l32
(l4 2l2l3
l1
)2
]
0
优化设计工具
优化设计工具
第1部分 MATLAB基础 第2部分 优化计算工具
第1部分 MATLAB基础
function f=myfun1(x)
[x,fval,exitflag,output]=fmincon('myfun1',x0,[],[],[],[],[],[],'confun1',options)
f=6.12*(x(1)^2-x(2)^2)*x(3)*10e-6
前面空心轴的问题:
x= 33.7505 12.8830 3.0000
设计实例1:
空心传动轴的扭切应力:
16D (D4 d 4)
经整理得:
d 4 D4 1.27105 D 0
设计实例1:
(2)抗皱稳定性 扭转切应力不得超过扭转稳定得临界切应力:
' 空心传动轴的扭转稳定的临界切应力为:
' 0.7E( D d )3/ 2
2D
设计实例1:
整理得:
154.34D D4 d4
2). 数组加(减) 使两数组的对应各元素相加(减)
1.3.3 数组运算
3). 数组点乘 两数组的对应元素相乘a.*b 结果: [a1*b1 a2*b2…an*bn]
(a与b的维数必须相同)
1.3.3 数组运算
4). 数组点正除(右除)
使两数组的对应元素正除 a./b 结果为:
a1
1 b1
a2
1.3 数组
2)域表定义数组 变量=初值:增量:终值|初值:终值 变量=(初值:增量:终值)*常数 例如: x=0:0.02:10 y=1:80
1.3 数组
1.3.2、 数组的访问(一维)
数组名
表示全体元素
数组名(k)
表示第k元素
数组名(k1:k2)
表示第k1到k2元素
1.3.3 数组运算