Solving a dde23 problem

3 次查看(过去 30 天)
Deepayan Bhadra
Deepayan Bhadra 2017-12-19
评论: Torsten 2017-12-19
This seems simple enough: xdot = -Lx(t-0.1) L is a constant integer 10x10 matrix and x is 10x1 vector.
I am using this code snippet:
x0 = randn(10,1);
sol = dde23(@ddefun,[0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1],x0,[0 5]);
I'm defining ddefun as
function v = ddefun(t,x,Z)
D = diag([2 3 4 4 4 4 4 4 3 2]);
L = D-A; %A is a fixed 10x10 matrix (not written here since it's long)%
v = -L*Z;
end
This gives an error "Not enough input arguments. Error in ddefun (line 5) v = -L*Z"
How do I circumvent this issue and solve for x?
Thanks a lot.
  3 个评论
Deepayan Bhadra
Deepayan Bhadra 2017-12-19
Z is 10x1 right? I mean, Z reflects x(t-0.1), that is from x1(t-0.1 to x10(t-0.1). I'm not yet well versed with the DDE syntax. Thoughts?
Torsten
Torsten 2017-12-19
Just check it in "ddefun":
[m,n] = size(Z)
Best wishes
Torsten.

请先登录,再进行评论。

回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Delay Differential Equations 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by