2009-12-13 33 views
5

Tôi đã làm một mô hình cho một cơ chế trượt-tay quay và tôi muốn hiển thị một lỗi khi chiều dài của quây vượt quá chiều dài của cánh tay trượt. Với chiều dài của tay quay như r2 và của thanh trượt như r3, mã của tôi đi như thế này:Làm cách nào để hiển thị thông báo lỗi trong MATLAB?

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

tôi nhận được lỗi:

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

ai đó có thể cho tôi biết những gì tôi đang làm sai và làm thế nào để sửa chữa nó xin vui lòng?

Trả lời

2

tôi tin rằng các toán tử so sánh nên <= không phải là cách khác xung quanh, trừ khi đó chỉ là một lỗi đánh máy trong câu hỏi của bạn

Ngoài ra bạn nên thoát khỏi nhân vật ' sử dụng ''

11

Khi bạn muốn sử dụng ' nhân vật trong một chuỗi, bạn phải đặt trước nó ' khác (lưu ý ví dụ trong documentation):

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

Ngoài ra, hãy lưu ý thay đổi tôi đã thực hiện từ =< đến <=.

+2

Làm thế nào về bao gồm các giá trị thời gian chạy thực tế, quá? Rất hữu ích để gỡ lỗi, đặc biệt là khi chương trình của bạn trở nên lớn hơn. lỗi ('Chiều dài của quây (% f) không thể vượt quá độ dài của thanh trượt (% f)', r2, r3) –

2

Bạn có thể in các lỗi xử lý cũng như:

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

Ngôn ngữ không chính xác. Chức năng in MATLAB là để in một cửa sổ hình chứa đồ họa vào máy in và \ không thoát '. –

+0

@Steve: bạn nói đúng. Đó là 'fprintf', không phải' in' – Zaid

Các vấn đề liên quan