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

 Accepted Answer

C=A-B';
C=C(:)';

1 Comment

true, then I will have to reshape to have only one 'column'...
I should have thought about it ! gg

Sign in to comment.

More Answers (0)

Categories

Find more on Weather and Atmospheric Science in Help Center and File Exchange

Asked:

on 24 Mar 2021

Commented:

on 24 Mar 2021

Community Treasure Hunt

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

Start Hunting!