• 大小: 2KB
    文件类型: .cpp
    金币: 1
    下载: 0 次
    发布日期: 2021-06-11
  • 语言: C/C++
  • 标签: 常微分方  

资源简介

数值计算中关于经典4阶 Runge-Kutta方法解常微分方程的通用c++程序以及Adams隐式3阶方法解常微分方程的通用c++程序源代码

资源截图

代码片段和文件信息

/*
实验七:常微分方程的数值解
姓名:刘波
学号:pb07210511
*/

#include
#include
#include

using namespace std;

double f(double xdouble y)
{
return(-x*x*y*y);
}

double Runge_Kutta(double y0double x0double xndouble h)
{
double k1k2k3k4xy;
        x=x0;
y=y0;
        while(fabs(x-xn)>1e-12)
{
k1=f(xy);
k2=f(x+0.5*hy+0.5*h*k1);
k3=f(x+0.5*hy+0.5*h*k2);
k4=f(x+hy+h*k3);
y=y+h/6*(k1+2*k2+2*k3+k4);
            x=x+h;
}
return(y);
}

double Adams(double y0double x0double xndouble h)
{
        double k1k2k3k4x1x2y1y2y;
x1=x0+h;
x2=x0+2*h;
y1=Runge_Kutta(y0x0x1h);
y2=Runge_Kutta(y0x0x2h);
      while(fabs(x2-xn)>1e-10)
  {
k1=f(x2y2);
k2=f(x1y1);
k3=f(x0y0);
y=y1+h/3*(7*k1-2*k

评论

共有 条评论

相关资源