Multiply each item of an array with every item of another array
18 views (last 30 days)
Show older comments
Christoph Meier
on 29 Feb 2016
Commented: Image Analyst
on 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 Comments
Accepted Answer
Image Analyst
on 29 Feb 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 Comments
Martin Adams
on 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
on 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.
More Answers (0)
See Also
Categories
Find more on Loops and Conditional Statements in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!