1. ホーム
  2. matlab

[解決済み] エラー --> 整数には同じクラスの整数か、スカラー倍数しか組み合わせることができません。

2022-02-11 13:29:59

質問

次の2つの行列があります。

ファジーセット

255  7  7
255  7  7
255  7  7

メンバーシップマトリックス

2.881749158360024e-04   0.999999819474077   0.904200609951489
0.0336048930092375      0.517034652401936   0.847219463816453
2.881749158360024e-04   0.999999819474077   0.904200609951489

このコード部分を実行してみたところ。

tolerance = 0.01; 
core = double(fuzzySet.*(abs(membershipMatrix-1) <= tolerance)) + membershipMatrix.*(membershipMatrix.*(abs(membershipMatrix-1) > tolerance););

以下のようなエラーが発生しました。

??? Error using ==> times
Integers can only be combined with integers of the same class, or scalar doubles.

Error in ==> fs at 36
core = fuzzySet.*(abs(membershipMatrix-1) <= tolerance) +
membershipMatrix.*(membershipMatrix > tolerance);

このエラーを回避するにはどうしたらよいですか?

ありがとうございます。

解決方法は?

fuzzySetの周りにダブルを置く?

double(fuzzySet).*(abs(membershipMatrix-1) <= tolerance)