Drexel dragonThe Math ForumDonate to the Math Forum



Search All of the Math Forum:

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


Math Forum » Discussions » Software » comp.soft-sys.matlab

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

Advanced Search

Back to Topic List Back to Topic List Jump to Tree View Jump to Tree View   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
  Click to see the message monospaced in plain text Plain Text   Click to reply to this topic Reply

"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
> 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?



Point your RSS reader here for a feed of the latest messages in this topic.

[Privacy Policy] [Terms of Use]

© Drexel University 1994-2014. All Rights Reserved.
The Math Forum is a research and educational enterprise of the Drexel University School of Education.