2013-02-28 26 views
19

Câu hỏi rất đơn giản và có lẽ là hiển nhiên: Làm thế nào tôi có thể hủy bỏ việc thực thi một kịch bản lệnh Matlab M bằng cách sử dụng câu lệnh trong kịch bản?Có thể dừng một kịch bản lệnh Matlab M bằng một câu lệnh trong tập lệnh không?

Điều này tương tự với việc gọi return ở giữa chức năng để kết thúc ngay lập tức.

+1

Abort và trở về là hai thứ khác nhau, bạn có muốn cho 'return' hoặc không muốn cho' exit (1) '? – Mikhail

+3

@Mikhail 'exit' thoát khỏi Matlab, đó có thể không phải là điều anh ta muốn ... – ahans

+6

hoạt động trở lại cũng giống như trong một tập lệnh giống như trong một hàm. – grantnz

Trả lời

22

Nếu return không muốn bạn cần, tôi nghĩ rằng bạn muốn sử dụng break

break ngắt thực hiện một mã Matlab. Ví dụ, các câu lệnh trong vòng lặp xuất hiện sau câu lệnh ngắt không được thực hiện.

Trong vòng lặp lồng nhau, chỉ thoát ra khỏi vòng lặp mà nó xảy ra. Kiểm soát chuyển đến câu lệnh theo sau vòng lặp đó.

+0

Cảm ơn Natan. Tôi không thể tin rằng tôi đã không thử điều đó. –

1

Có bạn có thể với sự giúp đỡ của

trở lại;

Trả lại các tác phẩm trong các tập lệnh Matlab giống như trong chức năng.

ví dụ:

function [ point ] = PointDoubling(x,y,p,a) 
    %UNTITLED2 Summary of this function goes here 
    % Detailed explanation goes here 
    if y==0 
     point='Not calculated'; 
     return; 
    end 
    a2=(3*(x^2))+a; 
    b2=(2*y); 
    i=1; 
    while 1 
     if mod(b2*i,p)==1 
     break; 
    end 
     i=i+1; 
    end 
    s=mod(a2*i,p); 
    x1=mod(((s^2)-(2*x)),p); 
    y1=mod(((-y)+(s*(x-x1))),p); 
    point=[x1,y1]; 
    end 
4

Do Matlab R2015b break không còn có thể được sử dụng để chấm dứt tập lệnh nữa. Hiện tại, break chỉ có thể được sử dụng cho vòng lặp for. Mã sẽ không chạy và lỗi sẽ được ném. Điều này về mặt kỹ thuật luôn đúng, nhưng bây giờ nó được thực thi.

Cách thích hợp là sử dụng return

+0

'while' loop cũng. –

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