Solve equation for symbolic function

7 Ansichten (letzte 30 Tage)
Jonathan Aust
Jonathan Aust am 9 Sep. 2019
Beantwortet: Roshni Garnayak am 13 Sep. 2019
I have this simple example:
syms a(t) b(t);
eqn = a(t) * 2 == b(t);
solve(eqn, a(t))
The output is:
Warning: Unable to find explicit solution. For options, see help.
ans =
Empty sym: 0-by-1
Why is MATLAB not able to solve this? It works if I make a and b constant (not dependent on t), but thats not what I want. The answer I would expect would be something like
a(t) = b(t) * 0.5
  3 Kommentare
Jonathan Aust
Jonathan Aust am 9 Sep. 2019
They are symbolic functions. They do not have a body assigned to them though.
John D'Errico
John D'Errico am 9 Sep. 2019
Solve apparently does not understand when you ask it to solve for a function.
But there is no reason why you cannot just leave it as a variable, a simple unknown. That it would at some point be dependent on t is something you can deal with later.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Roshni Garnayak
Roshni Garnayak am 13 Sep. 2019
In this example, the solution doesn’t depend on t. It’s just a representation, so you can use any symbol. Hence, a can be used in place of a(t).
If you have a differential equation where the solution is dependent on t, then you can use the “dsolve” function. Refer to the link below for details on “dsolve” function:

Weitere Antworten (0)

Kategorien

Mehr zu Symbolic Math Toolbox finden Sie in Help Center und File Exchange

Produkte


Version

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by