主要内容

。

varargin

可変长の入力引数のリスト

构文

说明

vararginは,任意の数の入力引数を关数で受け入れ可能にする关数定义ステートメントの入力変数です。小文字を使用してvararginを指定し,明示的に宣言された入力の后に最后の入力引数として含めます。

关数を実行した场合,vararginは1行Ñ列の细胞配列となり,Nは明示的に宣言された入力の后に关数が受け取る入力の数を表します。ただし,关数が,明示的に宣言された入力の后に入力を受け取らない场合,vararginは空の细胞配列です。

すべて展开する

acceptVariableNumInputs.mというファイルに,可変个の入力を受け入れて各入力値を表示する关数を定义します。

类型acceptVariableNumInputs
功能acceptVariableNumInputs(varargin)DISP( “号码的输入参数:” + nargin)celldisp(varargin)端

复数の入力を指定してこの关数を呼び出します。

acceptVariableNumInputs(酮(3),“一些文本”,PI)
的输入参数的数目:3 varargin {1} = 1 1 1 1 1 1 1 1 1 varargin {2} =一些文本varargin {3} = 3.1416

definedAndVariableNumInputs.mというファイルに,2つの入力を想定し,さらに任意の数の追加入力も受け入れる关数を定义します。

类型definedAndVariableNumInputs
功能definedAndVariableNumInputs(X,Y,varargin)DISP( “输入参数总数:” + nargin)formatSpec = “varargin单元阵列的大小:%DX%d”;STR =撰写(formatSpec,尺寸(varargin));DISP(STR)端

复数の入力を指定してこの关数を呼び出します。

definedAndVariableNumInputs(7,PI,兰特(4),日期时间('现在'),'你好'
总数的输入参数:5 varargin单元阵列的大小:1×3

2つの入力を指定してこの关数を呼び出します。vararginは空の细胞配列になります。

definedAndVariableNumInputs(13,42)
总数的输入参数:2 varargin单元阵列的大小:为0x0

variableNumInputAndOutput.mというファイルに,可変个の入力と出力を受け入れる关数を定义します。

类型variableNumInputAndOutput
功能varargout = variableNumInputAndOutput(varargin)DISP([ '的提供的输入数:' num2str(长度(varargin))])DISP([ '请求的输出的数量:' num2str(nargout)])对于k = 1:nargout varargout {ķ} = K;年底结束

2つの入力と3つの出力を指定して,この关数を呼び出します。

并[d,G,P] = variableNumInputAndOutput(6,'关系'
的提供的输入数:2号请求输出:3
d = 1
G = 2
P = 3

入力と出力を何も指定せずに,もう一度この关数を呼び出します。

variableNumInputAndOutput
的提供的输入数:0号请求输出:0

作业フォルダーのファイルで,赤のラインをプロットする关数情节のラッパーを作成します。关数redplotは,可変长の入力引数リストを受け入れ,可変长の出力引数リストを返します。これにより,ラインの色が赤に设定され,他の入力値が关数阴谋に転送されます。この关数ラッパーを使用すると,redplot阴谋と同じ入力を渡すことができ,ラインの色を赤に指定する必要がありません。

类型redplot.m
功能varargout = redplot(varargin)[varargout {1:nargout}] =情节(varargin {:}, '颜色',[1,0,0]);结尾

redplotを使用してラインプロットを作成します。

X = 0:PI / 100:2 * PI;Y =的sin(x);redplot(X,Y)

图包含一个轴。轴包含类型线的对象。

もう一度redplotを呼び出し,关数阴谋に転送する入力引数と出力引数を指定します。

H = redplot(X,Y,“标记”'O''MarkerEdgeColor''绿色');

图包含一个轴。轴包含类型线的对象。

拡张机能

R2006aより前に导入