「出力引数 "<変数名>"(および他の引数もおそらく)は "<関数名>" の呼び出し中に代入さ​れていません。」のエ​ラーが出るのはなぜで​すか?

4 ビュー (過去 30 日間)
MathWorks Support Team
MathWorks Support Team 2019 年 2 月 19 日
回答済み: MathWorks Support Team 2019 年 2 月 19 日
MATLAB プログラムを実行すると、下記のエラーが発生します。
出力引数 "<変数名>"(および他の引数もおそらく)は "<関数名>" の呼び出し中に代入されていません。
理由と回避方法を教えてください。

採用された回答

MathWorks Support Team
MathWorks Support Team 2019 年 2 月 20 日
このエラーが発生する原因は、メインのコードでは、呼び出した関数から出力引数を返すように定義されていますが、その関数から出力されようとした時、その出力引数が関数内に存在しないことが原因です。
下記の例では、sub 関数が呼び出されますが、特定の条件(in <= 0.5 の場合)には、出力引数 out が未定義となり、エラーが発生します。
(main1.m)
x = rand(1);
y = sub(x);
(sub.m)
function out = sub(in)
if in > 0.5
out = 1;
end
一般的には、関数内で出力引数の1つの名前のスペルを間違えたか、関数の出力引数の1つに値を代入しし忘れていることによって発生している可能性があります。
警告またはエラーメッセージにリストされている関数の最後の行(上記例では、sub 関数の最後の行の end ) にブレークポイントを置き、MATLAB を停止し、出力引数である変数がワークスペース内に存在するかを確認してください。
引数が存在しない場合は、すべての条件において、該当の出力引数が定義されるようにコードを見直してください。

その他の回答 (0 件)

カテゴリ

Help Center および File Exchange入力引数と出力引数 についてさらに検索

タグ

タグが未入力です。

製品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!