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

📄 微分方程.c

📁 计算方法的几个经典算法
💻 C
字号:

#include <math.h>
#include<stdio.h>
float f(float x,float y)
{
	float z;
	z=y-2*x/y;
	return z;
}
 

main()
{
	int i,n;
	float t0=0,td,y0,t[100],y[100],h,k1,k2,k3,k4;
	printf("请输入时间区间td:");
	scanf("%f",&td);
	printf("请输入y0:");
	scanf("%f",&y0);
	printf("请输入n:");
	scanf("%d",&n);
	y[0]=y0; 
	t[0]=t0;
	h=td/n;
	for(i=1;i<=n;i++)
	{
		t[i]=t[i-1]+h;
		k1=h*f(t[i-1],y[i-1]);
		k2=h*f(t[i-1]+h/2,y[i-1]+k1/2);
		k3=h*f(t[i-1]+h/2,y[i-1]+k2/2);
		k4=h*f(t[i-1]+h,y[i-1]+k3);
		y[i]=y[i-1]+(k1+2*k2+2*k3+k4)/6;
	}
    printf("该常微分方程在指定时刻得数值解分别为:\n");
	for(i=1;i<=n;i++)
	{
		if((i-1)%5==0) printf("\n");
		printf("y[%d]=%4f",i,y[i]);
	}
printf("\n");
}

⌨️ 快捷键说明

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