MATLAB Function Reference |
Syntax
function varargout = foo(n) function y = bar(varargin)
Description
function varargout = foo(n)
從 foo.m
函式回傳可變動個數的參數。
function y = bar(varargin)
表示 bar.m
函式接受可變動個數的傳入參數。
varargin
和 varargout
只用在 M-file 函式內部以包含該函式可選擇性增減的參數。它們都必需被宣告在函式參數列中的最後一個位置,以包含從該位置開始的所有傳入或傳出參數。在宣告時, varargin
和 varargout
必需以小寫表示。
Examples
function myplot(x,varargin) plot(x,varargin{:})
varargin
包含第二個傳入參數開始的所有參數。 myplot
使用以逗號分隔條列的語法 varargin{:}
將參數傳給 plot
。下面這樣的呼叫
myplot(sin(0:.1:1),'color',[.5 .7 .3],'linestyle',':')
會使得 varargin
成為一個 1-by-4 的異質陣列 (cell array),其中共包含 'color'
,
[.5 .7 .3], 'linestyle'
, 和 ':'
。
function [s,varargout] = mysize(x) nout = max(nargout,1)-1; s = size(x); for i=1:nout, varargout(i) = {s(i)}; end
會回傳 size 向量,並選擇性地回傳個別的 size 資訊,所以
[s,rows,cols] = mysize(rand(4,5));
會回傳 s = [4 5], rows = 4, cols = 5
。
See Also
var | vectorize |