How to stop a script if conditions are met.

1.653 Ansichten (letzte 30 Tage)
Cory
Cory am 2 Feb. 2012
Kommentiert: Walter Roberson am 5 Nov. 2022
I am using the 'if' function to detect if a user inputs a number that is not 5 digits long. What I would like is a function that stops the script if a certain condition is met without displaying an error message.
P.S. I'm very new to MATLAB.
  1 Kommentar
Jingyang Xie
Jingyang Xie am 6 Jan. 2021
Hi Cory, have you solved this problem? I think I encountered the same problem...

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Walter Roberson
Walter Roberson am 2 Feb. 2012
Bearbeitet: MathWorks Support Team am 9 Nov. 2018
To stop running a script or function and return to the invoking function or command window, use the return function. For example,
if a > b
return
end
Any code in the current script or function that is after the return function is not run
  9 Kommentare
Muhammad Usman Saleem
Muhammad Usman Saleem am 5 Nov. 2022
Respected Sir @Walter Roberson, I not get the point your shared. Will you please amend this suggestion in my code shared above please?
Walter Roberson
Walter Roberson am 5 Nov. 2022
notdone = true(9,1);
while any(notdone)
if rcp(i,m)<0.1 & trcp(i,m) > 0.8
ECP{i,m}=Ecp{i,m};
notdone(1) = false;
end
if recp(i,m)<0.1 & trecp(i,m) > 0.8
ECN{i,m}= Ecn{i,m};
notdone(2)=false;
end
%etc
end

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Hamid Ramezani
Hamid Ramezani am 30 Sep. 2019
you may use "error" function instead of return
  3 Kommentare
Adam K
Adam K am 10 Dez. 2020
Bearbeitet: Adam K am 10 Dez. 2020
I think a 'msgbox' to really alert the user what is the issue, and then the 'error' funcition to stop the code would be a workaround. This way the user is aware that the issue is not really an 'error' when they see the red error font.
msg = "You've got a number that is not 5 digits long";
f = msgbox(msg)
error(msg)
Rik
Rik am 10 Dez. 2020
I wonder if it is possible to detect if the code is running in a try block. In such cases the message might be more confusing than simply throwing the error.

Melden Sie sich an, um zu kommentieren.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by