Matlab中varargin函数
生活随笔
收集整理的這篇文章主要介紹了
Matlab中varargin函数
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
寫了一個(gè)函數(shù):function test(varargin)
??那么在這個(gè)函數(shù)里,varargin就是一個(gè)cell數(shù)組,它包含了用戶輸入的參數(shù)。下面是一個(gè)例子:
function test(varargin) disp(['nargin is ' num2str(nargin)]); for v=1:numel(varargin) ??????disp(['varargin{' num2str(v) '} class is ' class(varargin{v})]); end
??????完全就是使用cell數(shù)組的方法來處理用戶輸入的個(gè)數(shù)不定的參數(shù),如果我們這樣調(diào)用這個(gè)函數(shù):
>> test()
??????會(huì)得到結(jié)果:
nargin is 0
??????表示用戶輸入?yún)?shù)個(gè)數(shù)為0個(gè),就是沒有輸入?yún)?shù)。
??????如果這樣調(diào)用:
>> test(1,'a',uint8(32),'123456');
??????會(huì)得到結(jié)果:
nargin is 4 varargin{1} class is double varargin{2} class is char varargin{3} class is uint8 varargin{4} class is char
??????表示用戶輸入了4個(gè)參數(shù),第一個(gè)是double類型,第二個(gè)是char類型,第三個(gè)是uint8類型,第四個(gè)也是char類型。
??????也就是說,只要把函數(shù)的參數(shù)列表的最后一個(gè)參數(shù)寫成varargin,就可以在函數(shù)內(nèi)部以訪問cell數(shù)組的方式來獲取可變參數(shù)的信息。
??那么在這個(gè)函數(shù)里,varargin就是一個(gè)cell數(shù)組,它包含了用戶輸入的參數(shù)。下面是一個(gè)例子:
function test(varargin) disp(['nargin is ' num2str(nargin)]); for v=1:numel(varargin) ??????disp(['varargin{' num2str(v) '} class is ' class(varargin{v})]); end
??????完全就是使用cell數(shù)組的方法來處理用戶輸入的個(gè)數(shù)不定的參數(shù),如果我們這樣調(diào)用這個(gè)函數(shù):
>> test()
??????會(huì)得到結(jié)果:
nargin is 0
??????表示用戶輸入?yún)?shù)個(gè)數(shù)為0個(gè),就是沒有輸入?yún)?shù)。
??????如果這樣調(diào)用:
>> test(1,'a',uint8(32),'123456');
??????會(huì)得到結(jié)果:
nargin is 4 varargin{1} class is double varargin{2} class is char varargin{3} class is uint8 varargin{4} class is char
??????表示用戶輸入了4個(gè)參數(shù),第一個(gè)是double類型,第二個(gè)是char類型,第三個(gè)是uint8類型,第四個(gè)也是char類型。
??????也就是說,只要把函數(shù)的參數(shù)列表的最后一個(gè)參數(shù)寫成varargin,就可以在函數(shù)內(nèi)部以訪問cell數(shù)組的方式來獲取可變參數(shù)的信息。
總結(jié)
以上是生活随笔為你收集整理的Matlab中varargin函数的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: opencv Remap 图像的映射
- 下一篇: MATLAB 无约束一维极值问题