「if」文でAND演算子を使用するにはどうしたらよいですか?
14 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
MathWorks Support Team
il 21 Nov 2024 alle 0:00
Risposto: MathWorks Support Team
il 21 Nov 2024 alle 6:59
次のコードを入力したところ:
if size([1 2 3])==size([4 5 6]) & size([4 5 6])==size([7 8 9])
'yes'
else
'no'
end
MATLABのコードアナライザーから次の警告メッセージが表示されました:「両方の引数が数値スカラーである場合、パフォーマンスのために & を && に置き換えることを検討してください。」
そこで、& を && に置き換えました:
if size([1 2 3])==size([4 5 6]) && size([4 5 6])==size([7 8 9])
'yes'
else
'no'
end
しかし、更新したスクリプトを実行すると、MATLABのコマンドウィンドウに以下のエラーメッセージが表示されます:
「??? || および && 演算子のオペランドは、論理スカラー値に変換可能でなければなりません。」
この問題を解決するにはどうしたらよいでしょうか?
Risposta accettata
MathWorks Support Team
il 21 Nov 2024 alle 0:00
この問題は、size 関数がベクトルを返すことに起因しています:
size([1 2 3])
ans =
1 3
代わりに、numel 関数を使用してください:
if numel([1 2 3])==numel([4 5 6]) && numel([4 5 6])==numel([7 8 9])
disp('yes')
else
disp('no')
end
または、次のように all 関数を使用することもできます:all(size([1 2 3])==size([4 5 6])) など。
さらに、他の警告に対処するために、disp コマンドを追加しました。
0 Commenti
Più risposte (0)
Vedere anche
Categorie
Scopri di più su ビッグ データの処理 in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!