主要内容

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

nargout

関数の出力引数の数

説明

nargoutは,現在実行中の関数の呼び出し時に指定された関数出力引数の数を返します。この構文は,関数の本体にだけ使用してください。

nargout (有趣的は,関数有趣的の定義内に現れる出力の数を返します。この関数がその定義にvarargoutを含む場合は,nargoutは出力数の負の数値を返します。たとえば,関数myFunが出力yz,およびvarargoutを宣言する場合,nargout(“myFun”)-3を返します。

すべて折りたたむ

subtract.mという名前のファイル内で,必要な場合にのみ2番目の戻り値absdifを計算する関数を作成します。

类型subtract.m
函数[dif, abdif] =减去(y,x) dif = y-x;if nargout > 1 disp('计算绝对值')abdif = abs(dif);结束结束

コマンドプロンプトで関数减去を呼び出し1つの戻り値を返します。

diff =减去(42岁,13)
diff = 29

関数减去を再度呼び出し2つの戻り値を返します。

[dif, absdif] =减去(2、5)
计算绝对值
dif = 3
absdif = 3

関数が返せる出力数を決定します。

上記の例で作成された関数减去は,その宣言ステートメントに2つの出力をもっています(difabsdif)。

有趣= @subtract;nargout(有趣)
ans = 2

varargoutを使用する関数が返せる出力数を決定します。

mySize.mというファイルに,関数大小からの次元のベクトルと個々の次元をvarargoutを使用して返す関数を作成します。

类型mySize.m
函数[size evector,varargout] = mySize(x);varargout =细胞(1、nargout-1);for k = 1:length(varargout) varargout{k} = sizeevector (k);结束结束

mySizeが返せる出力数をクエリします。

有趣的=“mySize”;nargout(有趣)
ans = 2

マイナス記号は2番目の出力がvarargoutであることを示します。関数mySizeは,不確定数の追加出力を返すことができます。

入力引数

すべて折りたたむ

nargoutが定義から出力引数の数を返す対象の関数。関数ハンドル、文字ベクトル、または string スカラーとして指定します。

例:@rand

例:“sortrows”

データ型:字符|function_handle

ヒント

  • 如果ステートメントなどの式の一部として関数を使用した場合,MATLAB®は1つの出力引数を指定してその関数を呼び出します。そのため,関数nargoutは式の内部で1を返します。

  • 関数内に値のが0nargoutが存在するか確認する際に出力の値を指定すると,MATLABはに値を設定します。しかし,nargoutを確認して,出力の値は指定しない場合,MATLABはを変更しません。

拡張機能

R2006aより前に導入