3.cpp

来自「这是一个计算方法中的四阶经典Runge-Kutta方法演示程序」· C++ 代码 · 共 35 行

CPP
35
字号
#include<stdio.h>
#include<istream.h>

float func(float x,float y)
{
	float k=0;
	k=y-2*x/y;
	return k;
}

void main(void)
{
	float a,b,x,y,h,k1,k2,k3,k4,i=0,n=0;
	printf("四阶经典Runge-Kutta方法演示(以课本102页例4为演示内容)\n");
	printf("输入变量x的区间[a,b]值,如:0  1:  ");
	scanf("%f%f",&a,&b);
	printf("输入步长h的值:  ");
	scanf("%f",&h);
	n=(b-a)/h;
    for(int j=1;j<=n;j++)
	{
		x=a+h;
		k1=func(a,b);
		k2=func(a+h/2,b+h*k1/2);
		k3=func(a+h/2,b+h*k2/2);
		k4=func(x,b+h*k3);
		y=b+h*(k1+2*k2+2*k3+k4)/6;
		a=x;
		b=y;
	}
	printf("四阶经典Runge-Kutta方法计算结果为 %f \n",y);
	printf("按回车键退出...\n");
	cin.get();
}

⌨️ 快捷键说明

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