优化设计作业
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
优化设计作业及课程总结
专业:机械设计制造及其自动化
班级学号:07212507
姓名:解朝家
第一项:题目解析
题目一
解:首先对节点进行受力分析,可求得
F1=√B2+ℎ2
F ①
ℎ
,其中S为截面面积,由圆环截其中F1是对于两钢管截面的正压力,则正应力为δ1=F1
S
面积公式可求得
S=π×D×T ②
失稳条件分析,如图一
图一
根据材料力学可知临界力
F cr=π2EI
l2
③其中(1)l2=B2+ℎ2
(2)I=π(D+T)2[1−(D−T
D+T
)
2
]
64
=πDT
16
则失稳临界应力
δc=F cr
S
④钢管的总质量
M=πDTl⑤
由题意可知需满足δ1≤δy
δ1≤δc
对于此题建立单目标非线性规划问题如下
min M=πDTl
s.t. F1
S
−δy≤0
F1 S −F cr
S
≤0
将数据国际单位化,代入相关数据并编写matlab求解(编程及结果如下),可求得D=6.43cm,h=76cm时质量最轻为8.47Kg
编程及结果
建立目标函数M文件myobj.m
function f=myobj(x) %目标函数
f=2*pi*x(1)*0.25*10^(-2)*sqrt(0.76^2+x(2)^2)*7.8*10^3;
建立约束函数M文件mycon.m
function[c,ceq]=mycon(x) %约束函数
c(1)=(sqrt(0.76^2+x(2)^2)/x(2))*15*10^4-420*pi*x(1)*0.25*10^4;
c(2)=(sqrt(0.76^2+x(2)^2)/x(2))-2.1*10^12*pi^3*x(1)*0.25*10^(-2)/(16*(0.76^2+x(2)^2));
ceq=[];
在命令窗口输入命令:
clear all
x0=[0.05 0.3]; %x0初始值
options=optimset('LargeScale','off','display','iter');
[x,fval]=fmincon(@myobj,x0,[],[],[],[],[0.0025 0],[1.5175 inf],@mycon,options) %输出结果命令
结果如下
>>
x =
0.0643 0.7600
fval =
8.4686
运行结果截图如下
题目二
解:由题所示可知我们分析的是一根悬臂梁的受力弯曲和受力矩的扭转问题,由题目可知该梁最右端受的力为F=P,由于该梁的弯曲仅由此力造成;
1)分析其弯曲应力如下:
由于各截面的弯矩为Fx,可知在梁与墙壁处的截面所受的弯矩为最大,大小为Fl,又由材料力学可知等直梁在受纯弯矩时横截面上的任意一点处的正应力为
①
δ=M1y
I z
其中M1为横截面上的弯矩;I z为横截面对中性轴z的惯性矩;y为所求应力点的纵坐标,
如图一;可知在图一中点A处正应力最大即δmax=Fl×d
2
I z
,其中圆截面的I z=
πd4
64
;
2)分析扭转应力,已知对该销有扭转作用的只有M,针对材料力学扭转模型可知,扭剪应力的最大值为
τmax=T
W p
②
其中T=M,W p=πd 3
16
;
3)挠度分析,查表可知,
ω=Fl3
3EI
③4)轴的质量
m=πd2lρ
4
④
5)要求轴的质量最轻即m求m min,在满足以下条件
δmax≤δw
τmax≤τ
ω≤f
0.08−l≤0
对于此题建立单目标非线性规划问题如下
min m=πd 2lρ
4
s.t. 32Fl
πd3
−δw≤0
16M
πd3
−τ≤0
Fl3 3EI −f≤0
0.08−l≤0
代入相关数据并编写matlab求解(编程及结果如下),可求得d=2.04cm,l =8cm时质量最轻为0.2043Kg
编程及结果
建立目标函数M文件myobj1.m
function f=myobj1(x) %目标函数
f=pi*x(1)^2*x(2)*7.8*10^3/4;
建立约束函数M文件mycon1.m
function[c,ceq]=mycon1(x) %约束函数
c(1)=16*100/(pi*x(1)^3)-80*10^6;
c(2)=32*1000*x(2)/(pi*x(1)^3)-120*10^6;
c(3)=1000*x(2)^3/(3*2*10^5*10^6*pi*x(1)^4/64)-0.0001;
c(4)=0.08-x(2);
ceq=[];
在命令窗口输入命令:
clear all
x0=[0.05 0.3]; %x0初始值
options=optimset('LargeScale','off','display','iter');
[x,fval]=fmincon(@myobj1,x0,[],[],[],[],[0 0.08],[inf inf],@mycon1,options) %输出结果命令结果如下
>>
x =
0.0204 0.0800
fval =
0.2043
运行结果截图如下
题目三