<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <link>http://www.mathworks.es/matlabcentral/newsreader/view_thread/290348</link>
    <title>MATLAB Central Newsreader - Using InputParse for boolean field</title>
    <description>Feed for thread: Using InputParse for boolean field</description>
    <language>en-us</language>
    <copyright>&amp;copy;1994-2013 by MathWorks, Inc.</copyright>
    <webmaster>webmaster@mathworks.com</webmaster>
    <generator>MATLAB Central Newsreader</generator>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <ttl>60</ttl>
    <image>
      <title>MathWorks</title>
      <url>http://www.mathworks.es/images/membrane_icon.gif</url>
    </image>
    <item>
      <pubDate>Fri, 27 Aug 2010 15:06:52 +0000</pubDate>
      <title>Using InputParse for boolean field</title>
      <link>http://www.mathworks.es/matlabcentral/newsreader/view_thread/290348#774951</link>
      <author>elgen</author>
      <description>I am trying to add a flag called "debug" as an optional input parameter &lt;br&gt;
to the function. The test function is listed below:&lt;br&gt;
&lt;br&gt;
function untitled(a, varargin)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;p = inputParser;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;p.addRequired('a', @isnumeric);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;p.addOptional('debug', 0, @(x)strcmpi(x, 'debug'));&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;p.parse(a, varargin{:})&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;disp(p.Results)&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
If i type&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;gt;&amp;gt; untitled(3)&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;a: 3&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;debug: 0&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
If i type&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;gt;&amp;gt; untitled(3, 'debug')&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;a: 3&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;debug: 'debug'&lt;br&gt;
&lt;br&gt;
I want Matlab to place 1 in the debug field, i.e.&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;gt;&amp;gt; untitled(3, 'debug')&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;a: 3&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;debug: 1&lt;br&gt;
&lt;br&gt;
Is it possible? Do I need to play with the anonymous function handle? &lt;br&gt;
FYI, matlab doc says that if the Boolean output is true, then MATLAB &lt;br&gt;
accepts the input value. I want to work around this.&lt;br&gt;
&lt;br&gt;
Thank you.</description>
    </item>
    <item>
      <pubDate>Mon, 30 Aug 2010 11:32:59 +0000</pubDate>
      <title>Re: Using InputParse for boolean field</title>
      <link>http://www.mathworks.es/matlabcentral/newsreader/view_thread/290348#775496</link>
      <author>Loren Shure</author>
      <description>&lt;br&gt;
"elgen" &amp;lt;sket16@no.spam.hotmail.com&amp;gt; wrote in message &lt;br&gt;
news:i58kar$hru$1@news.eternal-september.org...&lt;br&gt;
&amp;gt; I am trying to add a flag called "debug" as an optional input parameter to &lt;br&gt;
&amp;gt; the function. The test function is listed below:&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; function untitled(a, varargin)&lt;br&gt;
&amp;gt;     p = inputParser;&lt;br&gt;
&amp;gt;     p.addRequired('a', @isnumeric);&lt;br&gt;
&amp;gt;     p.addOptional('debug', 0, @(x)strcmpi(x, 'debug'));&lt;br&gt;
&amp;gt;     p.parse(a, varargin{:})&lt;br&gt;
&amp;gt;     disp(p.Results)&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; If i type&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; &amp;gt;&amp;gt; untitled(3)&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt;        a: 3&lt;br&gt;
&amp;gt;     debug: 0&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; If i type&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; &amp;gt;&amp;gt; untitled(3, 'debug')&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt;        a: 3&lt;br&gt;
&amp;gt;     debug: 'debug'&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; I want Matlab to place 1 in the debug field, i.e.&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; &amp;gt;&amp;gt; untitled(3, 'debug')&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt;        a: 3&lt;br&gt;
&amp;gt;     debug: 1&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; Is it possible? Do I need to play with the anonymous function handle? FYI, &lt;br&gt;
&amp;gt; matlab doc says that if the Boolean output is true, then MATLAB accepts &lt;br&gt;
&amp;gt; the input value. I want to work around this.&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; Thank you.&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt;&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
I think you're validator is checking for the string debug rather than &lt;br&gt;
validating its value.&lt;br&gt;
&lt;br&gt;
-- &lt;br&gt;
Loren&lt;br&gt;
&lt;a href="http://blogs.mathworks.com/loren/"&gt;http://blogs.mathworks.com/loren/&lt;/a&gt;&lt;br&gt;
&lt;a href="http://matlabwiki.mathworks.com/MATLAB_FAQ"&gt;http://matlabwiki.mathworks.com/MATLAB_FAQ&lt;/a&gt; </description>
    </item>
    <item>
      <pubDate>Fri, 17 Jun 2011 14:38:04 +0000</pubDate>
      <title>Re: Using InputParse for boolean field</title>
      <link>http://www.mathworks.es/matlabcentral/newsreader/view_thread/290348#841599</link>
      <author>rmc256 </author>
      <description>I'd like to revive this thread, as I don't understand if the original question is possible or not.&lt;br&gt;
Can I make an optional input to the inputParser (addOptional) that will return a 1 if the string is present in the function call, or a 0 if not? If so how? It seems Matlab will always take the string itself to be the value. I would have to pass a 1, but that's not very clear syntax.&lt;br&gt;
If there is not a way to do this, I could do it as a parameter value pair (i.e. untitled(3,'debug',1) ). Seems unnecessary.&lt;br&gt;
&lt;br&gt;
Michael&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
"Loren Shure" &amp;lt;loren.shure@mathworks.com&amp;gt; wrote in message &amp;lt;i5g4tb$j6p$1@fred.mathworks.com&amp;gt;...&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; "elgen" &amp;lt;sket16@no.spam.hotmail.com&amp;gt; wrote in message &lt;br&gt;
&amp;gt; news:i58kar$hru$1@news.eternal-september.org...&lt;br&gt;
&amp;gt; &amp;gt; I am trying to add a flag called "debug" as an optional input parameter to &lt;br&gt;
&amp;gt; &amp;gt; the function. The test function is listed below:&lt;br&gt;
&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; function untitled(a, varargin)&lt;br&gt;
&amp;gt; &amp;gt;     p = inputParser;&lt;br&gt;
&amp;gt; &amp;gt;     p.addRequired('a', @isnumeric);&lt;br&gt;
&amp;gt; &amp;gt;     p.addOptional('debug', 0, @(x)strcmpi(x, 'debug'));&lt;br&gt;
&amp;gt; &amp;gt;     p.parse(a, varargin{:})&lt;br&gt;
&amp;gt; &amp;gt;     disp(p.Results)&lt;br&gt;
&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; If i type&lt;br&gt;
&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt;&amp;gt; untitled(3)&lt;br&gt;
&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt; &amp;gt;        a: 3&lt;br&gt;
&amp;gt; &amp;gt;     debug: 0&lt;br&gt;
&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; If i type&lt;br&gt;
&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt;&amp;gt; untitled(3, 'debug')&lt;br&gt;
&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt; &amp;gt;        a: 3&lt;br&gt;
&amp;gt; &amp;gt;     debug: 'debug'&lt;br&gt;
&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; I want Matlab to place 1 in the debug field, i.e.&lt;br&gt;
&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt;&amp;gt; untitled(3, 'debug')&lt;br&gt;
&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt; &amp;gt;        a: 3&lt;br&gt;
&amp;gt; &amp;gt;     debug: 1&lt;br&gt;
&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; Is it possible? Do I need to play with the anonymous function handle? FYI, &lt;br&gt;
&amp;gt; &amp;gt; matlab doc says that if the Boolean output is true, then MATLAB accepts &lt;br&gt;
&amp;gt; &amp;gt; the input value. I want to work around this.&lt;br&gt;
&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; Thank you.&lt;br&gt;
&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; I think you're validator is checking for the string debug rather than &lt;br&gt;
&amp;gt; validating its value.&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; -- &lt;br&gt;
&amp;gt; Loren&lt;br&gt;
&amp;gt; &lt;a href="http://blogs.mathworks.com/loren/"&gt;http://blogs.mathworks.com/loren/&lt;/a&gt;&lt;br&gt;
&amp;gt; &lt;a href="http://matlabwiki.mathworks.com/MATLAB_FAQ"&gt;http://matlabwiki.mathworks.com/MATLAB_FAQ&lt;/a&gt; </description>
    </item>
    <item>
      <pubDate>Mon, 23 Apr 2012 22:36:07 +0000</pubDate>
      <title>Re: Using InputParse for boolean field</title>
      <link>http://www.mathworks.es/matlabcentral/newsreader/view_thread/290348#874637</link>
      <author>Maria </author>
      <description>"rmc256" wrote in message &amp;lt;itfosc$phe$1@newscl01ah.mathworks.com&amp;gt;...&lt;br&gt;
&amp;gt; I'd like to revive this thread, as I don't understand if the original question is possible or not.&lt;br&gt;
&amp;gt; Can I make an optional input to the inputParser (addOptional) that will return a 1 if the string is present in the function call, or a 0 if not? If so how? It seems Matlab will always take the string itself to be the value. I would have to pass a 1, but that's not very clear syntax.&lt;br&gt;
&amp;gt; If there is not a way to do this, I could do it as a parameter value pair (i.e. untitled(3,'debug',1) ). Seems unnecessary.&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; Michael&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; "Loren Shure" &amp;lt;loren.shure@mathworks.com&amp;gt; wrote in message &amp;lt;i5g4tb$j6p$1@fred.mathworks.com&amp;gt;...&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; "elgen" &amp;lt;sket16@no.spam.hotmail.com&amp;gt; wrote in message &lt;br&gt;
&amp;gt; &amp;gt; news:i58kar$hru$1@news.eternal-september.org...&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; I am trying to add a flag called "debug" as an optional input parameter to &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; the function. The test function is listed below:&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; function untitled(a, varargin)&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt;     p = inputParser;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt;     p.addRequired('a', @isnumeric);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt;     p.addOptional('debug', 0, @(x)strcmpi(x, 'debug'));&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt;     p.parse(a, varargin{:})&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt;     disp(p.Results)&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; If i type&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt;&amp;gt; untitled(3)&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt;        a: 3&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt;     debug: 0&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; If i type&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt;&amp;gt; untitled(3, 'debug')&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt;        a: 3&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt;     debug: 'debug'&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; I want Matlab to place 1 in the debug field, i.e.&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt;&amp;gt; untitled(3, 'debug')&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt;        a: 3&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt;     debug: 1&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; Is it possible? Do I need to play with the anonymous function handle? FYI, &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; matlab doc says that if the Boolean output is true, then MATLAB accepts &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; the input value. I want to work around this.&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; Thank you.&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; I think you're validator is checking for the string debug rather than &lt;br&gt;
&amp;gt; &amp;gt; validating its value.&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; -- &lt;br&gt;
&amp;gt; &amp;gt; Loren&lt;br&gt;
&amp;gt; &amp;gt; &lt;a href="http://blogs.mathworks.com/loren/"&gt;http://blogs.mathworks.com/loren/&lt;/a&gt;&lt;br&gt;
&amp;gt; &amp;gt; &lt;a href="http://matlabwiki.mathworks.com/MATLAB_FAQ"&gt;http://matlabwiki.mathworks.com/MATLAB_FAQ&lt;/a&gt; &lt;br&gt;
&lt;br&gt;
If you want 'debug' to be a boolean variable, why not do this:&lt;br&gt;
&lt;br&gt;
function untitled(a, varargin)&lt;br&gt;
p = inputParser;&lt;br&gt;
p.addRequired('a', @isnumeric);&lt;br&gt;
p.addParamValue('debug',false,@islogical);&lt;br&gt;
p.parse(a, varargin{:})&lt;br&gt;
disp(p.Results)&lt;br&gt;
&lt;br&gt;
Then&lt;br&gt;
&amp;gt;&amp;gt; untitled(3)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;a: 3&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;debug: 0&lt;br&gt;
&lt;br&gt;
&amp;gt;&amp;gt; untitled(3,'debug',true)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;a: 3&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;debug: 1</description>
    </item>
  </channel>
</rss>
