How to create pop out warning messages?
Ältere Kommentare anzeigen
I am trying to create a function that will display messages by comparing a certain input. How can I display messages at each stage, which is like a warning box. Please help
function [ output_args ] = Newfunction( velocity )
%UNTITLED Summary of this function goes here
% Detailed explanation goes here
if (cond)
velocity >= 120;
h=msgbox('Your speed is okay');
else if velocity >=100 & velocity <=100;
h=msgboc('Warning:Approaching Stall');
else
h=msgbox('STALL');
end
end
Antworten (3)
Walter Roberson
am 6 Mär. 2013
0 Stimmen
warndlg()
Image Analyst
am 6 Mär. 2013
warningMessage = sprintf('Warning: your velocity = %f\nYou may stall!', velocity);
uiwait(warndlg(warningMessage));
The uiwait is in there so your code does not go blasting merrily along. The uiwait() will cause the code to pause until the user clicks OK.
Achchuthan Ganeshanathan
am 6 Mär. 2013
9 Kommentare
Walter Roberson
am 6 Mär. 2013
Caution: 120<h<105 is interpeted as ((120<h)<105) which is ((0 or 1) < 105) which is always true. To test a range use (105 < h & h < 120)
Walter Roberson
am 6 Mär. 2013
We need to see how you are invoking Newfunction
Achchuthan Ganeshanathan
am 6 Mär. 2013
Image Analyst
am 6 Mär. 2013
You don't actually have the "then" word in there, do you? That's for Visual Basic, not MATLAB. Also, elseif is one word, not two.
Do you know how to use the debugger? If you did, you'd simply step into this code and see what the value of h is. Apparently it's nothing because you didn't pass anything it.
Walter Roberson
am 6 Mär. 2013
How are you starting the code running? Are you going to Newfunction in the editor and pressing F5 or selecting run from the menus? If you are, then you cannot do that when you want to pass in parameters. You need to instead go to the command line and give a command such as
Newfunction(108)
I recommend that you fix your "if" conditions as I described above. (Ask the interface here to expand comments)
Achchuthan Ganeshanathan
am 8 Mär. 2013
Image Analyst
am 8 Mär. 2013
You can put that function anywhere in the m-file. But don't do this:
if 105<h<120
do
if 105 < h && h < 120
Achchuthan Ganeshanathan
am 8 Mär. 2013
Walter Roberson
am 8 Mär. 2013
How are you starting the code running? Are you going to Newfunction in the editor and pressing F5 or selecting run from the menus? If you are, then you cannot do that when you want to pass in parameters. You need to instead go to the command line and give a command such as
Newfunction(108)
Notice that is at the command line, not part of your code. It would instruct MATLAB to actually run the code, passing in the value 108 for h. Change the 108 to the value you want to give to h for your run.
Kategorien
Mehr zu Resizing and Reshaping Matrices finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!