pacoyang 发表于 2009-4-25 20:37:45

如何快速的找到参数对的位置

比如说,myfunct('A',1,'C',10.2,'GH','red','min','max') 中有5个参数(对)
'A',1
'C',10.2
'GH','red'
'min'
'max'
5个参数(对)顺序可以任意,而且还有很多参数对没有给值,就用默认的值。myfunct的函数脚本为 function myfunct(varargin)。如何快速地找出varargin中参数的位置?我感觉好烦人啦。 strmatch等用不上,因为varargin不完全是字符串的cell

messenger 发表于 2009-4-25 22:53:56

没太看懂你说的是什么

参数位置的确定,要看函数的源程序呀

风天小畜 发表于 2009-4-26 07:15:40

你的问题,用一个 Struct 省心,省事。。。。

判断是否赋值,是否给予默认值,都是非常简单的事情。
.
-----------
当然,用 varargin ,得先用nargin 判断输入参数个数,再可以结合 switch case

pacoyang 发表于 2009-4-26 21:08:31

你的问题,用一个 Struct 省心,省事。。。。

判断是否赋值,是否给予默认值,都是非常简单的事情。
.
-----------
当然,用 varargin ,得先用nargin 判断输入参数个数,再可以结合 switch case
风天小畜 发表于 2009-4-26 07:15 http://forum.simwe.com/images/common/back.gif

我先把varargin中字符串位置找出来,

id_char=zeros(size(varargin)); for i=1:length(id_char), id_char(i)=ischar(varargin{i}); end
id_char=find(id_char==1);

然后找需要的变量,如'wt'

id=strmatch('wt',strvcat(varargin{id_char}),'exact');
页: [1]
查看完整版本: 如何快速的找到参数对的位置