Borrar filtros
Borrar filtros

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

2 visualizaciones (últimos 30 días)
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....

Respuesta aceptada

Andrei Bobrov
Andrei Bobrov el 24 de En. de 2018
Editada: Andrei Bobrov el 24 de En. de 2018
bnew = repmat(b,1,numel(a)/numel(b))
  3 comentarios
Andrei Bobrov
Andrei Bobrov el 30 de En. de 2018
na = numel(a);
nb = numel(b);
bnew = a;
for ii = 1:na/nb
bnew(nb*(ii-1)+1 : nb*ii) = b;
end
Saiem Solimullah
Saiem Solimullah el 15 de Feb. de 2018
this code will not work due to its diffrent length of b

Iniciar sesión para comentar.

Más respuestas (1)

Jos (10584)
Jos (10584) el 15 de Feb. de 2018
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)

Categorías

Más información sobre Loops and Conditional Statements en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by