1樓:匿名使用者
示例:1. 當前函式的輸入
在名為 addme.m 的檔案中建立最多可接受兩個輸入的函式。在函式主體中使用 nargin 確定輸入數目。
type addme.m
function c = addme(a,b)
switch nargin
case 2
c = a + b;
case 1
c = a + a;
otherwise
c = 0;
endend
在命令提示符下使用兩個輸入呼叫 addme 函式。
c = addme(13,42)
c = 55
使用一個輸入呼叫該函式。
c = addme(13)
c = 26
2. 為函式定義的輸入
確定一個函式可接受多少個輸入。
上一個示例中建立的 addme 函式在宣告語句中包含兩個輸入(a 和 b)。以字元向量的形式定義函式名稱,並使用它作為 nargin 的輸入。
fun = 'addme';
nargin(fun)
ans = 2
3. 使用 varargin 的函式的輸入
確定使用 varargin 的函式可接受多少個輸入。
在名為 mynewplot.m 的檔案中建立一個函式,該函式接受數值輸入 x 和 y,並使用varargin返回任意數目的其他繪圖輸入。
type mynewplot.m
function mynewplot(x,y,varargin)
figure
plot(x,y,varargin)
title('my new plot')
end查詢 newplot 可以接受多少個輸入。
fx = 'mynewplot';
nargin(fx)
ans = -3
負號表示第三個輸入是 varargin。mynewplot 函式可接受不定數目的附加輸入引數。
擴充套件資料:
nargin——函式輸入引數數目。
2. 語法:nargin或nargin(fun)
3. 說明:
nargin 針對當前正在執行的函式,返回函式呼叫中給定函式輸入引數的數目。該語法僅可在函式體內使用。
nargin(fun) 返回 fun 函式定義中出現的輸入引數的數目。
如果該函式定義中包含 varargin,那麼 nargin 返回輸入數目的負數。
例如,如果 myfun 函式宣告輸入 a、b 和 varargin,那麼 nargin('myfun') 返回 -3。
4. 輸入引數
fun - 函式
nargin 從該函式的定義中返回其輸入引數數目;指定為函式控制代碼、字元向量或字串標量。
2樓:核武小超人
用法nargin或者nargin(fx), 其中fx指的是一個函式名或著函式控制代碼。
當一個函式的引數中含有varargin變數時,這時候返回值為負。
例如function c = addme(a, b)switch nargincase 2
c= a + b;case 1
c = a + a
otherwise
c = 0
返回的結果為 a + b。
用到nargin(fx)
fx =addme
nargin(fx)
ans =2
當含有 varargin引數時
function mynewplot(x, y, varargin)
fx =mynewplot
nargin(fx)
ans = -3
擴充套件資料:
nargin是用來判斷輸入變數個數的函式,這樣就可以針對不同的情況執行不同的功能。通常可以用他來設定一些預設值。
nargin意為number of function input arguments,指的是一個函式的輸入變數的個數。
在matlab命令視窗中輸入help nargin或者doc nargin即可獲得該函式的幫助資訊。
nargin通過呼叫當前正在執行的函式返回輸入引數的數量,只在函式體內使用nargin語法功能。
nargin(fx)在函式fx的定義宣告中返回輸入引數的個數。如果函式包括varargin其定義,那麼nargin返回的輸入個數為負。
例如函式foo輸入有 a,b,和varargin三個引數,那麼nargin('foo」)返回值為-3。
matlab提供了兩個獲取函式引數數目的函式:nargout與nargin。在函式內部使用時,nargin 和 nargout分別表明有輸入和輸出引數數量。
若在函式外部使用, nargin 和nargout對給定的函式,表明輸入和輸出引數數量。如果一個函式有可變數量的引數,引數數量為負值。
nargin:返回函式輸入引數的數量。
nargin(fun):返回函式 fun輸入引數數量。如果函式引數數量可變,nargin 返回一個負值。fun 可以是函式名或對映函式的函式控制代碼。
nargout:返回函式輸出引數的數量。
nargout(fun):返回函式fun的輸出引數數量,fun可以使函式名或對映函式的函式控制代碼。
3樓:匿名使用者
nargin是用來判斷輸入變數個數的函式,這樣就可以針對不同的情況執行不同的功能。通常可以用他來設定一些預設值,如下面的函式。
例子,函式test1的功能是輸出a和b的和。如果只輸入一個變數,則認為另一個變數為0,如果兩個變數都沒有輸入,則預設兩者均為0。
function y=test1(a,b)if nargin==0
a=0;b=0;
elseif nargin==1
b=0;
endy=a+b;
4樓:匿名使用者
nargin是函式輸入的變數數
通常用來判斷使用者是否輸入了足夠的變數,否則報錯或者使用預設值
matlab中出現這個報錯是什麼意思?(錯誤使用 nargin 您只能從 matlab 函式中呼叫 nargin/nargout。) 10
5樓:匿名使用者
程式中的自定義函式與matlab 自帶函式 nargin/nargout重名或有衝突。建議更改自定義函式名。
6樓:匿名使用者
使用:length(varargin)來替代nargin。
varargin用來存入輸入變數,以元胞陣列形式儲存,length(varargin)獲得輸出變數長度
matlab中nargin什麼意思
7樓:鈄暄
函式輸入引數的個數。n表示numberarg表示argumentsin表示inputnargin表示number of function input arguments下面的**輸出nargin,結果為3function demoa = 1;b = 1;c = 1;fun(a,b,c);endfunction fun(a,b,c)narginend
matlab 中typecast函式的用法是什麼,一點也不懂
8樓:匿名使用者
typecast()函式的作用是在不更改基礎資料的情況下轉換資料型別。
命令格式:
y = typecast(x, datatype)將x的資料型別,如 'uint8', 'int8', 'uint16', 'int16', 'uint32', 'int32', 'uint64',
'int64', 'single', or 'double使用例項
>>x = uint32([1 255 256]);
>>y = typecast(x, 'uint8')y = 1 0 0 0 255 0 0 0 0 1 0 0
M16機槍用法,m16適合用在哪個模式機關槍
m16是垃圾,還不如用ak47 1.ak74建議不要常蹲射,要練習邊移動邊射擊,建議先打牆壁記住滑鼠施壓多少就能控制射擊時的不穩定。2.近距離與敵人交鋒ak有絕對的攻擊力,如跟敵人正面交火,建議邊移動邊射擊,避免兩人同時陣亡。ak爆頭率算高!3.中距離建議以2?5發射擊對方後,停0.x秒再射擊,ak...
keep單詞用法,keep的用法
keep doing sth 一直在做某事。keep walking 一直走 keep adj 形容詞 是保持xx,比如說,keep fit 保持苗條 像你說的keep healthing,health本身是名詞,應該不存在加 ing 變動名詞的情況吧?但keep healthy 是可以的。比如去探...
拜。。託的用法,拜。。託 的用法
拜 託 的說法是不正確的。為什麼是不正確的呢?需要分析一下 拜託 這個詞的結構。這是一個偏正式的詞。拜託的具體含義是 恭敬的託付 這樣的結構中間是不能插入其他成分的。而在你舉的例子 即 拜技術的發達之託 裡面,拜和託的詞性都有了改變,拜成了動詞,託成了名詞 不正確的用法 成了述賓式的詞。如小春水瓶座...