MATLAB Answers

SJ Won

Solve Function - Having Difficulties

Asked by SJ Won
on 4 Jul 2019
Latest activity Answered by 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.


Sign in to comment.


2 Answers

Answer by Stephan
on 4 Jul 2019
 Accepted Answer

syms x
xsol = solve(str2sym('x+4==2'),x)

  1 Comment

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.

Answer by 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.
solx= solve(str2sym('x+4==2'),x)


Sign in to comment.