Systematically add entries to vector array

1 回表示 (過去 30 日間)
MiauMiau
MiauMiau 2017 年 8 月 22 日
編集済み: Stephen23 2017 年 8 月 22 日
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

採用された回答

Stephen23
Stephen23 2017 年 8 月 22 日
編集済み: Stephen23 2017 年 8 月 22 日
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

その他の回答 (1 件)

KSSV
KSSV 2017 年 8 月 22 日
A = [ 1 3 5 7 1 3] ;
N = (length(A))*2+length(A) ;
C = 8*ones(N,1) ;
C(1:3:end) = A ;
  1 件のコメント
José-Luis
José-Luis 2017 年 8 月 22 日
N = (length(A))*2+length(A) ;
What's wrong with length(A) .* 3?
:)

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeLogical についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by