2009-12-13 8 views
5

Ich machte ein Modell für einen Schubkurbelmechanismus und ich wollte einen Fehler anzeigen, wenn die Länge der Kurbel die des Schieberarms überschreitet. Mit der Länge der Kurbel als r2 und den Schieber des als r3 ging mein Code wie folgt:Wie kann ich eine Fehlermeldung in MATLAB anzeigen?

if r3=<r2 
    error('The crank's length cannot exceed that of the slider') 
end 

bekomme ich den Fehler:

???  error('The crank's length cannot exceed that of the slider') 
         | 
Error: Unexpected MATLAB expression. 

kann mir jemand sagen, was ich falsch mache und wie man repariere es bitte?

Antwort

2

Ich glaube, der Vergleichsoperator <= nicht umgekehrt sein sollte, es sei denn, dass nur ein Tippfehler in Ihrer Frage

war

Auch sollten Sie den ' Charakter entkommen ''

11

Verwendung Wenn Sie die verwenden möchten ' Zeichen in einer Zeichenkette, müssen Sie es mit einer anderen ' (man beachte das Beispiel in den documentation) vorangestellt:

if (r3 <= r2) 
    error('The crank''s length cannot exceed that of the slider'); 
end 

Beachten Sie auch die Änderung von =< zu <=.

+2

Wie wäre es, die tatsächlichen Laufzeitwerte einschließlich auch? Sehr nützlich für das Debugging, besonders wenn Ihr Programm größer wird. Fehler (Die Länge der Kurbel (% f) darf nicht größer sein als die des Schiebers (% f) ', r2, r3) –

2

können Sie auf den Fehler drucken behandeln auch:

fprintf(2,'The crank''s length cannot exceed that of the slider'); 
+1

Falsche Sprache. Der MATLAB-Funktionsdruck dient zum Drucken eines Zahlenfensters, das Grafiken für einen Drucker enthält, und \ nicht '. –

+0

@Steve: Du hast Recht. Es ist 'fprintf', nicht' print' – Zaid

Verwandte Themen