龙格库塔算法解微分方程组-c语言

上传人:工**** 文档编号:486344487 上传时间:2024-02-29 格式:DOCX 页数:2 大小:10.30KB
返回 下载 相关 举报
龙格库塔算法解微分方程组-c语言_第1页
第1页 / 共2页
龙格库塔算法解微分方程组-c语言_第2页
第2页 / 共2页
亲,该文档总共2页,全部预览完了,如果喜欢就下载吧!
资源描述

《龙格库塔算法解微分方程组-c语言》由会员分享,可在线阅读,更多相关《龙格库塔算法解微分方程组-c语言(2页珍藏版)》请在金锄头文库上搜索。

1、/*This program is to solve the initial value problem of following system of differential equations:dx/dt=x+2*y,x(0)=0,dy/dt=2*x+y,y(0)=2, x(0.2) and y(0.2) are to be calculated*/#include#include#define steplength 0.1 /步?长可根据Y需要a调整?;#define FuncNumber 2 /FuncNumber为a微分?方?程的?数y目?;void main()float x200

2、,Yn20200,reachpoint;int i;x0=0;Yn00=0;Yn10=2; /初?值条?件t;reachpoint=0.2; /所求点?可根据Y需要a调整?;void rightfunctions(float x ,float *Auxiliary,float *Func);void Runge_Kutta(float *x,float reachpoint, float(*Yn)200);Runge_Kutta(x ,reachpoint, Yn);printf(x );for(i=0;i=(reachpoint-x0)/steplength;i+)printf(%f ,xi

3、);printf(nY1 );for(i=0;i=(reachpoint-x0)/steplength;i+)printf(%f ,Yn0i);printf(nY2 );for(i=0;i=(reachpoint-x0)/steplength;i+)printf(%f ,Yn1i);getchar();void rightfunctions(float x ,float *Auxiliary,float *Func)/当右方?程改?变?时,?需要a改?变?; Func0=Auxiliary0+2*Auxiliary1;Func1=2*Auxiliary0+Auxiliary1;void Run

4、ge_Kutta(float *x,float reachpoint, float(*Yn)200)int i,j;float FuncFuncNumber,KFuncNumber4,AuxiliaryFuncNumber;for(i=0;i=(reachpoint-x0)/steplength;i+) for(j=0;jFuncNumber;j+)Auxiliaryj=*(Ynj+i);rightfunctions(xi,Auxiliary,Func);for(j=0;jFuncNumber;j+)Kj0=Funcj; Auxiliaryj=*(Ynj+i)+0.5*steplength*K

5、j0; rightfunctions(xi,Auxiliary,Func);for(j=0;jFuncNumber;j+)Kj1=Funcj;Auxiliaryj=*(Ynj+i)+0.5*steplength*Kj1;rightfunctions(xi,Auxiliary,Func);for(j=0;jFuncNumber;j+) Kj2=Funcj; Auxiliaryj=*(Ynj+i)+steplength*Kj2; rightfunctions(xi,Auxiliary,Func);for(j=0;jFuncNumber;j+)Kj3=Funcj;for(j=0;jFuncNumber;j+)Ynji+1=Ynji+(Kj0+2*Kj1+2*Kj2+Kj3)*steplength/6.0;xi+1=xi+steplength;

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号