mercredi 27 avril 2016

Matlab ask for integer loop

I'm creating a program to simulate a random walk and it requires the user to input an integer number of steps to take for the walk.

The prompt for this uses code very similar to this:

    **% Ask user for a number.
    defaultValue = 45;
    titleBar = 'Enter a value';
    userPrompt = 'Enter the integer';
    caUserInput = inputdlg(userPrompt, titleBar, 1,{num2str(defaultValue)});
    if isempty(caUserInput),return,end; % Bail out if they clicked Cancel.
    % Round to nearest integer in case they entered a floating point number.
    integerValue = round(str2double(cell2mat(caUserInput)));
    % Check for a valid integer.
    if isnan(integerValue)
    % They didn't enter a number.  
    % They clicked Cancel, or entered a character, symbols, or something else not allowed.
    integerValue = defaultValue;
    message = sprintf('I said it had to be an integer.\nI will use %d and continue.', integerValue);
    uiwait(warndlg(message));
    end**

However, I want it to simply display the "Enter a value" prompt again if the user does not enter an integer the first time i.e. 4.4.

Any ideas?

Thanks!




Aucun commentaire:

Enregistrer un commentaire