欧拉法解常微分方程代码

  • 格式:txt
  • 大小:0.89 KB
  • 文档页数:1

// §4 常微分方程的差分方法

// 程序4.1 — 欧拉方法

#include
#include
#include
#include
#include
#include

#include "expressi.cpp"

void Euler(char FxyString[],float x0,float y0,float h,int n)
{
int i;
float yi;
if(CreateFxy(FxyString)) return;

yi=y0;
for(i=1;i{
yi=yi+h*f(x0+(i-1)*h,yi);
printf("\ny%d=%f",i,yi);
}

}

void main()
{
float x0,y0,h; //x0:自变量初值,y0:y(x0),h:步长
int n; //步数
char FxyString[200]; //存放C表达式格式的f(x,y)

printf("\nInput function,x0,y0,h,n: ");
scanf("%s %f %f %f %d",FxyString,&x0,&y0,&h,&n);

Euler(FxyString,x0,y0,h,n);

getch();
}

/*
运行实例

Input function,x0,y0,h,n: y-2*x/y 0 1 0.1 11

y1=1.100000
y2=1.191818
y3=1.277438
y4=1.358213
y5=1.435133
y6=1.508966
y7=1.580338
y8=1.649784
y9=1.717780
y10=1.784771

*/

下载文档原格式

  / 1
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。