"solve" Function
12 views (last 30 days)
Show older comments
Patrick Star
on 7 Mar 2011
Edited: Walter Roberson
on 27 Dec 2021
I'm trying to use the "solve" function to find a variable, but the other variables in the equation are input as opposed to defined. How do I fix this? Here's to illustrate what I'm trying to do using a simplified equation:
x=input('x = ')
y=input('y = ')
z=solve('x+y=z',z)
2 Comments
Walter Roberson
on 27 Dec 2021
Edited: Walter Roberson
on 27 Dec 2021
Example:
syms x
y(x) = sin(x) - x^3/27 %this is the code for the function
fplot(y, [-2*pi 2*pi])
Accepted Answer
Walter Roberson
on 9 Mar 2011
Did you solve the license problem? Until you have the software installed and licensed, solve() isn't going to work.
The answer you are looking for is along these lines:
syms x y z
xin = input('x =');
yin = input('y =');
zsol = solve('z-y=x', z);
disp(['z = ' char(zsol)]);
znum = double(subs(zsol, {x, y}, {xin, yin}));
disp(['z = ' num2str(znum)]);
More Answers (2)
Andrew Newell
on 7 Mar 2011
Here is one way:
x=sym(input('x = '))
y=sym(input('y = '))
syms z
z=solve(z-x-y,z)
5 Comments
Andrew Newell
on 8 Mar 2011
Oh. I assumed that you were actually using the command "solve", which is in the Symbolic Toolbox.
Walter Roberson
on 8 Mar 2011
Please check to see whether you are licensed for the symbolic toolbox but perhaps have just not installed it. If you happen to be using the Student Edition than this could be the difficulty.
solve() is part of the symbolic toolbox and requires that toolbox be installed and licensed.
See Also
Categories
Find more on Assumptions in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!