当前位置:文档之家› MATLAB优化设计

MATLAB优化设计

MATLAB优化设计
学院:机电学院
专业:机械设计制造及其自动化
班级: 072&&&-**
学号: ***********
姓名:大禹
****:**
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
步骤一:题目分析阶段
设:圆筒的半径为R,圆筒的高度为H 。

谷仓的容积为300立方米,可得:
300
32
32=+R H R ππ
圆筒高度不得超过10米,可得:
100≤≤H
圆筒半径不得超过3米,可得:
30≤≤R
当造价最小时:
2225021202150),(m in R H R R H R f πππ+⨯+⨯=
2、某农场拟修建一批半球壳顶的圆筒形谷仓,计划每座谷仓容积为300立方
米,圆筒半径不得超过3米,高度不得超过10米。

半球壳顶的建筑造价为每平方米150元,圆筒仓壁的造价为每平方米120元,地坪造价为每平方米50元,求造价最小的谷仓尺寸为多少?
步骤二:数学模型建立阶段
2
225021202150),(m in R H R R H R f πππ+⨯+⨯=
s.t. 300
3
2
32=+R H R ππ
100≤≤H
30≤≤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、已知轴一端作用载荷P=1000N/cm,扭矩M=100Nm,轴长不小于8cm,材料的许用弯
曲应力为120MPa,许用扭剪应力为80MPa,许用挠度为0.01cm,密度为7.8t/m,弹性模量为200000MPa,设计该轴,使得满足上述条件,且重量最轻。

图3.0示意图
步骤一:受力分析阶段。

根据题意 轴端受力F=pd
轴受最大的弯矩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=ρA l=π
42
d l×7.8×103
步骤二:数学模型建立阶段
轴径记为x1米,轴长l 为x2米,建立数学模型:
min f(x1,x2)=π
412
x 2x ⨯×7.8×103
P
M
d
L
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; %约束条件
g(4)=-x(1); %约束条件
g(5)=-x(2)+0.08; %约束条件
ceq=[];
3.编写文件final.m 保存:
x0=[0.002;0.009]; lb=[0.001;0.008];
ub=[1000;1000];
[x,fval]=fmincon(@myfun,x0,[],[],[],[],lb,ub,@mycon);
x1=x(1);
x2=x(2);
display(x(1));
display(x(2));
display(fval);
4.运行final.m结果如图3.1所示:
图3.1题目三文件运行结果
步骤四:matlab运行结果分析阶段
由图3.1知,当轴径d为26.1mm,轴长l为80mm时,轴的质量最轻为0.3328千克。

总结
优化设计是近年发展起来的一门新学科,它为工程领域提供了一种新的重要的科学设计方法。

当然它在机械领域也是运用非常广泛。

优化设计课程主要以Matlab软件作为运算处理工具,充分利用了Matlab交互式程序设计及强大的数值分析能力。

学校给《优化设计》这门课程仅仅安排了五周的课时,我相信要深入学习这些课时是远远不够的,我们只有自己动手去写程序,自己去摸索公式,才能将优化设计这种方法运用在机械设计之中。

五周的时间虽然很短,但在陈祯老师的悉心指导下,我们走进这门学科的大门,所谓师傅领进门修行靠个人,我还得不断地去摸索,我相信在以后从事机械行业后会不断运用到优化设计的思想,做出最好用的设计产品。

之前在上学期通过《机械原理》课程设计的学习我就开始接触到Matlab软件,但是程度非常有限。

这学期通过《优化设计》的学习,再次让我感到Matlab软件的强大计算功能,同样在这个过程中我的编程能力也得到提高,也能在马上就要学的《单片机》课程中大显身手。

在解答本次的大作业的时候,刚开始看到这三个工程实例我觉得好难,这下子该咋办,根本不知如何入手,于是我又重新去钻研《优化设计》课本,但是课本关于编程的知识很少,我去图书馆借了好几本关于Matlab编程的书本,苦心钻研,然后结合老师讲课的PPT和老师给的资料,发现好多东西都是相通的,马上找到方法,对症下药,很快也就得出结果了,终于满头的雾水烟消云散。

短短五周的《优化设计》课程结束了,但我相信在以后从事机械行业后会不断运用到优化设计的思想和方法。

感谢陈祯悉心指导把我们带进了“优化设计”的大门,让我们能够通过优化的方法进行机械方面的研究。

参考资料
[1]陈继平,李元科.现代设计方法.武汉:华中科技大学出版社,1997.8.
[2]卓金武. MATLAB在数学中的应用.北京:北京航空航天大学出版社
社.[M].2011.4.
[3]谢进,李大美. MATLAB与计算机方法实验.武汉:武汉大学出版社.[M].2009.1.
[4]李明. 详解MATLAB在最优化计算中的应用.北京:电子工业出版社,2011.5.。

相关主题