Borrar filtros
Borrar filtros

I Want to perform element wise matrix multiplication

24 visualizaciones (últimos 30 días)
Nithya SIvasamy
Nithya SIvasamy el 12 de Jun. de 2017
Respondida: Muhammed Musa el 26 de Nov. de 2020
I have used the following code but getting an error message
I1=imread('abc.gif');
a=I1(1:3,1:3);
b=[-3 4 5;6 -7 1;-2 -4 -6];
c=a.*b;
The error message obtained is listed below Error using .* Integers can only be combined with integers of the same class, or scalar doubles.
How to clear this error
  1 comentario
Stephen23
Stephen23 el 12 de Jun. de 2017
"I Want to perform element wise matrix multiplication"
This is a contradiction in terms: in MATLAB it is possible to perform element-wise multiplication OR matrix multiplication, but not both at the same time:

Iniciar sesión para comentar.

Respuesta aceptada

KSSV
KSSV el 12 de Jun. de 2017
I1=imread('abc.gif');
a=I1(1:3,1:3);
b=uint8([-3 4 5;6 -7 1;-2 -4 -6]);
c=a.*b;
You see you can multiply only same classes. Class of a is uint8, so you need to convert b into the same class.
  1 comentario
Walter Roberson
Walter Roberson el 12 de Jun. de 2017
You would probably be better off with
a = double( I1(1:3,1:3) );
b = [-3 4 5;6 -7 1;-2 -4 -6];
c = a.*b;

Iniciar sesión para comentar.

Más respuestas (1)

Muhammed Musa
Muhammed Musa el 26 de Nov. de 2020
A = [1 2 3 4];
B = [9 8 7 6];
A.*B =

Categorías

Más información sobre Matrices and Arrays en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by