"Steven_Lord" <email@example.com> wrote in message <firstname.lastname@example.org>... > > > "Angelia " <email@example.com> wrote in message > news:firstname.lastname@example.org... > > I want my function myFun (num, string) to allow user to input either > > argument num or string (or both). After using nargin to determine the > > number of input, how do I capture the input and determine whether it's a > > number or a string? > > So you want the signature of your function to be: > > function y = myFun(x) > > and you only want to allow x to be a number or a string? Or are you trying > to make the signature: > > function y = myFun(in1, in2) > > and accept myFun being called in any of these three ways: > > myFun(1) > myFun('2') > myFun(3, '4') > myFun('5', 6) > > Are these also allowed? > > myFun() > myFun(7, 8) > myFun('9', '0') > > You'll want to use CLASS and/or ISA to check the classes of the input data > types. CLASS lets you be very specific (I want to accept double precision > values but not single precision values or instances of a subclass of the > double class, for example) while ISA has some flexibility (I don't care what > type it is, as long as it's 'numeric' and I can use it as a number later in > my code.) > > -- > Steve Lord > email@example.com > To contact Technical Support use the Contact Us link on > http://www.mathworks.com
I allow myFun to be called in only these ways myFun() (This one I can do by checking nargin) myFun(1) myFun('2') myFun(3, '4') But I can't distinguish between the two cases with one single input. Hmm how should I use class?