Error returned with solve function

Hello!
I'm a bit puzzled when trying to solve a simple equation, taken as an example from the Matlab documentation:
syms a b c x
solve(a*x^2 + b*x + c == 0)
This returns:
??? Error using ==> char Conversion to char from logical is not possible.
Error in ==> solve>getEqns at 189 vc = char(v);
Error in ==> solve at 67 [eqns,vars] = getEqns(varargin{:});
Quite the opposite to what the example displays.
How can I solve this? Uku

답변 (1개)

Walter Roberson
Walter Roberson 2012년 7월 7일

0 개 추천

You are using an older version of MATLAB that evaluates the truth of the comparison expression (creating a logical) before it calls solve()
Alternately, you might have assignments to a, b, c, and x before the solve() call, and if those assignments are all numeric values then the "symbolness" of the variables would be over-written, leaving a*x^2 + b*x + c as being a numeric variable, whose numeric value would be compared to 0 and that result passed to solve()

카테고리

도움말 센터File Exchange에서 Symbolic Math Toolbox에 대해 자세히 알아보기

질문:

Uku
2012년 7월 7일

Community Treasure Hunt

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

Start Hunting!

Translated by