Systematically add entries to vector array

1 Ansicht (letzte 30 Tage)
MiauMiau
MiauMiau am 22 Aug. 2017
Bearbeitet: Stephen23 am 22 Aug. 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

Akzeptierte Antwort

Stephen23
Stephen23 am 22 Aug. 2017
Bearbeitet: Stephen23 am 22 Aug. 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

Weitere Antworten (1)

KSSV
KSSV am 22 Aug. 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 Kommentar
José-Luis
José-Luis am 22 Aug. 2017
N = (length(A))*2+length(A) ;
What's wrong with length(A) .* 3?
:)

Melden Sie sich an, um zu kommentieren.

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by