Solving a dde23 problem
Ältere Kommentare anzeigen
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 Kommentare
Torsten
am 19 Dez. 2017
L is (10x10), Z is (10x10), so L*Z is (10x10). But v must be (10x1).
Best wishes
Torsten.
Deepayan Bhadra
am 19 Dez. 2017
Torsten
am 19 Dez. 2017
Just check it in "ddefun":
[m,n] = size(Z)
Best wishes
Torsten.
Antworten (0)
Kategorien
Mehr zu MATLAB finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!