MATLAB Answers

Solve Function - Having Difficulties

84 views (last 30 days)
SJ Won
SJ Won on 4 Jul 2019
Answered: Vaibhav Tomar on 4 Jul 2019
I'm having trouble using the solve function and I don't understand the problem. I looked at other posts + documentation but I still don't see it.
>> x = solve('x+4==2',x)
Error using solve>getEqns (line 418)
List of equations must not be empty.
Error in solve (line 226)
[eqns,vars,options] = getEqns(varargin{:});
This is the input I entered and the error I'm receiving.

  0 Comments

Sign in to comment.

Accepted Answer

Stephan
Stephan on 4 Jul 2019
syms x
xsol = solve(str2sym('x+4==2'),x)

  1 Comment

SJ Won
SJ Won on 4 Jul 2019
What's the reason people use quotes for the mathematical expression? Isn't it easier just using x+4==2 ?

Sign in to comment.

More Answers (1)

Vaibhav Tomar
Vaibhav Tomar on 4 Jul 2019
Quotes are necessary as it's a string.
You need to use str2sym
str2sym(symstr) evaluates symstr where symstr is a string representing a symbolic expression. Enter symbolic expressions as strings only when reading expressions from text files or when specifying numbers exactly. Otherwise, do not use strings for symbolic input.
Use:
x=sym('x')
solx= solve(str2sym('x+4==2'),x)

  0 Comments

Sign in to comment.

Tags

Community Treasure Hunt

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

Start Hunting!