Solve equation for symbolic function

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 comentarios

darova
darova el 9 de Sept. de 2019
What is a(t) and b(t)?
Jonathan Aust
Jonathan Aust el 9 de Sept. de 2019
They are symbolic functions. They do not have a body assigned to them though.
John D'Errico
John D'Errico el 9 de Sept. de 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.

Iniciar sesión para comentar.

 Respuesta aceptada

Roshni Garnayak
Roshni Garnayak el 13 de Sept. de 2019

1 voto

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:

Más respuestas (0)

Categorías

Más información sobre Symbolic Math Toolbox en Centro de ayuda y File Exchange.

Productos

Versión

R2018b

Preguntada:

el 9 de Sept. de 2019

Respondida:

el 13 de Sept. de 2019

Community Treasure Hunt

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

Start Hunting!

Translated by