基本的に私はこのような配列を持っています:
[1 2 3 4 5 6]
次のような配列が必要です。
[1 0 2 0 3 0 4 0 5 0 6]
したがって、 はL-1
配列内のゼロでL
あり、ゼロを詰める前の配列内のすべての値の数です。
Matlabでそれを解決する方法を知っている人はいますか?
基本的に私はこのような配列を持っています:
[1 2 3 4 5 6]
次のような配列が必要です。
[1 0 2 0 3 0 4 0 5 0 6]
したがって、 はL-1
配列内のゼロでL
あり、ゼロを詰める前の配列内のすべての値の数です。
Matlabでそれを解決する方法を知っている人はいますか?
信号処理ツールボックスがある場合は、upsample関数を使用できます。
>> x = 1:5;
>> upsample(x, 2)
ans =
1 0 2 0 3 0 4 0 5 0
を通じてreshape
:
a = [1 2 3 4 5 6];
b = a; % make copy
b(2,:) = 0; % add zeros
b = b(:)'; %'
b(end) = []; % discard last zero
最もエレガントで効率的なソリューションではないかもしれませんが、次の方法でうまくいくはずです。
x = 1:6;
y = zeros(1,2*length(x)-1);
for k=1:length(x)
y(2*k-1)=x(k);
end
アルノー
これを行う別の方法は次のとおりです。
a=1:6;
b=zeros(1,2*length(a)-1);
j=1;
for i=1:2:length(b)
b(i)=a(j);
j=j+1;
end