Systematically add entries to vector array

3 visualizaciones (últimos 30 días)
MiauMiau
MiauMiau el 22 de Ag. de 2017
Editada: Stephen23 el 22 de Ag. de 2017
Hi,
Given I have a vector as for instance: [ 1 3 5 7 1 3 ...]
I want to add twice the number "8" after each entry, hence we would have:
[ 1 8 8 3 8 8 5 8 8 7 8 8 1 8 8 3 8 8 ...]
How could I do that, in a way which would be not specific for the length of my initial array? Thanks

Respuesta aceptada

Stephen23
Stephen23 el 22 de Ag. de 2017
Editada: Stephen23 el 22 de Ag. de 2017
Here is one efficient method, without creating any temporary variables:
>> V = [1 3 5 7 1 3];
>> V(2:3,:) = 8;
>> V(:).'
ans =
1 8 8 3 8 8 5 8 8 7 8 8 1 8 8 3 8 8

Más respuestas (1)

KSSV
KSSV el 22 de Ag. de 2017
A = [ 1 3 5 7 1 3] ;
N = (length(A))*2+length(A) ;
C = 8*ones(N,1) ;
C(1:3:end) = A ;
  1 comentario
José-Luis
José-Luis el 22 de Ag. de 2017
N = (length(A))*2+length(A) ;
What's wrong with length(A) .* 3?
:)

Iniciar sesión para comentar.

Categorías

Más información sobre Multidimensional Arrays 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