《机械优化设计》大作业.doc
- 文档编号:2352070
- 上传时间:2022-10-29
- 格式:DOC
- 页数:26
- 大小:1.64MB
《机械优化设计》大作业.doc
《《机械优化设计》大作业.doc》由会员分享,可在线阅读,更多相关《《机械优化设计》大作业.doc(26页珍藏版)》请在冰豆网上搜索。
高等流体力学
班级:
机设15学硕班
学号:
2015200813
姓名:
张湘楠
授课老师:
毕新胜
日期:
2016年7月1日
一、研究报告内容:
1、λ=0.618的证明、一维搜索程序作业;
2、单位矩阵程序作业;
3、连杆机构问题+自行选择小型机械设计问题或其他工程优化问题;
(1)分析优化对象,根据设计问题的要求,选择设计变量,确立约束条件,建立目标函数,建立优化设计的数学模型并编制问题程序;
(2)选择适当的优化方法,简述方法原理,进行优化计算;
(3)进行结果分析,并加以说明。
4、写出课程实践心得体会,附列程序文本。
5、为响应学校2014年度教学工作会议的改革要求,探索新的课程考核评价方法,特探索性设立一开放式考核项目,占总成绩的5%。
试用您自己认为合适的方式(书面)表达您在本门课程学习方面的努力、进步与收获。
(考评将重点关注您的独创性、简洁性与可验证性)。
二、研究报告要求
1、报告命名规则:
学号-姓名-《机械优化设计》课程实践报告.doc
2、报告提交邮址:
weirongw@(收到回复,可视为提交成功)。
追求:
问题的工程性,格式的完美性,报告的完整性。
不追求:
问题的复杂性,方法的惟一性。
评判准则:
独一是好,先交为好;切勿拷贝。
目录:
λ=0.618的证明、一维搜索程序作业
①关于的证明……………………………………………………4
②一维搜索的作业
采用matlab进行编程……………………………………………5
采用C语言进行编程………………………………………………7
单位矩阵程序作业
①采用matlab的编程…………………………………………………9
②采用c语言进行编程…………………………………………………9
机械优化工程实例
①连杆机构…………………………………………………………………11
②自选机构…………………………………………………………………16
课程实践心得……………………………………………………………………20
附列程序文本……………………………………………………………………21
进步,努力,建议………………………………………………………………25
一、λ=0.618的证明、一维搜索程序作业
①关于的证明
黄金分割法要求插入点,的位置相对于区间两端具有对称性,即
其中为待定常数。
此外,黄金分割法还要求在保留下来的区间内再插入一点所形成的区间新三段,与原来的区间三段具有相同的比例分布。
黄金分割法还要求在保留下来的区间内再插一点所形成的区间新三段,与原来的区间三段有相同的比例分布。
b
α1
α2
1
1-λ
λ
图一
设原区间的长度为1,如图一所示,保留下来的区间长度为,区间缩短率为。
为了保持相同的分别比例。
插入新点应在位置上,在原区间的1位置应相当于在保留区间的位置。
故有:
a
α2
2
α3
α1
λ
λ(1-λ)
λ2
图二
解得
编写0.618的程序,并计算下列问题
程序框图
(1)采用MATLAB进行编程
%%
%fun.m:
黄金分割法求极值点
%输入数据
%a–搜索区间下限
%b–搜索区间上限
%e–精度
%输出数据:
%x–极小值点
%其他常量:
%c1,c2,c3–区间
%r–黄金分割比例0.618
%%
%定义函数
functionx=fun(a,b,e)
r=0.618;
c1=b-r*(b-a);c2=a+r*(b-a);
y1=f(c1);y2=f(c2);
while(abs((b-a)/b)>e)&&(abs((y2-y1)/y2)>e)
ify1>=y2
a=c1;c1=c2;y1=y2;
c2=a+r*(b-a);y2=f(c2);
else
b=c2;c2=c1;y2=y1;
c1=b-r*(b-a);y1=f(c1);
end
end
x=0.5*(a+b);
end
对f函数的确立
10functiony=f(x)
y=(x-2)^2+3;
end
11functiony=f(x)
y=cosx
end
如果要计算y=(x-2)^2+3;的黄金分割法,则需要将图所示的f脚本中的函数写成如①所示
如果要计算y=cosx;黄金分割法,则需要将图所示的f脚本中的函数写成如②所示
fun函数表示对matlab的主程序语言。
26
函数NO.2运算结果:
函数NO.1运算结果:
(2)采用C语言进行编程
#include
#defineK0.618
doublef(double);/*****函数值计算函数声明*****/
voidmain(void)
{
doublea,b,size;
doublea1,a2;
intI;
printf(“请输入区间两端点(端点值应大于0):
”);
scanf(“%lf,%lf”,&a,&b);/*****输入端点值*****/
printf(“请输入精度:
”);
scanf(“%lf”,&size);/*****输入精度*****/
printf(“区间为(%lf,%lf),精度为%lf\n”,a,b,size);
printf(“序号\ta1\t\ta2\t\tf(a1)\t\tf(a2)\n”);
for(i=0;i<64;i++)
printf(“-“);
printf(“\n”);
i=0;
while((b-a)>size)/*****用精度控制循环次数*****/
{
i++;
a1=b-K*(b-a);/*****按0.618法插入两点*****/
a2=a+K*(b-a);
printf(“%2d:
\t%f\ta%f\t%f\t%f\n”,I,a1,a2,f(a1),f(a2));
/*****输出每次计算后a1,a2,f(a1),f(a2)的值*****/
if(f(a1)>=f(a2))
a=a1;
else
b=a2;
}
printf(“所求极小值点为:
x=%lf\t极小值f(x)=%f\n”,a,f(b));
}
doublef(doublex)/*****函数值计算函数*****/
{
doublef;
f=(x-2)*(x-2)+3;
return(f);
}
对于y=cosx,须在程序中加一个#include(math.h)头程序,以示我要调用函数语句。
再将倒数第三行函数改为y=cos(x),再次编译运算即可。
运行如图所示
我们可以看出,大约在x=2处取到极值。
与理论相符。
运行如图所示
我们可以看出,大约在π处取到极值。
与理论相符。
二、用简单的语句写一个单位矩阵
①采用matlab构造:
Matlab构造的矩阵最是简便,因为本身就有一个单位矩阵的函数。
由于matlab是基于C语言而设立的一个数学运用软件,所以他的集成度非常高,而且具有很好的开放性,于是我们得知eye函数,将其构造。
Eg:
若要构造一个3维的单位矩阵,则输入eye(3)
若要构造一个n为的单位矩阵,这输入eye(n)
②用C语言构造
程序如图所示:
#include
intmain(){
intI,j,n;
while(scanf(“%d”,&n)==1){
for(I=0;I for(j=0;j printf(“%d“,I==j); printf(“\n”); } } return0; } 三、机械优化设计工程实例 ①连杆机构问题 (1)连杆机构问题描述 图1机构简图 设计一曲柄连杆摇杆机构,要求曲柄从时,摇杆的转角最佳再现已知的运动规律: 且=1,=5,为极位角,其传动角允许在范围内变化。 (2)数学模型的建立 设计变量: 这里有两个独立参数和。 因此设计变量为 目标函数: 将输入角分成30等分,并用近似公式计算,可得目标函数的表达式 约束条件: GX (1)=-X (1)0 GX (2)=-X (2)0 GX(3)=-(X (1)+X (2))+6.00 GX(4)=-(X (2)+4.0)+X (1)0 GX(5)=-(4.0+X (1))+X (2)0 GX(6)=-(1.4142*X (1)*X (2)-X (1)**2-X (2)**2)-16.00 GX(7)=-(X (1)**2+X (2)**2+1.4142*X (1)*X (2))+36.00 (3)程序编制 C ====================== SUBROUTINEFFX(N,X,FX) C ====================== DIMENSIONX(N) COMMON/ONE/I1,I2,I3,I4,NFX,I6 NFX=NFX+1 P0=ACOS(((1.0+X (1))**2-X (2)**2+25.0)/(10.0*(1.0+X (1)))) Q0=ACOS(((1.0+X (1))**2-X (2)**2-25.0)/(10.0*X (2))) T=90.0*3.1415926/(180.0*30.0) FX=0.0 DO10K=0,30 PI=P0+K*T QE=Q0+2.0*(PI-P0)**2/(3.0*3.1415926) D=SQRT(26.0-10.0*COS(PI)) AL=ACOS((D*D+X (2)*X (2)-X (1)*X (1))/(2.0*D*X (2))) BT=ACOS((D*D+24.0)/(10.0*D)) IF(PI.GE.0.0.AND.PI.LT.3.1415926)THEN QI=3.1415926-AL-BT ELSE QI=3.1415926-AL+BT ENDIF IF(K.NE.0.OR.K.NE.30)THEN FX=FX+(QI-QE)**2*T ELSE FX=FX+(QI-QE)**2*T/2.0 ENDIF 12CONTINUE RETURN END C
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 机械优化设计 机械 优化 设计 作业