matlab优化设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MATLAB优化设计
学院:机电学院
专业:机械设计制造及其自动化
班级:072&&&-**
学号:20131******
姓名:大禹
指导老师:祯
2015年10月25日
题目 1 1、求解如下最优化问题
步骤一:对已有的数学模型matlab 编程
1. 编写.m 文件并保存:
h=[2 ,-2;-2, 4]; %实对称矩阵 f=[-2;-6]; %列向量 a=[1, 1;-1, 2]; %对应维数矩阵 b=[2;2]; %列向量 lb=zeros(2, 1);
[x,value]=quadprog(h, f, a ,b ,[] ,[], lb)
2. 运行.m 文件结果如图1.0所示:
subject to
2
21≤+x x 22-21≤+x x 0
21≥x x ,2
2
2121212262)(m in x x x x x x x f +-+--=
图1.0题目一文件运行结果
步骤二:matlab运行结果分析阶段
由图1.0知,当x1=0.8,x2=1.2时,min f (x)= -7.2。
题目 2
2、某农场拟修建一批半球壳顶的圆筒形谷仓,计划每座谷仓容积为300立方米,圆筒半径不得超过3米,高度不得超过10米。半球壳顶的建筑造价为每平方米150元,圆筒仓壁的造价为每平方米120元,地坪造价为每平方米50元,求造价最小的谷仓尺寸为多少?
步骤一:题目分析阶段
设:圆筒的半径为R,圆筒的高度为H 。
谷仓的容积为300立方米,可得:
3003
232=+R H R ππ
圆筒高度不得超过10米,可得:
100≤≤H
圆筒半径不得超过3米,可得:
30≤≤R
当造价最小时:
2225021202150),(m in R H R R H R f πππ+⨯+⨯=
步骤二:数学模型建立阶段
2
225021202150),(m in R H R R H R f πππ+⨯+⨯=
s.t.
300
3
2
3
2=
+R
H
Rπ
π
10
0≤
≤H
3
0≤
≤R
步骤三:matlab编程阶段
1.编写myfun3.m文件并保存:
function f=myfun2(x)
f=350*3.14*x(1)^2+240*3.14*x(1)*x(2); %目标函数
2.编写mycon
3.m文件并保存:
function[g,ceq]=mycon2(x)
q=[] ;
ceq=2*3.14*x(1)^3/3+3.14*x(1)^2*x(2)-300; %约束等
式
3.编写文件final.m保存:
X=fmincon(myfun2,[3;3],[],[],[],[],[0;0],[3;10],mycon2) 4.运行final.m结果如图2.0所示:
图2.0题目二文件运行结果
步骤四:matlab运行结果分析阶段
由图2.0知,当圆筒的半径R为3m,高度H为8.6157m时,满足体积要求的谷仓最小造价为29369元。
题目3
图3.0示意图
步骤一:受力分析阶段。
根据题意轴端受力F=pd P
M
d L
3、已知轴一端作用载荷P=1000N/cm,扭矩M=100Nm,轴长不小于8cm,材料的许用弯曲应力为120MPa,许用扭剪应力为80MPa,许用挠度为0.01cm,密度为7.8t/m,弹性模量为200000MPa,设计该轴,使得满足上述条件,且重量最轻。
轴受最大的弯矩M 弯=Fs=pdl=100000dl
轴的横截面对中性轴的惯性矩I z 为:I z =644
d π
轴的最大弯曲正应力σ须满足
σ=z I My
=z I d M 2弯=π2
3200000d l ≤[σ]=120Mpa
轴受最大扭切应力须满足
τmax =p W
T =163d M π=31600
d π≤[τ]=80M pa
轴的最大挠度w B 须满足
w B =EI Fl 33=π43
364Ed pdl =π3
363000000064d l ≤[f]=0.0001m
轴的质量m 为
M=ρV=ρAl=π42
d l ×7.8×103
步骤二:数学模型建立阶段
轴径记为x1米,轴长l 为x2米,建立数学模型:
min f(x1,x2)=π
412
x 2x ⨯×7.8×103
s.t. g1(x1,x2)= .π212
3200000x x -120000000≤0 g2(x1,x2)= 3
1x 1600
π-80000000≤0
g3(x1,x2)=π3
3
1x 6300000002x 64 -0.0001≤0
008.02x2)g5(x1, ,
01-x x2)g4(x1, ≤+-=≤=x
步骤三:matlab 编程阶段
1.编写myfun.m 文件并保存:
function f=myfun(x)
f=x(1)^2*x(2)*3.14*7800/4; %目标函数
2.编写mycon.m 文件并保存:
function[g,ceq]=mycon(x)
g(1)=3200000*x(2)/(x(1)^2*3.14)-120000000 ; %约束条件
g(2)=1600/(x(1)^3*3.14)-80000000; %约束条件
g(3)=64*x(2)^3/(x(1)^3*3.14159*630000000)-0.0001; %约束条件