sending an error message to the user

조회 수: 2 (최근 30일)
Sarah Chappell-Smith
Sarah Chappell-Smith 2016년 11월 28일
답변: Image Analyst 2016년 12월 4일
I am trying to write a code where the user is asked to input a value however the value must be (0<x<=0.25)how can I send the user a error message if they do not enter a value within the limits and allow them to attempt another input?

답변 (2개)

KSSV
KSSV 2016년 11월 28일
function Hello(x)
if ~(x >0 && x <= 0.25)
error('input is not 0<x<=0.25')
end
  댓글 수: 3
KSSV
KSSV 2016년 11월 29일
How you want to use the function? In the above no where you have called the function.
Sarah Chappell-Smith
Sarah Chappell-Smith 2016년 12월 4일
I've managed to get it to work using;
while f0 <= 0 f0>0.25
f0=input('Enter a value for the Fourier Number: ');
end

댓글을 달려면 로그인하십시오.


Image Analyst
Image Analyst 2016년 12월 4일
Use errordlg() or helpdlg() wrapped inside a uiwait():
Try this snippet:
% Ask user for two floating point numbers.
defaultValue = {'45.67', '78.91'};
titleBar = 'Enter a value';
userPrompt = {'Enter floating point number 1 : ', 'Enter floating point number 2: '};
caUserInput = inputdlg(userPrompt, titleBar, 1, defaultValue);
if isempty(caUserInput),return,end; % Bail out if they clicked Cancel.
% Convert to floating point from string.
usersValue1 = str2double(caUserInput{1})
usersValue2 = str2double(caUserInput{2})
% Check for a valid number.
if isnan(usersValue1)
% They didn't enter a number.
% They clicked Cancel, or entered a character, symbols, or something else not allowed.
% Convert the default from a string and stick that into usersValue1.
usersValue1 = str2double(defaultValue{1});
message = sprintf('I said it had to be a number.\nTry replacing the user.\nI will use %.2f and continue.', usersValue1);
uiwait(warndlg(message));
end
% Do the same for usersValue2

카테고리

Help CenterFile Exchange에서 Embedded Coder Supported Hardware에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by