#include
#include
using namespacestd;
intmain()
{
double x,y,h,temp,f;
x = 0;//对x赋初值
y = 1;//对y赋初值
h = 0.1;//步长设置为0.1
cout<<setiosflags(ios::left);
cout<<setw(20) << "y的计算值";
cout<<setw(20) << "y的理论值";
cout<<setw(20) << "x的值";
cout<<setw(20) << "误差" <<endl;
cout<<setw(20) << y;
cout<<setw(20) << y;
cout<<setw(20) << x;
cout<<setw(20) << 0 <<endl;
for (int i = 0; i < 10; i++)
{
temp=y;
f = y - (2 * x / y);//保存未改变的f(x,y)的值
y = y + h*(y - (2 * x / y));//得到预估值
x += h;//迭代得到最新的x值
y=temp + h / 2 *(f + (y - (2 * x / y) ) );
cout<<setw(20) << y;//输出y的新值
cout<<setw(20) <<sqrtf(1 + 2 * x);//计算y的理论值
cout<<setw(20) << x;//输出x的新值
cout<<setw(20) << y -sqrtf(1 + 2 * x) <<endl;//计算误差
}
return 0;
}
原文链接: https://www.cnblogs.com/liusuanyatong/p/11259922.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/225023
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!