主要内容

このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

varargout

可変長の出力引数の一覧

構文

説明

varargoutは,任意の数の出力引数を関数で返すことを可能にする関数定義ステートメントの出力変数です。小文字を使用してvarargoutを指定し,明示的に宣言された出力の後に最後の出力引数として含めます。

関数を実行した場合,varargoutは1行N列の细胞配列となり,Nは明示的に宣言された出力の後に要求された出力の数を表します。関数内で,varargoutは初期化されていない変数であり,事前に割り当てられません。

すべて展開する

returnVariableNumOutputs.mというファイルに,出力サイズベクトル年代および可変個の追加の出力を返す関数を定義します。

类型returnVariableNumOutputs
function [s,varargout] = returnVariableNumOutputs(x) nout = max(nargout,1) - 1;s =大小(x);对于k = 1:nout varargout{k} = s(k);结束结束

出力年代には,入力配列xの次元が含まれます。追加の出力は,年代内の個々の次元に対応しています。

3次元の配列を指定してこの関数を呼び出し,3つの出力を要求します。

一个=兰德(4、5、2);[s、行关口]= returnVariableNumOutputs (A)
s =1×34 5 2
行= 4
关口= 5

4次元の配列を指定してもう一度この関数を呼び出し,4つの出力を要求します。このとき,この関数は4番目の次元を返しません。

一个= 0 (1,4,5,2);[s dim1 dim2, dim3] = returnVariableNumOutputs (A)
s =1×41 4 5 2
dim1 = 1
dim2 = 4
dim3 = 5

一个に対してこの関数をもう一度呼び出し,1つの出力を要求します。ここで,この関数は一个の各次元を返しますが,varargoutは返しません。

s = returnVariableNumOutputs (A)
s =1×41 4 5 2

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

类型variableNumInputAndOutput
function varargout = variableNumInputAndOutput(varargin) disp(['Number of provided inputs: ' num2str(length(varargin))]) disp(['Number of requested outputs: ' num2str(nargout)]) for k = 1:nargout varargout{k} = k;结束结束

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

g (d, p) = variableNumInputAndOutput (6“关系”
提供的输入数量:2请求的输出数量:3
d = 1
g = 2
p = 3

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

variableNumInputAndOutput
输入个数:0输出请求个数:0

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

类型redplot.m
function varargout = redplot(varargin) [varargout{1:nargout}] = plot(varargin{:},'Color',[1,0,0]);结束

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

x = 0:π/ 100:2 *π;y = sin (x);redplot (x, y)

图中包含一个坐标轴。轴包含一个线型对象。

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

h = redplot (x, y,“标记”“o”“MarkerEdgeColor”“绿色”);

图中包含一个坐标轴。轴包含一个线型对象。

拡張機能

R2006aより前に導入