改进欧拉公式求解常微分方程(c++)

改进欧拉公式求解常微分方程(c++)




#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);//保存未改变的fx,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;

}

改进欧拉公式求解常微分方程(c++)




原文链接: https://www.cnblogs.com/liusuanyatong/p/11259922.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/225023

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月13日 下午12:39
下一篇 2023年2月13日 下午12:40

相关推荐