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....
0 个评论
采纳的回答
Andrei Bobrov
2018-1-24
编辑:Andrei Bobrov
2018-1-24
bnew = repmat(b,1,numel(a)/numel(b))
3 个评论
Andrei Bobrov
2018-1-30
na = numel(a);
nb = numel(b);
bnew = a;
for ii = 1:na/nb
bnew(nb*(ii-1)+1 : nb*ii) = b;
end
更多回答(1 个)
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)
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Loops and Conditional Statements 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!