ode45

资料百科
ode45,常微分方程的数值求解。MATLAB提供了求常微分方程数备鲜服许烧胞围值解的函数。当难以求得微分方程的解析解时,可以求其数值解,Matlab中求微分方程数值解的函数有七个:ode45,od来自e23,ode113,ode15s,ode23s,ode23t,ode23tb 。
  • 中文名 ode45
  • 用 于 解微分方程的功能函数
  • 首选方法 解决数值解问题的首选方法
  • 包 含 Nonstiff(非刚性)常微分方程

概述

  ode是Matlab专门用于解微分方程的功能函数。该求解器有变步长(variable-step)和定步长(fixed-step)两种类型。不同类型有着不同的求解器,其中ode45求解器属于变步长的一种,采用Runge-Kutta算法;和他采用相同算法的变步长求解器还有ode23。

  ode45表示采用四阶,五阶Runge-Kutta单步算法,截断误差为(来自Δx)^3。解决的是Nonstiff(非刚性)常微分方程。

  ode45是解决数值解问题的首选方法,若长时间没结果,应该就是刚性的,可换用ode23试试。

语法

  [T,Y] = ode45(江现剧阳书目弱器一顺抗odefun,tspan,y0)

  [T,作预木具宣另Y] = ode45(odefun,tspan,y0,options)

  [T,Y,TE,YE,IE] = ode45(odefun,tspan,y0,options)

  sol = ode45(odefun,[t0tf],y0...)

  [T,Y&#93360百科; = ode45(odefun,tspan,y0)

  odefun 是函数句柄,可以是函数文件名,匿名函数句柄或内联函数名

  tspan 是区间 [t0 tf] 或者一系列散点[t0,t1,...,tf]

  y0 是初始值向量 《Simulink与信振资个认左线更教在高怎号处理》

  T 返回列向量的时间件白汉东千王夜

  Y 返回对应T的求解列向量

  [T,Y] = ode45(odefun,tspan,y0,options)

  op叫越亮劳础问收价急马排tions 是求解参数设置,可以用odeset在计算前设定误差,输出参数,事件等

  [T,Y,TE,YE,IE] =ode45(odef销袁方un,tspan,y0,options)

  在设置了事件参数后的对应输出

  TE 事件发生时间

  YE 事件解决时间

  IE The index i of the event functionthat vanishes.

  sol =ode45(odefun,[t0 tf],y0...)

  介林督治北光sol 结构体输出结果

示例

  求解一阶常微分方程 odefun=@(t,y) (y+3*t)/t^2; %定义函数

  tspan=[1 4&#乡心福械国住93;; %求解区间

  y0=-2; %初值

  [t,y]=ode45(odefun,tspan,y0);plot(t,y) %作图

  title('t^2y'来自'=y+3t,y(1)村担侵久=-2,1<t<4') legend('t^2y''=y+3t')

  xlabel('t')

  ylabel('y')

  % 精确解

  % dsolve('t^2*Dy=y+3*t','y(1)=-2')

  % ans =一龙阿再载通阶求解结果图% (3*Ei(1) - 2*exp(1))/exp(1/t) - (3360百科*Ei(1/t))/exp(1/t)

  求解高阶常微分方程 关键是将高阶转为一阶,odefun的书写.

  F(y,y',y''...y(n-1),t)=0用变量替换格伟立陈级初生龙带实劳,y1=y,y2=y'...注意odefun方程定义为列向量

  dxdy=&#91;y(1),y(2)....&#93;

  程序:

  function Testode45

  tspan=&#91;3.9 4.0&#93;; %求解区间

  y0=&#91;2 8&#93副帮玉;; %初值

  &#91;t,x&#93;=ode45(@odefun,tspan,y0);plot(t,x(:,1),'-o',t,x(:,2),'-*')

高阶微分方程求解结果

  legend('y1','y2')

  title('y'' ''=-t*y + e^t*y'' +3sin2t')

  xlabel('t')

  ylabel('y')

  function y=odefun(t,x)

  y=zeros(2,1); % 列向量

  y(1)=x(2);

  y(2)=-t娘首整上肥世良毫周核苦*x(1)+exp(t)*x(按洋即停样球2)+3*sin(2*t);

  end

  end

标签:
声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:yongganaa@126.com

评论留言

我要留言

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:yongganaa@126.com