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

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

Risposta accettata

MathWorks Support Team
MathWorks Support Team il 20 Feb 2019
このエラーが発生する原因は、メインのコードでは、呼び出した関数から出力引数を返すように定義されていますが、その関数から出力されようとした時、その出力引数が関数内に存在しないことが原因です。
下記の例では、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 を停止し、出力引数である変数がワークスペース内に存在するかを確認してください。
引数が存在しない場合は、すべての条件において、該当の出力引数が定義されるようにコードを見直してください。

Più risposte (0)

Categorie

Scopri di più su 入力引数と出力引数 in Help Center e File Exchange

Tag

Non è stata ancora inserito alcun tag.

Prodotti

Community Treasure Hunt

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

Start Hunting!