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

25 次查看(过去 30 天)
MathWorks Support Team
MATLAB プログラムを実行すると、下記のエラーが発生します。
出力引数 "<変数名>"(および他の引数もおそらく)は "<関数名>" の呼び出し中に代入されていません。
理由と回避方法を教えてください。

采纳的回答

MathWorks Support Team
このエラーが発生する原因は、メインのコードでは、呼び出した関数から出力引数を返すように定義されていますが、その関数から出力されようとした時、その出力引数が関数内に存在しないことが原因です。
下記の例では、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 CenterFile Exchange 中查找有关 入力引数と出力引数 的更多信息

标签

尚未输入任何标签。

产品

Community Treasure Hunt

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

Start Hunting!