MATLAB Answers

How can I divide each element of a vector by each of the elements of another vector in MATLAB?

8 views (last 30 days)
Eilidh Kaune
Eilidh Kaune on 8 Apr 2021
Commented: dpb on 8 Apr 2021
Say I have two vectors:
a= [ 1
2
3 ];
b=[4
5
6];
And I want
c= [1/4
2/4
3/4
1/5
2/5
3/5
1/6
2/6
3/6];
Is there a way to do this?
  1 Comment
dpb
dpb on 8 Apr 2021
I'm undoubtedy overlooking the obvious but
cell2mat(arrayfun(@(i)a/b(i),1:numel(b),'UniformOutput',false))

Sign in to comment.

Accepted Answer

James Tursa
James Tursa on 8 Apr 2021
Edited: James Tursa on 8 Apr 2021
Assuming a and b are both column vectors, you can use automatic array expansion by transposing one of them and using element-wise divide:
c = a ./ b.'; % results in a 2D matrix
c = c(:); % turn 2D matrix into a column vector

More Answers (0)

Products


Release

R2019a

Community Treasure Hunt

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

Start Hunting!

Translated by