📄
字号:
常微分方程初值问题的Euler方法2007-07-16 18:44#include<iostream>
using namespace std;
#define in 3.56
#define f(x,y) ((y)-2*(x)/(y))
#define M 30
void main()
{
int i;
double a,b,h,x[M+1],y[M+1];
cout<<"请输入a:\n";
cin>>a;
cout<<"请输入b:\n";
cin>>b;
h=(b-a)/M;
cout<<"步长为:"<<h<<"\n";
cout<<"假设的微分方程为:y'=y-2x/y\n";
cout<<"初值是:y(a)="<<in<<"\n";
y[0]=in;
x[0]=a;
for(i=1;i<=M;i++)
{
x[i]=x[i-1]+h;
y[i]=y[i-1]+h*(f(x[i-1],y[i-1]));
}
for(i=0;i<=M;i++)
{
cout<<"x"<<i<<"="<<x[i]<<" "<<"y(x"<<i<<")="<<y[i]<<"\n";
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -