下载此文档

机械优化设计实验报告.docx


文档分类:高等教育 | 页数:约26页 举报非法文档有奖
1/26
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/26 下载此文档
文档列表 文档介绍
文件排版存档编号:[UYTR-OUPT28-KBNTL98-UYNN208]
机械优化设计实验报告
《机械优化设计》
实验报告
目录

进退法基本思路:按照一定的规则试算若干个点,比较其函数值的大小,直至找到函数值按“高-低-高”变化的单峰区间。
进退法程序框图
题目:用进退法求解函数的搜索区间
源程序代码及运行结果
#include <>
#include <>
main()
{
float h,h0,y1,y2,y3,a1=0,a2,a3,fa2,fa3;
scanf("h0=%f,y1=%f",&h0,&y1);
h=h0;a2=h;y2=a2*a2-7*a2+10;
if (y2>y1)
{
h=-h;a3=a1;y3=y1;
loop:a1=a2;y1=y2;a2=a3;y2=y3;
}
a3=a2+2*h;y3=a3*a3-7*a3+10;
if (y3<y2)
{
goto loop;
}
else
printf("a1=%f,a2=%f,a3=%f,y1=%f,y2=%f,y3=%f\n",a1,a2,a3,y1,y2,y3);
}
搜索区间为0 6

黄金分割法基本思路:通过不断的缩短单峰区间的长度来搜索极小点的一种有效方法。按() 缩小 比较大小 确定取舍区间。
黄金分割法流程图
题目:对函数,给定搜索区间时,试用黄金分割法求极小点
源程序代码及结果:
f=inline('x^2-7*x+9')
a=0;b=8;eps=;
a1=*(b-a);y1=f(a1);
a2=a+*(b-a);y2=f(a2);
while(abs(b-a)>eps)
if(y1>=y2)
a=a1;
a1=a2;
y1=y2;
a2=a+*(b-a);
y2=f(a2);
else
b=a2;a2=a1;y2=y1;
a1=*(b-a);
y1=f(a1);
end
end
xxx=*(a+b)
f =
Inline function:
f(x) = x^2-7*x+9
xxx =


牛顿型法基本思路:在邻域内用一个二次函数 来近似代替原目标函数,并将 的极小点作为对目标函数求优的下一个迭代点。经多次迭代,使之逼近目标函数的极小点。
阻尼牛顿法的流程图:
题目:用牛顿阻尼法求函数的极小点
源程序代码及结果:
k=0;
ptol=;
xk=input('input x0:')
itcl=[1;1];
while norm(itcl)>=ptol
f1=[4*xk(1,1)^3-24*xk(1,1)^2+50*xk(1,1)-4*xk(2,1)-32;-4*xk(1,1)+8*xk(2,1)];
G=[12*xk(1,1)^2-48*xk(1,1)+50,-4;-4,8];
dk=-inv(G)*f1; a=-(dk'*f1)/(dk'*G*dk);
xk=xk+a*dk;
itcl=a*dk;
k=k+1;
end
f=(xk(1,1)-2)^4+(xk(1,1)-2*xk(2,1))^2;
fprintf('\n ó×èá£ù·¨μü′ú %d ′oóμμ Dμ x*°Dμ f a:\n',k);
disp(xk);
disp(f);
结果显示:input x0:[1;1]
用阻尼牛顿法迭代 27 次后得到 极小点 x*及极小值 f 为:



鲍威尔法基本思路:在不用导数的前提下,在迭代中逐次构造G的共轭方向。
鲍威尔法流程图:
4.3 题目:求函数f(x)= x[0]*x[0]+x[1]*x[1]-x[0]*x[1]-10*x[0]-4*x[1]+60的最优点,收敛精度ε=
源程序代码及结果:
#include ""
#include ""
#include ""
double objf(double x[])
{double ff;

机械优化设计实验报告 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数26
  • 收藏数0 收藏
  • 顶次数0
  • 上传人仅仅三声
  • 文件大小308 KB
  • 时间2021-07-06