Search All of the Math Forum:

Views expressed in these public forums are not endorsed by NCTM or The Math Forum.

Notice: We are no longer accepting new posts, but the forums will continue to be readable.

Topic: Capture function input and determine input variable type
Replies: 3   Last Post: Aug 28, 2013 10:09 AM

 Messages: [ Previous | Next ]
 Angelia Posts: 2 Registered: 8/27/13
Re: Capture function input and determine input variable type
Posted: Aug 27, 2013 4:38 PM

"Steven_Lord" <slord@mathworks.com> wrote in message <kvibjo\$k7p\$1@newscl01ah.mathworks.com>...
>
>
> "Angelia " <tianqiuhua@gmail.com> wrote in message
> news:kvi9j4\$esg\$1@newscl01ah.mathworks.com...

> > 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
> slord@mathworks.com
> 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?

Date Subject Author
8/27/13 Angelia
8/27/13 Steven Lord
8/27/13 Angelia
8/28/13 Steven Lord