How to add or multiply two different size of array using the loop iteration process?

2 次查看(过去 30 天)
How to add or multiply two different size of array using the loop iteration process? suppose ,an array
a=[1 2 3 4 5 6 7 8 9 ]
b=[1 2 3 ]
and i want increase the size of the 'b' array using. for loop. as like the value of 'b' after using for loop is
= [1 2 3 1 2 3 1 2 3]
Then, we will add or multiply this array.That will very much appreciating if anyone can give a matlab code for this problem....

采纳的回答

Andrei Bobrov
Andrei Bobrov 2018-1-24
编辑:Andrei Bobrov 2018-1-24
bnew = repmat(b,1,numel(a)/numel(b))
  3 个评论

请先登录,再进行评论。

更多回答(1 个)

Jos (10584)
Jos (10584) 2018-2-15
a = [1 2 3 4 5 6 7 8 9 ]
b = [1 2 3 4] % Generic case: numel(a) is not a multiple of numel(b)
nb = numel(b) ;
for ka=1:numel(a)
kb = rem(ka-1,nb)+1 ;
c(ka) = a(ka) * b(kb) ;
end
But this can be vectorised, to make it more efficient:
kb = rem(0:numel(a)-1,nb)+1
c = a .* b(kb)

类别

Help CenterFile Exchange 中查找有关 Loops and Conditional Statements 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by