フィルターのクリア

How to fix "Error using indexing" while calculating differential equations?

30 ビュー (過去 30 日間)
Iita
Iita 2024 年 6 月 29 日 19:25
編集済み: John D'Errico 2024 年 6 月 30 日 0:05
syms y(t)
ode = diff(y,t) == t*y
ode(t) = 
ySol(t) = dsolve(ode)
ySol(t) = 
I copied this example straight from the MatLAB "Solve differential equations" > "First-Order Linear ODE" -example and hoped to modify it to solve my own equation, but it gives me an error message of "Error using indexing: Invalid argument at position 2. Symbolic function expected 1 input arguments but received 2.". I have no clue how to fix it, so help would be kindly appreciated.
  3 件のコメント
Iita
Iita 2024 年 6 月 29 日 19:51
Ah, I've got the R2023a version. I imagine an update would fix things quite efficiently :,D
Torsten
Torsten 2024 年 6 月 29 日 20:30
編集済み: Torsten 2024 年 6 月 29 日 21:14
I don't see any changes made in "dsolve" from R2023a to R2024a, but you can try.
Do you get the same error with this code ? Or does the error happen later on in your code when you try to manipulate ySol ?
syms y(t)
ode = diff(y,t) == t*y;
ySol = dsolve(ode)
ySol = 

サインインしてコメントする。

回答 (1 件)

John D'Errico
John D'Errico 2024 年 6 月 30 日 0:02
編集済み: John D'Errico 2024 年 6 月 30 日 0:05
The code you show will work perfectly in MATLAB, in literally any recent release of MATLAB. R2023 is entirely recent.
However, it is very possible that you have defined a variable named diff in your workspace. For example, let me do this:
syms y(t)
diff(t) = y(t)
diff(t) = 
ode = diff(y,t) == t*y
Error using indexing (line 249)
Invalid argument at position 2. Symbolic function expected 1 input arguments but received 2.
Do you see that I have gotten exactly the same error you were given?
Do this at the command line:
whos diff -all
And then delete the variable named diff.

カテゴリ

Help Center および File ExchangeProgramming についてさらに検索

製品


リリース

R2023a

Community Treasure Hunt

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

Start Hunting!

Translated by