nargin

nargin

nargin為“number of input arguments”的縮寫。 在matlab中定義一個函式時, 在函式體內部, nargin是用來判斷輸入變數個數的函式。在matlab命令視窗中輸入help nargin或者doc nargin即可獲得該函式的幫助信息。

基本信息

功能

nargin是用來判斷輸入變數個數的函式,特別是在利用了可變參數列表的函式中, 用nargin獲取輸入參數個數很方便。

調用格式

nargin

nargin(fx)

相關:varargout、nargout、varargin

函式說明

nargin通過調用當前正在執行的函式返回輸入參數的數量,只在函式體內使用nargin語法功能。

nargin(fx)在函式fx的定義聲明中返回輸入參數的個數。如果函式包括varargin其定義,那么nargin返回的輸入個數為負。例如函式foo輸入有 a,b,和varargin三個參數,那么nargin('foo”)返回值為-3。

套用舉例

例1.函式檔案 examp.m

function fout=examp(a,b,c)

if nargin==1

fout=a;

else if nargin==2

fout=a+b;

else if nargin==3

fout=(a*b*c)/2;

end

end

end

例1.function名為myplot。

function [x0, y0] = myplot(x, y, npts, angle, subdiv)
% MYPLOTPlot a function.
% MYPLOT(x, y, npts, angle, subdiv)
%The first two input arguments are
%required; the other three have default values...
ifnargin< 5, subdiv = 20; end
ifnargin< 4, angle = 10; end
ifnargin< 3, npts = 25; end
...
if nargout == 0
plot(x, y)
else
x0 = x;
y0 = y;
end

end

註:%x,y是兩個變數,npt,angle,subdiv這三個參數具有默認值,不需要輸入。
if nargin < 5, subdiv = 20; end如果輸入變數的個數小於5個,那么給subdiv賦默認值。

if nargin < 4, angle = 10; end如果輸入變數的個數小於4個,那么給angle賦默認值。

詳細用法 在matlab視窗中輸入 help nargin

例3.

function foo(argA, argB, argC, varargin)

fprintf('How many input arguments? %d\n', nargin);

fprintf('The input arguments are: %d %d %d ', argA, argB, argC);

for k=1:size(varargin, 2)

disp(varargin{k})

end

disp('Done');

end

輸出結果

>> foo(1, 2, 3)

How many input arguments? 3

The input arguments are: 1 2 3 Done

>> foo(1, 2, 3, [4, 5, 6])

How many input arguments? 4

The input arguments are: 1 2 3 4 5 6

Done

相關詞條

相關搜尋

熱門詞條

聯絡我們