📄 微分方程.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 + -