For a function, how do I make the function take strings as input?

35 vues (au cours des 30 derniers jours)
Manjeel Regmi
Manjeel Regmi le 14 Nov 2016
Commenté : Walter Roberson le 14 Nov 2016
function [ ] = square( a ,b )
a is supposed to be a string value; and b is a number.
I've tried manipulating the value after this line by using num2str(a) & a couple of other methods, but nothing I've done works. I always get this error "Undefined function or variable 'whatever'."
Please help, thank you.
  2 commentaires
Preethi
Preethi le 14 Nov 2016
can you elaborate?
Manjeel Regmi
Manjeel Regmi le 14 Nov 2016
How do I elaborate? That's everything I want - a function that takes in string values as input. My error is "Undefined function or variable 'whatever string I input'. Sorry if that wasn't clear.

Connectez-vous pour commenter.

Réponse acceptée

Walter Roberson
Walter Roberson le 14 Nov 2016
a_value = num2str(a);
or, better,
a_value = str2double(a);
Note that the routine has to be run by a line of code, or by going to the command line and typing in the command, such as
square('341', 17.2)
  1 commentaire
Walter Roberson
Walter Roberson le 14 Nov 2016
In MATLAB, it is not possible to define a function that knows to automatically change a parameter to a string. You cannot, for example, define square such that
square(EFG, 17.2)
should be automatically interpreted as
square('EFG', 17.2)
In each case where you want to pass a string, you need to quote the string when you construct it, like the example I just showed, or like
square_arg = 'EFG';
square(square_arg, 17.2)

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