⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 四阶龙格-库塔法.txt

📁 数值计算方法所用的上机实验C++源程序,个人所编.
💻 TXT
字号:
#include <stdio.h>
float func(float x,float y)
{  return(x-y);
}

float runge_kutta(float x0,float xn,float y0,int N)
{  float x,y,y1,y2,h,xh;
   float d1,d2,d3,d4;
   int i;
   x=x0;
   y=y0;
   h=(xn-x0)/(float)N; /* 计算步长 */
   for(i=1;i<=N;i++) /* 标准四阶龙格-库塔公式 */
   {  xh=x+h/2;
      d1=func(x,y);
      d2=func(xh,y+h*d1/2.0);
      d3=func(xh,y+h*d2/2.0);
      d4=func(xh,y+h*d3);
      y=y+h*(d1+2*d2+2*d3+d4)/6.0;
      x=x0+i*h; }
    return(y);
} 
main()
{  float x0,xn,y0,e;
   int N;
   clrscr();
   printf("\ninput n:\n    "); /* 输入区间等分数 */
   scanf("%d",&N);
   printf("input x0,xn:\n    "); /* 输入x的区间 */
   scanf("%f%f",&x0,&xn);
   printf("input y0:\n    "); /* 输入x0处的y的值 */
   scanf("%f",&y0);
   e=runge_kutta(x0,xn,y0,N);
   printf("y(%f)=%8.6f",y0,e);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -