Main Content

return

呼び出し元のスクリプトまたは関数に制御を戻す

構文

説明

returnは、MATLAB®がスクリプトまたは関数の最後に到達する前に、強制的に呼び出し元のプログラムに制御を戻します。呼び出し元のプログラムとは、returnの呼び出しを含むスクリプトまたは関数を呼び出したスクリプトまたは関数です。returnを含むスクリプトまたは関数を直接呼び出した場合は呼び出し元のプログラムがないため、MATLAB のコマンド プロンプトに制御が戻ります。

メモ

ifswitchなどの条件付きブロックまたはforwhileなどのループ制御ステートメントでreturnを使用するときは注意が必要です。MATLAB がreturnステートメントに到達すると、ループが終了するだけでなくスクリプトまたは関数も終了し、呼び出し元のプログラムまたはコマンド プロンプトに制御が戻ります。

すべて折りたたむ

現在の作業フォルダーで、配列から値の平方根を探してその最初のインデックスを特定するfindSqrRootIndexという関数を作成します。平方根が見つからない場合、関数はNaNを返します。

functionidx = findSqrRootIndex(target,arrayToSearch) idx = NaN;iftarget < 0returnendforidx = 1:length(arrayToSearch)ifarrayToSearch(idx) == sqrt(target)returnendend

コマンド プロンプトで関数を呼び出します。

A = [3 7 28 14 42 9 0]; b = 81; findSqrRootIndex(b,A)
ans = 6

MATLAB が return ステートメントに到達すると、呼び出し元のスクリプトまたは関数がないため、キーボードに制御が戻ります。

現在の作業フォルダーにあるファイルreturnControlExample.mで、配列から値の平方根を探してその最初のインデックスを特定する次の関数を作成します。この関数は前の例で作成した関数findSqrRootIndexを呼び出します。

functionreturnControlExample(target) arrayToSearch = [3 7 28 14 42 9 0]; idx = findSqrRootIndex(target,arrayToSearch);ifisnan(idx) disp('Square root not found.'elsedisp(['Square root found at index 'num2str(idx)])endend

コマンド プロンプトで関数を呼び出します。

returnControlExample(49)
Square root found at index 2

MATLAB がfindSqrRootIndex内のreturnステートメントに到達すると、呼び出し元の関数returnControlExampleに制御が戻り、該当するメッセージが表示されます。

拡張機能

C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。

バージョン履歴

R2006a より前に導入