| 查看: 3553 | 回复: 1 | ||||
[求助]
dde23求解延迟微分方程的问题
|
» 本主题相关价值贴推荐,对您同样有帮助:
e^{-a\tau}在MATLAB中如何描述
已经有6人回复

月只蓝
主管区长 (职业作家)
-

专家经验: +1059 - 应助: 1712 (讲师)
- 贵宾: 8.888
- 金币: 68123.7
- 散金: 1938
- 红花: 443
- 沙发: 4
- 帖子: 4373
- 在线: 3291.4小时
- 虫号: 1122189
- 注册: 2010-10-14
- 专业: 宇宙学
- 管辖: 计算模拟区
|
以下是MATLAB的帮助文档,你程序的格式应该没问题。 >> help dde23 DDE23 Solve delay differential equations (DDEs) with constant delays. SOL = DDE23(DDEFUN,LAGS,HISTORY,TSPAN) integrates a system of DDEs y'(t) = f(t,y(t),y(t - tau_1),...,y(t - tau_k)). The constant, positive delays tau_1,...,tau_k are input as the vector LAGS. DDEFUN is a function handle. DDEFUN(T,Y,Z) must return a column vector corresponding to f(t,y(t),y(t - tau_1),...,y(t - tau_k)). In the call to DDEFUN, a scalar T is the current t, a column vector Y approximates y(t), and a column Z(:,j) approximates y(t - tau_j) for delay tau_j = LAGS(J). The DDEs are integrated from T0=TSPAN(1) to TF=TSPAN(end) where T0 < TF. The solution at t <= T0 is specified by HISTORY in one of three ways: HISTORY can be a function handle, where for a scalar T, HISTORY(T) returns a column vector y(t). If y(t) is constant, HISTORY can be this column vector. If this call to DDE23 continues a previous integration to T0, HISTORY can be the solution SOL from that call. DDE23 produces a solution that is continuous on [T0,TF]. The solution is evaluated at points TINT using the output SOL of DDE23 and the function DEVAL: YINT = DEVAL(SOL,TINT). The output SOL is a structure with SOL.x -- mesh selected by DDE23 SOL.y -- approximation to y(t) at the mesh points of SOL.x SOL.yp -- approximation to y'(t) at the mesh points of SOL.x SOL.solver -- 'dde23' SOL = DDE23(DDEFUN,LAGS,HISTORY,TSPAN,OPTIONS) solves as above with default parameters replaced by values in OPTIONS, a structure created with the DDESET function. See DDESET 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). DDE23 can solve problems with discontinuities in the solution prior to T0 (the history) or discontinuities in coefficients of the equations at known values of t after T0 if the locations of these discontinuities are provided in a vector as the value of the 'Jumps' option. By default the initial value of the solution is the value returned by HISTORY at T0. A different initial value can be supplied as the value of the 'InitialY' property. With the 'Events' property in OPTIONS set to a function handle EVENTS, DDE23 solves as above while also finding where event functions g(t,y(t),y(t - tau_1),...,y(t - tau_k)) 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 column vectors returned by EVENTS: [VALUE,ISTERMINAL,DIRECTION] = EVENTS(T,Y,Z). 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. The field SOL.xe is a row vector of times at which events occur. Columns of SOL.ye are the corresponding solutions, and indices in vector SOL.ie specify which event occurred. Example sol = dde23(@ddex1de,[1, 0.2],@ddex1hist,[0, 5]); solves a DDE on the interval [0, 5] with lags 1 and 0.2 and delay differential equations computed by the function ddex1de. The history is evaluated for t <= 0 by the function ddex1hist. The solution is evaluated at 100 equally spaced points in [0 5] tint = linspace(0,5); yint = deval(sol,tint); and plotted with plot(tint,yint); DDEX1 shows how this problem can be coded using subfunctions. For another example see DDEX2. |

2楼2013-10-12 08:50:03













回复此楼