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 Comments

What is a(t) and b(t)?
They are symbolic functions. They do not have a body assigned to them though.
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.

Sign in to comment.

 Accepted Answer

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:

More Answers (0)

Categories

Find more on Mathematics in Help Center and File Exchange

Products

Release

R2018b

Community Treasure Hunt

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

Start Hunting!