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

12 visualizzazioni (ultimi 30 giorni)
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');

Risposta accettata

Walter Roberson
Walter Roberson il 29 Lug 2022
Modificato: Walter Roberson il 29 Lug 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.

Più risposte (0)

Categorie

Scopri di più su Loops and Conditional Statements in Help Center e File Exchange

Prodotti


Release

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by