matlab提供了兩個獲取函式引數數目的函式:nargout與nargin。在函式內部使用時,nargin 和 nargout分別表明有輸入和輸出引數數量。若在函式外部使用, nargin 和nargout對給定的函式,表明輸入和輸出引數數量。如果乙個函式有可變數量的引數,引數數量為負值。
nargin:number of function input arguments,指的是乙個函式的輸入變數的個數。
用法:nargin或nargin(fx), 其中fx指的是乙個函式名或著函式控制代碼。
當乙個函式的引數中含有varargin變數時,這時候返回值為負。
function test(a,b)
switch nargin
case 1
c = a+a;
case 2
c = a+b;
otherwise
c = 0;
enddisp(c)
end
如果輸入兩個變數,返回兩個變數的和。如果是乙個變數,則為該變數的兩倍。如果未輸入變數,則返回0.
同樣也可以使用nargin(『函式名』),返回值為函式的接受引數個數。
但是如果函式接受引數中包含varargin引數時,返回值為負值。
例如:
nargin('test')
但是如果我們將原函式變為:
function test(a,b,varargin)
switch nargin
case 1
c = a+a;
case 2
c = a+b;
otherwise
c = 0;
enddisp(c)
end
此時
nargin('test')=-3
比如我們有這樣乙個函式需求,要求使用者不想返回引數時作圖展示運算結果,但是如果使用者要求輸出具體結果時就不做圖展示,返回運算結果就行。
unction c = test(a,b)
switch nargout
case 1
c = [sin(1:a),cos(1:b)];
otherwise
plot([sin(1:0.1:a),cos(1:0.1:b)])
endend
當在命令列輸入
test(10,20)
繪製圖形:
當輸入:
c = test(10,20)
會展示具體的數值資訊。 MATLAB中nargin 的用法
nargin是用來判斷輸入變數個數的函式,這樣就可以針對不同的情況執行不同的功能。通常可以用他來設定一些預設值,如下面的函式。例子,函式test1的功能是輸出a和b的和。如果只輸入乙個變數,則認為另乙個變數為1,如果兩個變數都沒有輸入,則預設兩者均為1。function y test1 a,b if...
初學筆記 matlab中的nargin系列函式
1 nargin nargin 用於調控function的執行中的變數的輸入個數 用於判定輸入變數的個數,從而在不同變數個數的 狀況下實現不同的 功能 因此一般在function裡面會設定好預設值 只有乙個輸出變數,和多個輸入變數 如果輸入變數只有a個,那麼在run這個function的時候,只能r...
matlab中hist和histogram的區別
matlab 早期版本使用hist和histc函式作為建立直方圖和計算 bin 計數的主要方法。這些函式適用於某些常規用途,但總體能力有限。基於這些原因 及其他原因 不建議在新 中使用hist和histc histogram histcounts和discretize函式顯著提高了 matlab 中...