📄 改进欧拉方法求解.cpp
字号:
#include<stdio.h>
#define N 20
float f1(float,float);
void ModEuler(float(*f1)(float ,float),float x0,float y0,float xn,int n){
int i;
float yp,yc,x=x0,y=y0,h=(xn-x0)/n;
printf("x[0]%f\ty[0]=%f\n",x,y);
for(i=1;i<=n;i++){
yp=y+h*f1(x,y);
x=x0+i*h;
yc=y+h*f1(x,yp);
y=(yp+yc)/2.0;
printf("x[%d]=%f\ty[%d]=%f\n",i,x,i,y);
}
}
void main(){
float xn=5.0,x0=0.0,y0=2.0;
//void ModEuler(float(*)(float,float),float,float,float,int);
//float f1(float,float);
ModEuler(f1,x0,y0,xn,N);
}
float f1(float x,float y){
return -x*y*y;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -