hi all,
consider any two matrix A and B of 3X3 . i want to subtract every element of A from each element of B one by one. kindly tell the command please.

1 comentario

Stephen23
Stephen23 el 6 de Abr. de 2015
MATLAB allows you to do this all at once using vectorized code, rather than one-by-one. This is faster, neater, and much less buggy code!
>> A = rand(3);
>> B = rand(3);
>> A - B
ans =
-0.15016 -0.043791 0.13661
0.74818 0.14698 0.12512
-0.84361 -0.70274 0.041771

Iniciar sesión para comentar.

 Respuesta aceptada

Image Analyst
Image Analyst el 5 de Abr. de 2015

0 votos

Not sure what you mean so I'll offer the two possibilities:
result = A - B;
or
A = randi(100, 3, 3)
B = randi([1,9], 3, 3)
aVector = A(:)
bVector = B(:)
loopCounter = 1;
for k1 = 1 : length(aVector);
for k2 = 1 : length(bVector);
result(loopCounter) = aVector(k1) - bVector(k2);
loopCounter = loopCounter + 1;
end
end
% Print to command window
result

2 comentarios

Offroad Jeep
Offroad Jeep el 6 de Abr. de 2015
wonderful................
Image Analyst
Image Analyst el 6 de Abr. de 2015
So, was it the second chunk of code (which is completely different than doing A-B) that did what you want?

Iniciar sesión para comentar.

Más respuestas (1)

David Young
David Young el 5 de Abr. de 2015

0 votos

-

1 comentario

Star Strider
Star Strider el 5 de Abr. de 2015
@4 X 4 —
David Young’s answer isn’t blank but maximally laconic. It is the ‘minus’ sign that will work for equally-sized matrices.

Iniciar sesión para comentar.

Categorías

Más información sobre Parallel Computing en Centro de ayuda y File Exchange.

Etiquetas

Preguntada:

el 5 de Abr. de 2015

Comentada:

el 6 de Abr. de 2015

Community Treasure Hunt

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

Start Hunting!

Translated by