欢迎来到天天文库
浏览记录
ID:59364655
大小:12.00 KB
页数:1页
时间:2020-09-04
《用四阶龙格-库塔法解求解微分方程初值问题.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、/*************************************************************************用四阶(定步长)龙格--库塔法求解初值问题,其中一阶微分方程未y'=f(x,y)*初始条件为x=x[0]时,y=y[0].*输入:f--函数f(x,y)的指针* x--自变量离散值数组(其中x[0]为初始条件)* y--对应于自变量离散值的函数值数组(其中y[0]为初始条件)* h--计算步长* n--步数*输出:x为说求解的自变量离散值数组* y为所求解对应于自变量离散
2、值的函数值数组************************************************************************/doublerunge_kuta(double(*f)(double,double),doublex[], doubley[],doubleh,intn){inti;doublexs,ys,xp,yp,dy;xs=x[0]+n*h;for(i=0;i3、);//k2y[i+1]+=h*dy/3;yp=ys+h*dy/2;dy=(*f)(xp,yp); //k3y[i+1]+=h*dy/3;xp+=h/2;yp=ys+h*dy;dy=(*f)(xp,yp);//k4y[i+1]+=h*dy/6;x[i+1]=xp;if(x[i+1]>=xs)return(0);}return(0);}
3、);//k2y[i+1]+=h*dy/3;yp=ys+h*dy/2;dy=(*f)(xp,yp); //k3y[i+1]+=h*dy/3;xp+=h/2;yp=ys+h*dy;dy=(*f)(xp,yp);//k4y[i+1]+=h*dy/6;x[i+1]=xp;if(x[i+1]>=xs)return(0);}return(0);}
此文档下载收益归作者所有