wmch85
2008-05-15, 16:20
function A=myhilb(n,m)
if nargout>1
error('too many output arguments.');
end
if nargin==1,m=n;
elseif nargin==0|nargin>2
error('Wrong number of input argments.');
end
for i=1:n
for j=1:m
A(i,j)=1/(i+j-1);
end
end
对于 elseif nargin==0|nargin>2 我的理解是当输入变量个数为0,或大于2时,将会给出出错信息。
但是,这题的运行结果是:
在命令窗口输入:
A=myhilb(3,4)
输出结果为:
A =
1.0000 0.5000 0.3333 0.2500
0.5000 0.3333 0.2500 0.2000
0.3333 0.2500 0.2000 0.1667
我想请教论坛中的高人,我该怎么理解nargin和nargout这两个matlab自带的变量??
if nargout>1
error('too many output arguments.');
end
if nargin==1,m=n;
elseif nargin==0|nargin>2
error('Wrong number of input argments.');
end
for i=1:n
for j=1:m
A(i,j)=1/(i+j-1);
end
end
对于 elseif nargin==0|nargin>2 我的理解是当输入变量个数为0,或大于2时,将会给出出错信息。
但是,这题的运行结果是:
在命令窗口输入:
A=myhilb(3,4)
输出结果为:
A =
1.0000 0.5000 0.3333 0.2500
0.5000 0.3333 0.2500 0.2000
0.3333 0.2500 0.2000 0.1667
我想请教论坛中的高人,我该怎么理解nargin和nargout这两个matlab自带的变量??