significa que must inner index exceeds error agree matlab vector math

matlab - must - index exceeds matrix dimensions que significa



Error de tipo numérico al multiplicar dos vectores en MATLAB (3)

Tengo estos 2 vectores:

alpha = 1 1 1 1 1 1 1 1 1 f_uv = 193 193 194 192 193 193 190 189 191

Y cuando hago esto:

alphaf_uv = alpha * f_uv''

Aparece el mensaje de error:

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

La parte interesante es que este error no aparece si defino los mismos vectores en la consola y pruebo la multiplicación allí.

alpha es definido por mí y f_uv se obtiene de algunos píxeles en una imagen PNG.


Quizás f_uv es un objeto con un "valor de consola" devuelto por un método .toString (). En este caso, puede que necesite marcar f_uv como (int).


Asumiendo que ambas son matrices de enteros para empezar, f_uv'' puede no serlo.

Tratar:

alphaf_uv = double(alpha) * double(f_uv'')

y háganos saber si aún ocurre.

Es posible que deba volver alphaf_uv a un tipo entero después, según sus necesidades.


La gran clave aquí es esta:

alfa es definido por mí y f_uv se obtiene de algunos píxeles en una imagen png.

Esto implica que los datos de f_uv están llegando como uint8. El comando WHOS verificará. Cuando defines esto en la línea de comando, los vectores serán Dobles por defecto. Es por eso que estás viendo la diferencia en el comportamiento entre matrices "idénticas".