Effacer les filtres
Effacer les filtres

Unexpected MATLAB operator during using isnumeric and isletter

2 vues (au cours des 30 derniers jours)
jarvan
jarvan le 18 Nov 2014
Commenté : Orion le 19 Nov 2014
I am writing a function that prompts the user for a number immediately followed by a letter of the alphabet. The format should be number first then letter after. I got error when I called the function up , I typed 123d and it said Unexpected MATLAB operator.
Here is the example:
Enter a letter and a #: xyz4.5t
Error!
Enter a letter and a #: 3.21f
num =
3.2100
let =
f
And here is my code
function[num let] = readthem(word)
fprintf('Please enter a number immediately followed by a letter of the alphabet \n')
word = input('Enter a letter and a #: ')
while isnumeric(num)==0 || isletter('let')== 0
word = input('Enter a letter and a #: ')
end
sprintf('You enter %d%s',num,let)
end

Réponse acceptée

Orion
Orion le 18 Nov 2014
Modifié(e) : Orion le 18 Nov 2014
Jarvan,
you misused the call to input
when you use
word = input('Enter a letter and a #: ')
Matlab expects the user to give a valid expression, not a string.
what you want to do is to give a string as input, so, just do
word = input('Enter a letter and a #: ','s') % add a second argument to _input_ to consider the input as a string.
and then you can decompose the data word in two parts num and let .
Note : in your code, num and let are not calculated ?!
  3 commentaires
jarvan
jarvan le 19 Nov 2014
I also know I can use [num let] = strtok to display what user just input, however, I don't know where should I put during using function
Orion
Orion le 19 Nov 2014
in a simplier way
function [num,let] = readthem()
fprintf('Please enter a number immediately followed by a letter of the alphabet \n');
word = input('Enter a letter and a #: ','s');
let = word(isletter(word));
num = word(~isletter(word));
fprintf('You entered %s %s',num,let);
end

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Characters and Strings dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by