problem for creating vector with for loop

1 visualización (últimos 30 días)
sermet
sermet el 29 de Abr. de 2014
Comentada: José-Luis el 29 de Abr. de 2014
a={'w','c','e'};
%I wanna create 2 times of w,c,e, with using for loop, like this
aa={'w','w','c','c','e','e'};

Respuesta aceptada

José-Luis
José-Luis el 29 de Abr. de 2014
a={'w','c','e'};
nRep = 5;
your_mat = reshape(repmat(a,nRep,1),1,[]);

Más respuestas (2)

Justin
Justin el 29 de Abr. de 2014
Editada: Justin el 29 de Abr. de 2014
This is not a difficult task to do but does take a little extra planning in how to index the first array.
I'll give you an example of one way to do it but you should try another way as well.
% first define aa as an empty cell
aa = {};
% then create a loop for each element of your original matrix
for i = 1:length(a)
% now concatenate your aa array with the repeated elements of a (you can just write a(i) twice)
aa = [aa a(i) a(i)];
end
Other options may be to use repmat, reshape, or indexing differently using a modulo of 2 to increment your index of the original array.
Some of these options will be more robust and able to work when you want to make a triple copy or other elements of your input vary.
  1 comentario
sermet
sermet el 29 de Abr. de 2014
Editada: sermet el 29 de Abr. de 2014
I gave 2 for just an example, actual repeating times depends on the situation. For example I wanna repeat 4 and I wanna use repmat, could you show me how I can use repmat for a?

Iniciar sesión para comentar.


Jos (10584)
Jos (10584) el 29 de Abr. de 2014
Many roads to Rome:
A = {'w' 'c' 'e'}
n = 2
AA1 = A(kron(1:numel(A),ones(1,n)))
AA2 = reshape(repmat(A,n,1),1,[])
AA3 = A(ceil(linspace(1/n,numel(A),n*numel(A))))
  1 comentario
José-Luis
José-Luis el 29 de Abr. de 2014
:)
Maybe we should start a thread with the most complicated ways to solve this problem.

Iniciar sesión para comentar.

Categorías

Más información sobre Creating and Concatenating Matrices en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by