Substract 2 arrays different size no For loop

Hello,
I would like to substract 2 matrix of different size ex: A=[1 2 3], B =[4 5] and I want each element of A to be substract by each element of B.
So that the result would be C= 'A-B'=[-3 -4 -2 - 3 -1 -2]
And I want to avoid using For loops, to get it as fast as possible (my A and B are already large).
I could use kron(A, ones(length(B),1)-kron(ones(length(A),1),B). But is there a faster/easier way ?
Thanks,
Bina

 Respuesta aceptada

David Hill
David Hill el 24 de Mzo. de 2021
C=A-B';
C=C(:)';

1 comentario

Binabik
Binabik el 24 de Mzo. de 2021
true, then I will have to reshape to have only one 'column'...
I should have thought about it ! gg

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Weather and Atmospheric Science en Centro de ayuda y File Exchange.

Preguntada:

el 24 de Mzo. de 2021

Comentada:

el 24 de Mzo. de 2021

Community Treasure Hunt

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

Start Hunting!

Translated by