Systematically add entries to vector array

5 Ansichten (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.

Kategorien

Mehr zu Data Types finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by