使用C语言解常微分方程CODE.pdf

使用C语言解常微分方程CODE.pdf

ID:58947005

大小:654.39 KB

页数:24页

时间:2020-09-17

使用C语言解常微分方程CODE.pdf_第1页
使用C语言解常微分方程CODE.pdf_第2页
使用C语言解常微分方程CODE.pdf_第3页
使用C语言解常微分方程CODE.pdf_第4页
使用C语言解常微分方程CODE.pdf_第5页
资源描述:

《使用C语言解常微分方程CODE.pdf》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、.解常微分方程姓名:Vincent年级:2010,学号:1033****,组号:5(小组),4(大组)1.数值方法:我们的实验目标是解常微分方程,其中包括几类问题。一阶常微分初值问题,高阶常微分初值问题,常微分方程组初值问题,二阶常微分方程边值问题,二阶线性常微分方程边值问题。对待上面的几类问题,我们分别使用不同的方法。?初值问题使用龙格-库塔来处理?边值问题用打靶法来处理?线性边值问题有限差分法初值问题我们分别使用?二阶龙格-库塔方法?4阶龙格-库塔方法来处理一阶常微分方程。理论如下:对于这样一个方程y'(t)f(t,y)当h很小时,我们用泰勒展开,k1hf(tk,yk)k2hf(tka

2、1h,ykb11k1)Li1khf(tah,yhbk)ikikijjj1当我们选择正确的参数a[i][j],b[i][j]之后,就可以近似认为这就是泰勒展开。对于二阶,我们有:y(th)y(t)hAf0Bf1其中f0f(t,y)f1f(tPh,yQhf0)经过前人的计算机经验,我们有,..选择A=1/2,B=1/2,则P=1,Q=1,于是又如下形式,这也使休恩方法的表达式。所以我们称其为龙格(库塔)休恩方法hy(th)y(t)f(t,y)f(th,yhf(t,y))2对于4阶龙格方法,我们有类似的想法,我们使用前人经验的出的系数,有如下公式hyy(k2k2kk),n1n12346kf(t,

3、y),1nnhhkf(t,yk),2nn122hhkf(t,yk),3nn222kf(th,yhk).4nn3对于高阶微分方程及微分方程组我们用?4阶龙格-库塔方法来解对于一个如下的微分方程组'y1f1(t,y1,L,yn),L'ynfn(t,y1,L,yn).y1(t0)y1,0,Lyn(t0)yn,0我们可以认为是一个一阶向量微分方程,所以可以用龙格-库塔方法的向量形式解。对于一个高阶的微分方程,形式如下:(n)(n1)y(x)ft,y,y',L,y,y(t0)0,L(n1)y(t0)n1我们可以构建出一个一阶的微分方程组,令y1(t)y'(t),L(n1)yn1(t)y(t)则有..

4、'yn1(x)ft,y,y1,L,yn1,'yn2(x)yn1(x),M'y2(x)y2(x),y'(x)y(x)1y(t0)0,y1(t0)1,其中,初值为Lyn1(t0)n1所以我们实际只要解一个微分方程组'y1f1(t,y1,L,yn),y1(t0)y1,0,L其中初值为L'ynfn(t,y1,L,yn).yn(t0)yn,0使用4阶龙格-库塔方法,对于k§1,n¨有,m1mhyyf2f2f+fkkk,1k,2k,3k,46其中,h是步长,m是递归的点。mmmfk,1fk(tm,y1,y2,....,yn)hmhmhmhff(t,yf,yf,....,yf)k,2km11,122,1

5、nn,12222hmhmhmhfk,3fk(tm,y1f1,2,y2f2,2,....,ynfn,2)2222mmmfk,2fk(tmh,y1hf1,3,y2hf2,3,....,ynhfn,3)使用这个向量形式的龙格-库塔方法我们便可就出方程的数值解。边值问题对于边值问题,我们分为两类?一般的边值问题?线性边值微分方程一般的边值问题,我们是使用打靶法来求解,对于这样一个方程x''f(t,x,x'),atb边界为,x(a),x(b).主要思路是,化成初值问题来求解。我们已有..x(a),我们估计x'(a)mk利用初值问题方法求解出x(b)sk我们用割线法迭代,使得在进行一定数量的步骤后,s

6、k;这样我们便可求出方程的解。?线性微分方程边值问题对于这样的问题,我们可以使用一个更加高效的方法,有限差分法。对于如下方程x''(t)p(t)x'(t)q(t)x(t)r(t)ta,bx(a),x(b)其中p,q,r是t的函数我们对其进行差分batnanh,hNh是步长当h足够小时,我们有x2xxn1nn1x''(tn)2hxn1xn1x'(tn).2h这样的话,我们的微分方程可以写成,2xn1xn1x2xxhp(t)q(t)xr(t)0n1nn1nnnn2hh2h21pnxn12hqnxn1pnxn1hrn,n1,L,N122x0,xN于是我们得到了个线性方程组..hr22hq11p1

7、02hhx22hre1p2hq1p11022222xh2r22h2h21pn2hqn1pnxnhrn222xN2hrN2h2h1p2hq1px2N2N2N2N1hrN1en22rh201pN12hqN12其中hhe0(1p1),en(1pN1)22这样的话我们求解出x对于上面的矩阵,我们可以分解出两个三角阵,然后回代求解便可。bcxf1111abcxf22222OOOMMAxfan1bn1cn1xn1fn1anbnxnf

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。