24小时热门版块排行榜    

CyRhmU.jpeg
查看: 2385  |  回复: 15

最怜宵舞

木虫 (正式写手)

[求助] ode45已有4人参与

一道常微分求解的题目,要求用四阶龙格库塔法R-K,求Matlab中的ode45算法的内部算法程序代码,或者思路。

发自小木虫Android客户端
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

最怜宵舞

木虫 (正式写手)

有木有大神讲解一下参数的常微分方程组的龙格库塔的计算算法思路?

发自小木虫Android客户端
2楼2016-01-07 15:48:57
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ycsqubit

新虫 (著名写手)

3楼2016-01-07 15:57:18
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

最怜宵舞

木虫 (正式写手)

引用回帖:
3楼: Originally posted by ycsqubit at 2016-01-07 15:57:18
查书

找不到相关的我需要的内容

发自小木虫Android客户端
4楼2016-01-07 16:25:08
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

明明棒棒仔

铁杆木虫 (职业作家)

百度,论坛搜索啊,

发自小木虫Android客户端
5楼2016-01-07 16:51:36
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

bluesine

铁杆木虫 (职业作家)

科苑小木虫

【答案】应助回帖

★ ★ ★ ★ ★
感谢参与,应助指数 +1
最怜宵舞: 金币+5, 有帮助 2016-01-07 17:43:17
ode45Matlab自带了,你还确定继续自己写??

help ode45
ODE45  Solve non-stiff differential equations, medium order method.
    [T,Y] = ODE45(ODEFUN,TSPAN,Y0) with TSPAN = [T0 TFINAL] integrates the
    system of differential equations y' = f(t,y) from time T0 to TFINAL with
    initial conditions Y0. Function ODEFUN(T,Y) must return a column vector
    corresponding to f(t,y). Each row in the solution array Y corresponds to
    a time returned in the column vector T. To obtain solutions at specific
    times T0,T1,...,TFINAL (all increasing or all decreasing), use
    TSPAN = [T0 T1 ... TFINAL].     
   
    [T,Y] = ODE45(ODEFUN,TSPAN,Y0,OPTIONS) solves as above with default
    integration properties replaced by values in OPTIONS, an argument created
    with the ODESET function. See ODESET for details. Commonly used options
    are scalar relative error tolerance 'RelTol' (1e-3 by default) and vector
    of absolute error tolerances 'AbsTol' (all components 1e-6 by default).
   
    [T,Y] = ODE45(ODEFUN,TSPAN,Y0,OPTIONS,P1,P2...) passes the additional
    parameters P1,P2,... to the ODE function as ODEFUN(T,Y,P1,P2...), and to
    all functions specified in OPTIONS. Use OPTIONS = [] as a place holder if
    no options are set.   

    ODE45 can solve problems M(t,y)*y' = f(t,y) with mass matrix M that is
    nonsingular. Use ODESET to set the 'Mass' property to a function MASS if
    MASS(T,Y) returns the value of the mass matrix. If the mass matrix is
    constant, the matrix can be used as the value of the 'Mass' option. If
    the mass matrix does not depend on the state variable Y and the function
    MASS is to be called with one input argument T, set 'MStateDependence' to
    'none'. ODE15S and ODE23T can solve problems with singular mass matrices.  

    [T,Y,TE,YE,IE] = ODE45(ODEFUN,TSPAN,Y0,OPTIONS...) with the 'Events'
    property in OPTIONS set to a function EVENTS, solves as above while also
    finding where functions of (T,Y), called event functions, are zero. For
    each function you specify whether the integration is to terminate at a
    zero and whether the direction of the zero crossing matters. These are
    the three vectors returned by EVENTS: [VALUE,ISTERMINAL,DIRECTION] =
    EVENTS(T,Y). For the I-th event function: VALUE(I) is the value of the
    function, ISTERMINAL(I)=1 if the integration is to terminate at a zero of
    this event function and 0 otherwise. DIRECTION(I)=0 if all zeros are to
    be computed (the default), +1 if only zeros where the event function is
    increasing, and -1 if only zeros where the event function is
    decreasing. Output TE is a column vector of times at which events
    occur. Rows of YE are the corresponding solutions, and indices in vector
    IE specify which event occurred.   

    SOL = ODE45(ODEFUN,[T0 TFINAL],Y0...) returns a structure that can be
    used with DEVAL to evaluate the solution or its first derivative at
    any point between T0 and TFINAL. The steps chosen by ODE45 are returned
    in a row vector SOL.x.  For each I, the column SOL.y(:,I) contains
    the solution at SOL.x(I). If events were detected, SOL.xe is a row vector
    of points at which events occurred. Columns of SOL.ye are the corresponding
    solutions, and indices in vector SOL.ie specify which event occurred.

    Example   
          [t,y]=ode45(@vdp1,[0 20],[2 0]);   
          plot(t,y(:,1));
      solves the system y' = vdp1(t,y), using the default relative error
      tolerance 1e-3 and the default absolute tolerance of 1e-6 for each
      component, and plots the first component of the solution.
   
    Class support for inputs TSPAN, Y0, and the result of ODEFUN(T,Y):
      float: double, single

    See also
        other ode solvers:    ode23, ode113, ode15s, ode23s, ode23t, ode23tb
        options handling:     odeset, odeget
        output functions:     odeplot, odephas2, odephas3, odeprint
        evaluating solution:  deval
        ode examples:         rigidode, ballode, orbitode

    NOTE:
      The interpretation of the first input argument of the ODE solvers and
      some properties available through ODESET have changed in this version
      of MATLAB. Although we still support the v5 syntax, any new
      functionality is available only with the new syntax. To see the v5
      help, type in the command line  
          more on, type ode45, more off

    Reference page in Help browser
       doc ode45
板凳要做十年冷文章不发一个字
6楼2016-01-07 17:17:35
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

最怜宵舞

木虫 (正式写手)

引用回帖:
6楼: Originally posted by bluesine at 2016-01-07 17:17:35
ode45Matlab自带了,你还确定继续自己写??

help ode45
ODE45  Solve non-stiff differential equations, medium order method.
     = ODE45(ODEFUN,TSPAN,Y0) with TSPAN =  integrates the
    s ...

我调了Matlab的后台,看到了,可它的后台也是再次对库函数的调用,而现在,我处理数值时,想知道具体算法思路。

发自小木虫Android客户端
7楼2016-01-07 17:42:59
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

最怜宵舞

木虫 (正式写手)

引用回帖:
5楼: Originally posted by 明明棒棒仔 at 2016-01-07 16:51:36
百度,论坛搜索啊,

小女子能力有限,百度了很久,没有收获,谢谢建议

发自小木虫Android客户端
8楼2016-01-07 17:44:17
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

nagami

木虫 (正式写手)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
最怜宵舞: 金币+10, ★★★很有帮助 2016-01-07 22:47:40
引用回帖:
8楼: Originally posted by 最怜宵舞 at 2016-01-07 17:44:17
小女子能力有限,百度了很久,没有收获,谢谢建议
...

Dormand, J.R, and Prince, P.J. 1980, “A Family of Embedded Runge-Kutta Formulae,” Journal of Computational and Applied Mathematics, vol. 6, pp. 19–26.
ode45,嵌入式RK方法,单步计算一套数据,却可以组合出5阶和4阶的公式,这样就可以单步估计误差,自适应由此产生。原理相对简单,关键是对步长的控制
女靠衣装;男靠金装
9楼2016-01-07 20:17:05
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

最怜宵舞

木虫 (正式写手)

你好,我想问一下,他这个对微分的计算原理我懂,但是微分方程组我就不懂了

发自小木虫Android客户端
10楼2016-01-07 22:46:06
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 最怜宵舞 的主题更新
信息提示
请填处理意见