执行以下操作时:
function [ x ] = addya( varargin )
x=varargin{1};
t=varargin{1};
if(nargin>1)
for i=2:nargin
t=t+varargin(i);
end;
end
x=t;
我得到的错误是:
addya(1,1)???未定义的功能或方法 'addya'表示'double'类型的输入参数。
请提出更改和错误。
答案 0 :(得分:0)
确保此功能保存在名为addya.m
的文件中。
此外,正如il_raffa提到的那样,在循环内部存在拼写错误:您应该使用varargin
访问{}
。
以下代码保存为addya.m
时适用于我:
function [ x ] = addya( varargin )
x=varargin{1}; %// Why is this needed?
t=varargin{1};
if(nargin>1)
for i=2:nargin
t=t+varargin{i};
end;
end
x=t;
另外,我建议不要使用i
作为循环索引,因为可能会出现复杂的数字。