matlab优化设计

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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

π

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; %约束条件

相关文档
最新文档