关于ode45函数的说明.docx

关于ode45函数的说明.docx

ID:60984575

大小:29.81 KB

页数:11页

时间:2021-01-17

关于ode45函数的说明.docx_第1页
关于ode45函数的说明.docx_第2页
关于ode45函数的说明.docx_第3页
关于ode45函数的说明.docx_第4页
关于ode45函数的说明.docx_第5页
关于ode45函数的说明.docx_第6页
关于ode45函数的说明.docx_第7页
关于ode45函数的说明.docx_第8页
关于ode45函数的说明.docx_第9页
关于ode45函数的说明.docx_第10页
资源描述:

《关于ode45函数的说明.docx》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、关于ode45函数的说明求解器solver在求解常微分方程方面,matlab具有丰富的函数,将其统称为solver,其一般格式为:[T,Y]=solver(odefun,tspan,y0)该函数表示在区间tspan=[t0,t1]上,用初始条件y0求解显式常微分方程y’=f(t,y)。odefun为显式常微分方程中的f(t,y)函数,tspan为求解区间。要获得问题在制定时刻的解,可以令tspan=t0,t1,t2…(单调递增或递减),y0为初始条件。非刚性ODE求解命令求解器solver功能说明ode45一步算法;4,5阶龙格库塔方程;大部分尝

2、试的首累计截断误差(Δx)3选算法ode23一步算法;2,3阶龙哥库塔方程;适用于精度较低累计截断误差(Δx)3的情形ode113多步算法;Adams算法;高低精计算时间比度均可到10-6~10-3ode45短刚性ODE求解命令求解器solver功能说明ode23t梯形算法适度刚性情形ode15s多步法;Gear’s反向数值微分;若ode45失效时,可精度中等尝试使用ode23s一步法;2阶Rosebrock算法;当精度较低时,计算精度低时间比ode15s短ode23tb梯形算法;精度低当精度较低时,计算时间比ode15s短[T,Y]=ode45

3、(‘odefun’,tspan,y0)tspan为求解区间y0为初始条件(1)根据问题所属学科中的规律、定律、公式,用微分方程与初始条件进行描述。微分方程F(y,y¢,y¢¢,...,y(n),t)=0初始条件y(0)=c0,y¢(0)=c1,...,y(n-1)(0)=cn-1(2)若微分方程的阶数(n阶)大于1,则作变量替换:y1=y¢,y2=y¢¢,...,yn-1=y(n-1)把高阶(大于2阶)的方程(组)写成一阶微分方程组:dy0dtdy1dtdy2dtdyn-1dt=f0(t,y0,y1,y2,...,yn-1)=f1(t,y0,y

4、1,y2,...,yn-1)=f2(t,y0,y1,y2,...,yn-1)=fn-1(t,y0,y1,y2,...,yn-1)(3)根据(1)和(2)的结果,编写计算导数的M函数文件。待求解函数m文件:dy0=f0(t,y0,y1,y2,...,yn-1)dtfunctionDx=myfun(t,x)dy1=f1(t,y0,y1,y2,...,yn-1)dt%Dx为返回值,是一个列数组dy2=f2(t,y0,y1,y2,...,yn-1)%t表示时间dt%x也是一个数组自定义函数中的Dx和x与一阶微分方程组dyn-1=fn-1(t,y0,y1,

5、y2,...,yn-1)dt的关系是édy0ùéy0ùDx是一个数组,其第一个元素Dx(1)表示dy0/dtêú第二个元素Dx(2)表示dy1/dtdtêdy1úêú如此类推。êúy1êúêúdtêdy2úx=êyúx也是一个数组,其第一个元素x(1)表示y0Dx=êú2êdtúêú第二个元素x(2)表示y1ê...úê...ú如此类推。êúêdyn-1úêú根据这个关系,很容易可以把一阶微分方程组用êúëyn-1û数组Dx与数组x的元素表示出来。例如(见下页)dtëû例如:微分方程初始条件令y0=y,y1=dy0,dt二阶微分方程可以化为ìdy

6、0=yï1ídtïdy1=-k2y0ïîdt函数m文件写成functionDx=myfun(t,x)dy(t)+k2y(t)=0dty(0)=0,y¢(0)=v0变量与方程的量的对应关系édy0ùéyùêúdtDx=êúx=ê0úêdy1úëyûêú1ëdtû方程翻译成m文件为:函数m文件写成functionDx=myfun(t,x)Dx=[0;0];%初始化Dx,使其为列数组k=1;Dx(1)=x(2);%对微分方程的描述Dx(2)=-k^2*x(1);初始条件y(0)=0,y¢(0)=v0直接写出数组形式[0,v0]编写完函数文件myfun

7、.m后,就可以调用ode45命令,求解微分方程tspan=[0,2];y0=[010];[T,Y]=ode45(‘myfun’,tspan,y0)返回值有两个:T和Y。T为保存时间的列数组。Y为时间T所对应时刻的待求解变量的值。如果有N个方程组,Y就有N列。上述例子中,有两个一阶微分方程,那面此时Y就有两列。Y的第一列对应变量x(1),也就是前面的y(也就是y0)。Y的第二列对应变量x(2),也就是dy/dt。把解随时间的变化关系画出来plot(T,Y(:,1))%画Y的第一列数据,即yplot(T,Y(:,2))%画Y的第二列数据,即dy/dt

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

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

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