matlab - 如何防止 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;
解决方案
此示例求解区间 [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(溶胶,色调);情节(色调,阴暗)
推荐阅读
- .net - 在 HttpListener 上返回响应,返回包括标头在内的所有内容
- c++ - 如何将迭代结果添加到 C++ 中的新多图?
- nginx - Nginx 对 RabbitMQ 的请求
- java - 如何在 Rest Assured 中验证 Json 响应值
- openedge - 如何覆盖opengege中的toString方法?
- javascript - Chart.js 散点轴标题
- python - Visual Studio 中的代码未输入正确的输出,以随机数退出
- swift - 修复 inflate 中的 UnsafePointer 警告
- netty - Netty HttpClient 遵循相对重定向
- entity-framework - 在弱实体实体框架中插入重复记录