首页 > 解决方案 > 如何防止 MATLAB dde23 选择琐碎的解决方案?

问题描述

我正在尝试dde23在 MATLAB 中求解以下 2 个延迟微分方程组。求解器似乎适用于方程 2,但对于第一个方程,它选择了平凡解v(1) = 0(如附图所示)。文献上dde23并未表明它具有强制解为非零/正数的特性(如在 ode 求解器中);有没有办法可以强制dde23搜索非平凡的>0解决方案?或者这个问题的一些解决方法?任何建议将不胜感激。在此处输入图像描述谢谢!

方程式:

v(1) = (Aval - f) * v(1) - b * v(1) * 2; %S eqn
v(2) = h * b * ylagS(1) * ylagV(2) - b * v(1) * v(2) - m * v(2); %V eqn

定义的常量:

Aval = 1.; %Various constants defined here
f = 10^-5;
b = 10^-7;
h = 1.5;
m = 0.0003;

标签: matlabode

解决方案


此示例求解区间 [0, 5] 上的 DDE,滞后 1 和 0.2。函数 ddex1de 计算延迟微分方程,ddex1hist 计算 t <= 0 的历史。

注意 文件 ddex1.m 包含此示例的完整代码。要在编辑器中查看代码,请在命令行中键入 edit ddex1。要运行它,请在命令行中键入 ddex1。

溶胶 = dde23(@ddex1de,[1, 0.2],@ddex1hist,[0, 5]); 此代码在区间 [0,5] 中的 100 个等距点处评估解决方案,然后绘制结果。

色调 = linspace(0,5); yint = deval(溶胶,色调);情节(色调,阴暗)


推荐阅读