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 ]

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(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]

© The Math Forum 1994-2015. All Rights Reserved.