Multiply each item of an array with every item of another array
7 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Christoph Meier
le 29 Fév 2016
Commenté : Image Analyst
le 19 Oct 2018
Dear matlab community,
I have a relatively simple problem:
I have two arrays, say:
1
2
3
and
10
11
12
I would like to multiply each of the first vector items with every of the second vector items, and print a new vector, which gives the output:
1*10
1*11
1*12
2*10
2*11
2*12
3*10
3*11
3*12
Thank you very much, I appreciate your help!
Greetings from Australia,
Chris
0 commentaires
Réponse acceptée
Image Analyst
le 29 Fév 2016
Like this:
m1 = [1;2;3]
m2 = [10;11;12]
out = m1 * m2'
% Make into column vector
out = out(:)
I'm sure there are probably other ways.
5 commentaires
Martin Adams
le 19 Oct 2018
It seems like it is fairly easy to run out of memory when doing this with large arrays! I tried to do this with two 90k-long vectors! How much memory would be needed?
Image Analyst
le 19 Oct 2018
>> bytes = 90000*90000*8
bytes =
64800000000
>> gigaBytes = bytes / 1e9
gigaBytes =
64.8
And you'd have two arrays so that would be 129 GB. That's a fair amount. You probably don't have that much spare RAM.
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Loops and Conditional Statements dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!