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

📄 列主元高斯消元法.cpp

📁 列主元高斯消元法已通过上机验证适合于数值计算学习者编程欢迎下载
💻 CPP
字号:
#include<stdio.h>
#include<math.h>
#define  f(x,y)  -(x*x*y*y)//导数
#define  y(x)    2.0/(1.0+x*x*x)//准确解
void main()
{
	int i,j;
	long double h[4]={0.1,0.05,0.025,0.0125};//步长
	int m[4]={15,30,60,120};//不同步长时迭代到1.5的循环次数
	long double x0,y0,xn,yn,yn1,yn2;
	long double k1,k2,k3,k4;
	yn2=(long double)y(1.5);//计算准确值
	x0=0.0;y0=3.0;
    printf("h        数值结果y(1.5)          精确解           数值误差  \n");
	for(i=0;i<4;i++)
	{   xn=x0;yn=y0;//初始化
		for(j=0;j<m[i];j++)
		{
			k1=f(xn,yn);
			k2=f((xn+h[i]/2.0),(yn+h[i]*k1/2.0));
			k3=f((xn+h[i]/2.0),(yn+h[i]*k2/2.0));
			k4=f((xn+h[i]),(yn+h[i]*k3));
			yn1=yn+h[i]/6.0*(k1+2*k2+2*k3+k4);//龙格-库塔四阶公式
			xn=xn+h[i];
			yn=yn1;
		}
			printf("%.12lf       %.12lf         %.12lf          %.12lf    \n",h[i],yn1,yn2,fabs(yn2-yn1));//输出
	}
}
			

			

⌨️ 快捷键说明

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