2009-12-13 1 views
5

Stavo facendo un modello per un meccanismo a manovella e volevo visualizzare un errore per quando la lunghezza della manovella supera quella del braccio scorrevole. Con la lunghezza della manovella come r2 e lo slider di come r3, il mio codice andata così:Come posso visualizzare un messaggio di errore in MATLAB?

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

ottengo l'errore:

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

qualcuno può dirmi che cosa sto facendo male e come aggiustalo per favore?

risposta

2

credo che l'operatore di confronto dovrebbe essere <= non il contrario, a meno che non era solo un errore di battitura nella tua domanda

Inoltre si dovrebbe sfuggire il carattere ' utilizzando ''

11

Quando si desidera utilizzare il ' carattere di una stringa, si deve precedere con un altro ' (notare l'esempio nella documentation):

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

Inoltre, prendere nota della modifica apportata da =< a <=.

+2

Come circa compresi i valori di runtime attuali, troppo? Molto utile per il debug, soprattutto quando il tuo programma diventa più grande. errore (La lunghezza di 'The Crank' (% f) non può superare quella del cursore (% f) ', r2, r3) –

2

È possibile stampare l'errore gestire così:

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

Linguaggio errato. La funzione MATLAB stampa è per la stampa di una finestra di figura contenente elementi grafici su una stampante e \ non sfugge ". –

+0

@Steve: hai ragione. È 'fprintf', non' print' – Zaid