分别用改进的欧拉法和四阶龙格-库塔公式求解微分方程初值问题
来源:学生作业帮 编辑:搜狗做题网作业帮 分类:综合作业 时间:2024/06/24 06:58:36
分别用改进的欧拉法和四阶龙格-库塔公式求解微分方程初值问题
(1) Y'=Y-2X/Y,Y(0)=1,X=[0,1],H=0.1
(2) Y'=X2+Y2.Y(0)=0,X=[0,1] H=0.1 注释;X2为X的平方,Y2为Y的平方,
然后用C语音编程的帮我编程一下
(1) Y'=Y-2X/Y,Y(0)=1,X=[0,1],H=0.1
(2) Y'=X2+Y2.Y(0)=0,X=[0,1] H=0.1 注释;X2为X的平方,Y2为Y的平方,
然后用C语音编程的帮我编程一下
![分别用改进的欧拉法和四阶龙格-库塔公式求解微分方程初值问题](/uploads/image/z/16198161-33-1.jpg?t=%E5%88%86%E5%88%AB%E7%94%A8%E6%94%B9%E8%BF%9B%E7%9A%84%E6%AC%A7%E6%8B%89%E6%B3%95%E5%92%8C%E5%9B%9B%E9%98%B6%E9%BE%99%E6%A0%BC-%E5%BA%93%E5%A1%94%E5%85%AC%E5%BC%8F%E6%B1%82%E8%A7%A3%E5%BE%AE%E5%88%86%E6%96%B9%E7%A8%8B%E5%88%9D%E5%80%BC%E9%97%AE%E9%A2%98)
求解就自己算吧,程序如下,其中RK4与改进欧拉法分别写成一个模块,方便阅读:
#include
#include
double f1(double x,double y) {//定义方程1
\x05return (y-2*x/y);
}
double f2(double x,double y) {//定义方程2
\x05return (x*x+y*y);
}
double RK4(double xn,double yn) {
\x05double h=0.1,k1=0,k2=0,k3=0,k4=0,d=1,h2=h/2;//RK4解方程2
\x05printf(" x2 y2\n");
\x05printf("%3.1lf%10.6lf\n",xn,yn);
\x05while(xn
#include
#include
double f1(double x,double y) {//定义方程1
\x05return (y-2*x/y);
}
double f2(double x,double y) {//定义方程2
\x05return (x*x+y*y);
}
double RK4(double xn,double yn) {
\x05double h=0.1,k1=0,k2=0,k3=0,k4=0,d=1,h2=h/2;//RK4解方程2
\x05printf(" x2 y2\n");
\x05printf("%3.1lf%10.6lf\n",xn,yn);
\x05while(xn