检查Matlab函数是否存在输入参数

时间:2016-01-14 11:06:42

标签: matlab function

我正在尝试检查Matlab函数的输入,以查看用户是否忘记了它(在这种情况下这很容易)。

如果用户未提供number_obs,那么我想暂停程序并等待用户输入此信息。

其他一些StackOverflow帖子似乎建议使用~exist,但这似乎不起作用。任何人都可以在这里暗示我做错了吗?

function output=test(number_obs) 
if ~exist('number_obs'),
    number_obs=input('How many observations do you have in your experiments?')
end 

Python的等价物将是:

def test(number_obs):
    if nummber_obs != None:
        output=raw_input('How many observations do you have in your experiments? :')
    return output

2 个答案:

答案 0 :(得分:6)

您可以使用nargin

执行此操作
function output=test(number_obs) 
if nargin<1
    number_obs=input('How many observations do you have in your experiments?')
end 

答案 1 :(得分:2)

(编辑纠正真相)这可能无关紧要,但为了安全起见,您应该始终指定您要检查的对象类型。在你的情况下,它是一个&#39; var&#39;,所以

if ~exist('number_obs','var'),

感谢dasdingonesin指出这一点。