2012-03-26 20 views
6

Ich habe nicht die geringste Ahnung, was hier vor sich geht, und Google bietet keine interessante Hilfe. Ich nahm das folgende Beispiel aus http://www.mathworks.com/help/toolbox/symbolic/solve.html#inputarg_eqnMATLAB Beispiele sind fehlgeschlagen

>> syms x 
>> solve(x^2 + 4*x + 1 == 0) 
??? Error using ==> char 
Conversion to char from logical is not possible. 

Error in ==> solve>getEqns at 169 
    vc = char(v); 

Error in ==> solve at 67 
[eqns,vars] = getEqns(varargin{:}); 

Was hier los?

Antwort

11

Die Dokumentation, die Sie lesen, trifft nicht auf Ihre Version von MatLab zu. Ich kann Ihren Fehler zum Beispiel in 2008b reproduzieren.

Die ältere Dokumentation sagt:

Beachten Sie, dass diese Beispiele f(x) = 0 Gleichungen der Form annehmen. Wenn Sie Gleichungen des Formulars f(x) = q(x) lösen müssen, müssen Sie Strings in Anführungszeichen verwenden. Insbesondere der Befehl

s = solve('cos(2*x)+sin(x)=1') 

In Zukunft achten Sie auf die Linie am oberen Rand jeder Seite MatLab Online-Dokumentation, wo es heißt, welche Version der Dokumentation gilt.