0

次の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);

このエラーを回避するにはどうすればよいですか?

ありがとう。

4

1 に答える 1

8

ファジー集合の周りにダブルを置きますか?

double(fuzzySet).*(abs(membershipMatrix-1) <= tolerance)
于 2013-03-23T20:26:05.163 に答える