Solve equation for symbolic function

7 visualizzazioni (ultimi 30 giorni)
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 Commenti
Jonathan Aust
Jonathan Aust il 9 Set 2019
They are symbolic functions. They do not have a body assigned to them though.
John D'Errico
John D'Errico il 9 Set 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.

Accedi per commentare.

Risposta accettata

Roshni Garnayak
Roshni Garnayak il 13 Set 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:

Più risposte (0)

Categorie

Scopri di più su Symbolic Math Toolbox in Help Center e File Exchange

Prodotti


Release

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by