我正在尝试检查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
答案 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指出这一点。