Solving a dde23 problem
이전 댓글 표시
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
Torsten
2017년 12월 19일
L is (10x10), Z is (10x10), so L*Z is (10x10). But v must be (10x1).
Best wishes
Torsten.
Deepayan Bhadra
2017년 12월 19일
Torsten
2017년 12월 19일
Just check it in "ddefun":
[m,n] = size(Z)
Best wishes
Torsten.
답변 (0개)
카테고리
도움말 센터 및 File Exchange에서 MATLAB에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!