最速下降法和牛顿法求最小值点的算法及结果Word格式文档下载.docx
- 文档编号:17741393
- 上传时间:2022-12-09
- 格式:DOCX
- 页数:13
- 大小:351.17KB
最速下降法和牛顿法求最小值点的算法及结果Word格式文档下载.docx
《最速下降法和牛顿法求最小值点的算法及结果Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《最速下降法和牛顿法求最小值点的算法及结果Word格式文档下载.docx(13页珍藏版)》请在冰豆网上搜索。
{
doubler;
r=(pow(x-1,2)+5*pow((y-5),2));
returnr;
}
//最速下降法求最优解
voidmain()
doubleh=3,x0=3,x1,y0=6,y1,s,r0,r1;
doublee0=,e1=;
intk=0;
s=sqrt(pow(2*x0-2,2)+pow(10*y0-50,2));
printf("
%dx1=%fx2=%fs=%f\n"
k,x0,y0,s);
while(s>
e1)
{
x1=x0;
y1=y0;
r0=f1(x0,y0);
h=3;
//一维搜索,成功失败法
while(fabs(h)>
e0)
{
r1=f1((x1-h*2*(x1-1)),(y1-h*10*(y1-5)));
if(r1<
r0)
{
x0=x1-h*2*(x1-1);
y0=y1-h*10*(y1-5);
r0=r1;
h=h+h;
}
elseif(fabs(h)>
h=(-1)*h/4;
}
s=sqrt(pow(2*x0-2,2)+pow(10*y0-50,2));
k++;
printf("
}
x1=%fx2=%f"
x0,y0);
(2)初始值设为x1=3,x2=6时,运行结果如下图1-1:
图1-1
(3)初始值设为x1=30000,x2=60000时,运行结果如下图1-2:
图1-2
2.牛顿法计算:
return(pow(x-1,2)+5*pow(y-5,2));
//牛顿法求最优解
%dx=%fy=%fs=%f\n"
//一维搜索
r1=f1((x1-h*(x1-1)),(y1-h*(y1-5)));
x0=x1-h*(x1-1);
y0=y1-h*(y1-5);
x=%fy=%f"
(2)初始值设为x1=3,x2=6时,运行结果如下图2-1:
图2-1
(3)初始值设为x1=30000,x2=60000时,运行结果如下图2-2:
图2-2
3.最速下降法求:
+(x
+5(x
doublef1(doublex,doublex1,doubley,doubley1)
r=(pow(x-1,2)+pow(x1-1,2)+5*pow(y-5,2)+5*pow(y1-5,2));
//x1,x2,x3,x4分别为多项式函数中四个分量的初始值
//x5,x6,x7,x8分别为对应的下一个值
doubled=3,x1=3,x5,x2=4,x6,x3=8,x7,x4=6,x8,s,r0,r1;
s=sqrt(pow(2*x1-2,2)+pow(2*x2-2,2)+pow(10*x3-50,2)+pow(10*x4-50,2));
%dx1=%fx2=%fx3=%fx4=%fs=%f\n"
k,x1,x2,x3,x4,s);
x5=x1;
x6=x2;
x7=x3;
x8=x4;
r0=f1(x1,x2,x3,x4);
d=3;
while(fabs(d)>
r1=f1((x5-d*2*(x5-1)),(x6-d*2*(x6-1)),(x7-d*10*(x7-5)),(x8-d*10*(x8-5)));
x1=x5-d*2*(x5-1);
x2=x6-d*2*(x6-1);
x3=x7-d*10*(x7-5);
x4=x8-d*10*(x8-5);
d=d+d;
elseif(fabs(d)>
d=(-1)*d/4;
s=sqrt(pow(2*x1-2,2)+pow(2*x2-2,2)+pow(10*x3-50,2)+pow(10*x4-50,2));
\nx1=%fx2=%fx3=%fx4=%fs=%f\n"
x1,x2,x3,x4,s);
(2)初始值设为x1=3,x2=4,x3=8,x4=6时,运行结果如下图3-1:
图3-1
(3)初始值设为x1=30000,x2=40000,x3=80000,x4=60000时,运行结果如下图3-2:
图3-2
4.牛顿法计算:
//x1,x2,x3,x4分别为多项式函数中四个分量的当前值
//x5,x6,x7,x8分别为多项式函数中四个分量对应的下一个值
r1=f1((x5-d*(x5-1)),(x6-d*(x6-1)),(x7-d*(x7-5)),(x8-d*(x8-5)));
x1=x5-d*(x5-1);
x2=x6-d*(x6-1);
x3=x7-d*(x7-5);
x4=x8-d*(x8-5);
(2)初始值设为x1=3,x2=4,x3=8,x4=6时,运行结果如下图4-1:
图4-1
(3)初始值设为x1=30000,x2=40000,x3=80000,x4=60000时,运行结果如下图4-2:
图4-2
5.总结
(1)每一种计算最优解的方法中,如果初始值不一样,那么得到最终结果所需的步骤数不一样;
比较图1-1与图1-2,在图1-1中初始值为x1=3,x2=6,得到最终结果所需步骤数为23,而在图1-2中初始值为x1=30000,x2=60000,得到最终结果所需步骤数为39;
同一算法中取值越偏离最优解,所需的计算步骤越多。
标题2、3、4下的每前两个图都说明了这一点。
(2)分别用最速下降法和牛顿法求同一多项式值,初始值都一样的情况下,牛顿法收敛速度较快;
图1-2中用最速下降法计算,得到结果共计算了39步,经过一步迭代运算,x1从30000收敛到,再经过一步收敛到,图2-2中用牛顿法计算才用了20步,经过一步x1从30000收敛到了,再经过一步收敛到了。
(3)从图3-2和图4-2中可以看出最速下降法和牛顿法计算最小值,前面步骤收敛较快,每经过一步,x值的变化都比较大,后面步骤收敛慢,每经过一步,x值的变化比较小。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 下降 牛顿 最小值 算法 结果
![提示](https://static.bdocx.com/images/bang_tan.gif)