dsolve invalid indexing error
4 ビュー (過去 30 日間)
古いコメントを表示
I have a simple diff eqn that is throwing a dsolve error.
Invalid indexing or function definition. Indexing must follow MATLAB indexing.
Function arguments must be symbolic variables, and function body must be sym
expression.
I am guessing it is a simple syntax error, but I just can't see it.
syms y(t) u(t)
Dy = diff(y,t);
D2y = diff(Dy,t);
D3y = diff(D2y,t);
eqn = D3y + 7*D2y + 20*Dy + 24*y == 3*diff(u,t) + 2*u;
cond = [y(0)==0, Dy(0)==1, D2y(0)==-1];
ySol(t) = dsolve(eqn,cond)
1 件のコメント
採用された回答
Walter Roberson
2022 年 4 月 26 日
You have two functions, y and u, but only one differential equation. MATLAB has to decide what to solve for. It essentially uses symvar() and picks the first one... which would be u. u only appears as first derivative, while you have 3 boundary conditions.
The error you get occurs when you have more boundary conditions than you have differential equations.
0 件のコメント
その他の回答 (1 件)
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!