MATLAB: Inputting Units

units

I have a user inputting different units for temperature. However, I only want the program to be able to accept Capital letters, so if they put a lowercase, it would tell them to input it again. What would be the code for this? I have something like this right now. The while part needs fixing.
Unit = input('Enter the units of the inputted temperature:','s'); while Unit == c Unit == k Unit == f Unit == r Unit = input('Please enter the unit with a Capital Letter:','s'); end

Best Answer

That's not user friendly. It would be very annoying to your users and I recommend you DON'T DO THAT, especially since it's not necessary at all. Just convert what they input to upper case with the upper() function, like this:
% Set up the dialog box parameters
prompt = {'Enter temperature:','Enter the temperature scale:'};
dialogTitle = 'Enter parameters';
numberOfLines = 1;
defaultAnswers = {'100','C'};
userResponse = inputdlg(prompt, dialogTitle, numberOfLines, defaultAnswers);
% Extract out individual variables from the user response.
temperature = str2double(userResponse{1})
% Convert to upper case.
EoSI = upper(userResponse{2})