論理スカラー値に変換可能

if a == 1 @@ b == 1 という記述をチェックボックスのCallbackにしており、以下のようなエラーが出るのですが、実行すると条件通りの動作はしているようです。
(エラー内容) @@と && の演算の演算子は、論理スカラー値に変換可能でなければなりません。
【@@は縦線二本です、表示されないので】 どのように修正すべきか教えていただけると助かります。宜しくお願いします。

 Risposta accettata

michio
michio il 8 Feb 2018

1 voto

の1つ目の例題に「X と Y にショートサーキット OR 演算子を使用すると、エラーが返されます。ショートサーキット演算子は、スカラーの論理条件でのみ演算を行います。」とあります。
Kenjiさんのコードでの変数 a, b がベクトル値であるためのエラーかと思いますが、いかがでしょうか?

4 Commenti

Kenji Ohmori
Kenji Ohmori il 8 Feb 2018
Modificato: Kenji Ohmori il 8 Feb 2018
ありがとうございます。変数 a, bは、数値で0または1です。
二つともglobal変数なのですがエラーと関連していますでしょうか?
michio
michio il 8 Feb 2018
global変数であることは原因とは考えにくいですね。
できればエラーが発生するコード箇所にブレークポイントを設定して、エラーが発生する際の実際のa, bの値(スカラーなのかベクトルなのか、1,0 意外が発生していないか)を直接確認してみたいです。
Kenji Ohmori
Kenji Ohmori il 9 Feb 2018
Modificato: Kenji Ohmori il 9 Feb 2018
ご指摘のようにブレークポイント設定で状態を確認しました。別の理由で変数の値がうまく受け渡せていませんでした。解決しました、ありがとうございます。
michio
michio il 9 Feb 2018
よかったです。安心しました。

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su グラフィックス オブジェクト in Centro assistenza e File Exchange

Community Treasure Hunt

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

Start Hunting!