dde23gydF4y2Ba
求解常时滞时滞微分方程gydF4y2Ba
语法gydF4y2Ba
Sol = dde23(ddefun,滞后,历史,tspan)gydF4y2Ba
Sol = dde23(ddefun,滞后,历史,tspan,选项)gydF4y2Ba
参数gydF4y2Ba
|
函数句柄,用于求微分方程右侧的值gydF4y2Ba .函数必须有形式gydF4y2Ba dydt = ddefun(t,y,Z)gydF4y2Ba 在哪里gydF4y2Ba |
|
常数向量,正延迟gydF4y2BaτgydF4y2Ba1gydF4y2Ba、……gydF4y2BaτgydF4y2BakgydF4y2Ba.gydF4y2Ba |
|
指定gydF4y2Ba
|
|
积分区间是从gydF4y2Ba |
|
可选的集成参数。类创建的结构gydF4y2Ba |
描述gydF4y2Ba
Sol = dde23(ddefun,滞后,历史,tspan)gydF4y2Ba
集成了dde系统gydF4y2Ba
在区间[gydF4y2BatgydF4y2Ba0gydF4y2Ba,gydF4y2BatgydF4y2BafgydF4y2Ba),gydF4y2BaτgydF4y2Ba1gydF4y2Ba、……gydF4y2BaτgydF4y2BakgydF4y2Ba是恒定的,积极的延迟和gydF4y2BatgydF4y2Ba0gydF4y2Ba,gydF4y2BatgydF4y2BafgydF4y2Ba.输入参数,gydF4y2BaddefungydF4y2Ba
,是函数句柄。gydF4y2Ba
参数化功能gydF4y2Ba解释如何向函数提供附加参数gydF4y2BaddefungydF4y2Ba
,如有需要。gydF4y2Ba
dde23gydF4y2Ba
将解作为结构返回gydF4y2Ba索尔gydF4y2Ba
.使用辅助函数gydF4y2Ba德瓦尔gydF4y2Ba
以及输出gydF4y2Ba索尔gydF4y2Ba
求特定点上的解gydF4y2Ba色彩gydF4y2Ba
在这段时间gydF4y2BaTspan = [t0,tf]gydF4y2Ba
.gydF4y2Ba
阴=阴(溶胶,色调)gydF4y2Ba
结构gydF4y2Ba索尔gydF4y2Ba
返回的gydF4y2Badde23gydF4y2Ba
具有以下字段。gydF4y2Ba
|
选择的网格gydF4y2Ba |
|
近似gydF4y2BaygydF4y2Ba(gydF4y2BaxgydF4y2Ba)的网格点gydF4y2Ba |
|
近似gydF4y2BaygydF4y2Ba”(gydF4y2BaxgydF4y2Ba)的网格点gydF4y2Ba |
|
解算器的名字,gydF4y2Ba |
Sol = dde23(ddefun,滞后,历史,tspan,选项)gydF4y2Ba
中的值替换默认集成属性,解决上述问题gydF4y2Ba选项gydF4y2Ba
,创建的参数gydF4y2BaddesetgydF4y2Ba
.看到gydF4y2BaddesetgydF4y2Ba
而且gydF4y2Ba求解时滞微分方程gydF4y2Ba获取更多信息。gydF4y2Ba
常用的选项是标量相对容错gydF4y2Ba“RelTol”gydF4y2Ba
(gydF4y2Ba1 e - 3gydF4y2Ba
默认情况下)和绝对容错向量gydF4y2Ba“AbsTol”gydF4y2Ba
(所有组件均为gydF4y2Ba1 e-6gydF4y2Ba
默认情况下)。gydF4y2Ba
使用gydF4y2Ba“跳跃”gydF4y2Ba
解决历史或解决方案中存在不连续的问题的选项。将此选项设置为一个向量,该向量包含之前解中不连续点的位置gydF4y2Bat0gydF4y2Ba
(历史)或在已知值的方程系数中gydF4y2BatgydF4y2Ba后gydF4y2Bat0gydF4y2Ba
.gydF4y2Ba
使用gydF4y2Ba“事件”gydF4y2Ba
选项,指定一个函数gydF4y2Badde23gydF4y2Ba
调用来查找函数所在的位置gydF4y2Ba
消失。这个函数必须是这样的形式gydF4y2Ba
[value, terminal,direction] = events(t,y,Z)gydF4y2Ba
并为每个要测试的事件包含一个事件函数。为gydF4y2BakgydF4y2Ba
中的Th事件函数gydF4y2Ba事件gydF4y2Ba
:gydF4y2Ba
值(k)gydF4y2Ba
是值gydF4y2BakgydF4y2Ba
事件函数。gydF4y2Ba端点k = 1gydF4y2Ba
如果你想让积分在这个事件函数的零点处终止gydF4y2Ba0gydF4y2Ba
否则。gydF4y2Ba方向k = 0gydF4y2Ba
如果你愿意gydF4y2Badde23gydF4y2Ba
要计算该事件函数的所有0,gydF4y2Ba+1gydF4y2Ba
如果只在事件函数增加的地方归零,并且gydF4y2Ba-1gydF4y2Ba
如果只在事件函数减小的地方归零。gydF4y2Ba
如果您指定gydF4y2Ba“事件”gydF4y2Ba
选项和事件被检测,输出结构gydF4y2Ba索尔gydF4y2Ba
还包括字段:gydF4y2Ba
|
所有事件位置的行向量,即事件函数消失的时间gydF4y2Ba |
|
矩阵的列是对应于时间的解的值gydF4y2Ba |
|
包含索引的向量,这些索引指定哪个事件在中相应的时间发生gydF4y2Ba |
例子gydF4y2Ba
这个例子在间隔[0,5]上求解延迟为1和0.2的DDE。这个函数gydF4y2Baddex1degydF4y2Ba
计算时滞微分方程,和gydF4y2Baddex1histgydF4y2Ba
计算的历史记录gydF4y2BaT <= 0gydF4y2Ba
.gydF4y2Ba
请注意gydF4y2Ba
这个文件,gydF4y2Baddex1.mgydF4y2Ba
,包含此示例的完整代码。要在编辑器中查看代码,请键入gydF4y2Ba编辑ddex1gydF4y2Ba
在命令行。要运行它,键入gydF4y2Baddex1gydF4y2Ba
在命令行。gydF4y2Ba
Sol = dde23(@ddex1de,[1,0.2],@ddex1hist,[0,5]);gydF4y2Ba
这段代码在区间中100个等间隔点处计算解gydF4y2Ba[0, 5]gydF4y2Ba
,然后绘制结果。gydF4y2Ba
Tint = linspace(0,5);Yint = deval(sol,色调);情节(色彩、yint);gydF4y2Ba
ddex1gydF4y2Ba
展示如何使用局部函数对该问题进行编码。有关更多示例,请参见gydF4y2Baddex2gydF4y2Ba
.gydF4y2Ba
算法gydF4y2Ba
dde23gydF4y2Ba
的显式龙格-库塔(2,3)对和插值函数来跟踪不连续点gydF4y2Baode23gydF4y2Ba
.它使用迭代来执行比滞后时间更长的步骤。gydF4y2Ba
参考文献gydF4y2Ba
[1] Shampine, L.F.和S. Thompson,《用MATLAB求解DDEs》gydF4y2Ba应用数值数学gydF4y2Ba, Vol. 37, 2001, pp. 441-458。gydF4y2Ba
[2] Kierzenka, J., L.F. Shampine和S. Thompson,”gydF4y2Ba用dde23求解时滞微分方程gydF4y2Ba”gydF4y2Ba
版本历史gydF4y2Ba
另请参阅gydF4y2Ba
ddesdgydF4y2Ba
|gydF4y2BaddensdgydF4y2Ba
|gydF4y2BaddegetgydF4y2Ba
|gydF4y2BaddesetgydF4y2Ba
|gydF4y2Ba德瓦尔gydF4y2Ba