错误 - >整数只能与同一类的整数或标量双精度组合使用

时间:2013-03-23 19:42:23

标签: matlab class runtime-error

我有以下两个矩阵:

fuzzySet

255  7  7
255  7  7
255  7  7

membershipMatrix

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

如何解决此错误?

感谢。

1 个答案:

答案 0 :(得分:8)

把双重放在fuzzySet周围?

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