欧拉法求解常微分方程(c++)

欧拉法求解常微分方程(c++)

#include<iostream>

#include<iomanip>

using namespace std;

int main()

   

{

      double x, y, h;      //x为对应的每一步x的值,其中y为对应的每一步y的值

      0;      //x赋初值

      1;      //y赋初值

      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) << << endl;

      

      for (int 0; 10; i++)

      {

            h*(y (2 y));      //迭代得到y的新值

            cout << setw(20) << y;      //输出y的新值

            += h;      //迭代得到最新的x

            cout << setw(20) << sqrtf(1 x);      //计算y的理论值

            cout << setw(20) << x;      //输出x的新值

            cout << setw(20) << sqrtf(1 x) << endl     //计算误差

      }

      return 0;

}

运行结果:

欧拉法求解常微分方程(c++)

posted @ 2015-11-27 18:54  硫酸亚铜  阅读(1147)  评论(0编辑  收藏  举报