MATLAB Answers

Multiply each item of an array with every item of another array

88 views (last 30 days)
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

Sign in to comment.

Accepted Answer

Image Analyst
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

Show 2 older comments
Martin Adams
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
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.

Sign in to comment.

More Answers (0)