値を受け取る単純な関数があります
この値は、別の値を計算するために多数の if または elseif ステートメントをチェックアウトしたものです。
問題は、実行しようとするとエラーが発生するように見えることです。
使用エラー / マトリックスの次元は一致する必要があります。
abc のエラー (9 行目) a = 5000 / g;
コードは次のとおりです
function abc(g)
if (g == 100)
a = 1;
elseif (g <= 99 & g >= 50)
a = 200 -2*g;
elseif (g <= 50 & g >= 1)
a = 5000 / g;
else
warning('Invalid value passed, a defaults to 1');
a =1;
end
end
だから、私は abc 100 を渡し、私は a が 1 であることを期待していますが、代わりに各 if / elseif を実行し、a = 5000/g でエラーをスローします
また、最初にelseifsで&&を使用しようとしたことにも言及する必要がありますが、これもエラーが発生しました
|| へのオペランド && 演算子は論理スカラー値に変換可能でなければなりません。
abc のエラー (6 行目) elseif (g <= 99 && g >= 50)
ここで何が起こっているのか誰にもわかりませんか?ありがとう