How to use prompts with User Defined Functions

15 views (last 30 days)
Help!
So I have been trying to create a user defined function with a prompt as an input so I can data validate a multitude of variables with changing input prompts.
I need it to be silimar to an input function that has one output and one input.
function [Out] = ValidInput('Prompt')
% In is the variable name i want the prompt to have but have no clue to get a value from the prompt.
c = 0;
while In <= 0 & c < 3
% somehow ask again with the same prompt
c = c+1;
end
if In == 0
error('Entered value is zero. Cannot solve problem, program terminated.')
elseif In < 0
warning('Invalid value entered 3 times. Taking the absolute value of the entered value.')
Out = abs(In);
end
end
  1 Comment
Ameer Hamza
Ameer Hamza on 6 Mar 2020
Can you give an example of how you will call this function, and what will be the expected output after running this function?

Sign in to comment.

Answers (1)

Sahithi Metpalli
Sahithi Metpalli on 9 Mar 2020
Hi,
Follow the below code
function [Out] = ValidInput(Prompt)
% In is the variable name i want the prompt to have but have no clue to get a value from the prompt.
In = input(Prompt)
c = 0;
while In <= 0 & c < 3
% somehow ask again with the same prompt
In = input(Prompt)
c = c+1;
disp(c);
end
if In == 0
error('Entered value is zero. Cannot solve problem, program terminated.')
elseif In < 0
warning('Invalid value entered 3 times. Taking the absolute value of the entered value.')
Out = abs(In);
else
%assigning In to output
Out = In;
end
end
Call the function in the following way
out = ValidInput("prompt")

Community Treasure Hunt

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

Start Hunting!