数值分析,C语言实现用改进的欧拉方法求解题微分方程,其中步长取为0.1。急求,在线等。
1个回答
展开全部
何为改进的欧拉方法?是Euler-Richardson算法吗?
#include <stdio.h>
#include <conio.h>
#include <math.h>
double WeiFen(double x, double y){
return y*y*(cos(x)-sin(x))-y;
}
void EulerRichardson(double &x, double &y, double dx){
//欧拉理查德算法进行迭代
double dy_dx,ymid,xmid,dx_2;
dx_2=dx/2;
dy_dx=WeiFen(x,y);//得到起点的变化率
ymid=y+dy_dx*dx_2;
xmid=x+dx_2;
dy_dx=WeiFen(xmid,ymid);//得到中间点的变化率
y+=dy_dx*dx;
x+=dx;
}
int main(){
double x=0,y=1,xm=1.0,dx=0.1;
printf("x\ty\n%lg\t%lg\n",x,y);
while(x<xm){
EulerRichardson(x,y,dx);
printf("%lg\t%lg\n",x,y);
}
printf("\nFinished!\n");
getch();
return 0;
}
看看这是不是就你想要的?
更多追问追答
追问
euler是欧拉,我问的是改进的欧拉
追答
我所写的就是改进的欧拉算法呀!即欧拉理查德森算法
系科仪器
2024-08-02 广告
2024-08-02 广告
科仪器致力于为微纳薄膜领域提供精益级测量及控制仪器,包括各种光谱椭偏、激光椭偏、反射式光谱等,从性能参数、使用体验、价格、产品可靠性及工艺拓展性等多个维度综合考量,助客户提高研发和生产效率,以及带给客户更好的使用体验。...
点击进入详情页
本回答由系科仪器提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询