How to divide Vectors of different length?

4 views (last 30 days)
I have declared vectors 'a' and 'b'
Now the I want divide vector 'a' by vector 'b' and the result must store it in vector 'c'
The problem is vectors 'a' and 'b' are different lengths
But I managed by using the code given below;
Any one can try to assist this code to rewrite in a general format
a=linspace(1,16,16);
b=linspace(1,4,4);
c1 = a(1:4)./b(1);
c2 = a(5:8)./b(2);
c3 = a(9:12)./b(3);
c4 = a(13:16)./b(4);
c=[c1 c2 c3 c4];
c=[1,2,3,4,2.5,3,3.5,4,3,3.33,3.66,4,3.25,3.50,3.75,4;]
  1 Comment
Yao Li
Yao Li on 9 Apr 2013
Is the length of a always an integral multiple of the length of b? It's important because we must first find out how many parts a is divided to.

Sign in to comment.

Answers (2)

Azzi Abdelmalek
Azzi Abdelmalek on 9 Apr 2013
Edited: Azzi Abdelmalek on 9 Apr 2013
a=linspace(1,16,16);
b=linspace(1,4,4);
d=reshape(a,[],numel(b))
out=bsxfun(@rdivide,x,b)
c=out(:)'
  1 Comment
Yao Li
Yao Li on 9 Apr 2013
x should be d ^_^
This works well only the length of a is an integral multiple of the length of b.

Sign in to comment.


Andrei Bobrov
Andrei Bobrov on 9 Apr 2013
c = a./kron(b,[1 1 1 1]);

Community Treasure Hunt

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

Start Hunting!