Subtracting one element of an array from all elements of another array

32 views (last 30 days)
Dear all,
I have two (40*40) arrays and want to subtract every element of one array from all elements of the other one. Is there any function to avoild using loops? How can I use loops for that? Thank you in advance.
hit1=load ('hit1.mat');
hit2=load ('hit2.mat');

Accepted Answer

Walter Roberson
Walter Roberson on 29 Jul 2022
Edited: Walter Roberson on 29 Jul 2022
result4d = hit1 - permute(hit2, [3 4 1 2]);
This will be 40 x 40 x 40 x 40.
Depending on what you are doing, you might also want to consider something like
result2d = pdist2(hit1(:), hit2(:))
and then reshape() if desired. Note that pdist2 would not be negative.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!