Repeat array onto the same row
3 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Leonardo
el 9 de Sept. de 2023
Comentada: Leonardo
el 9 de Sept. de 2023
I want A=[1,2,3,4] to
become A=[1,2,3,4,1,2,3,4] by x2
or
become A=[1,2,3,4,1,2] by x1.5
is it possible?
0 comentarios
Respuesta aceptada
Paul
el 9 de Sept. de 2023
A=[1,2,3,4]
horzcat(A,A)
horzcat(A,A(1:floor(numel(A)/2))) % or use ceils depending on how you want to handle the case where numel(A) is odd
Más respuestas (1)
Dyuman Joshi
el 9 de Sept. de 2023
Editada: Dyuman Joshi
el 9 de Sept. de 2023
Here's a generalised code -
A=[1,2,3,4];
B = repetition(A,2)
B = repetition(A,1.5)
B = repetition(A,2.75)
B = repetition(A,3.3)
function B = repetition(A,n)
B = repmat(A,1,ceil(n));
k = numel(A)*n;
%k needs to be an integer to repeat an array by a non-integer number
%Check for a number being an integer is the reminder when divided by 1 is zero
if rem(k,1)
error('Incompatible number for repetition');
else
B = B(1:k);
end
end
Ver también
Categorías
Más información sobre Software Development Tools 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!