3

基本的に私はこのような配列を持っています:

[1 2 3 4 5 6]

次のような配列が必要です。

[1 0 2 0 3 0 4 0 5 0 6]

したがって、 はL-1配列内のゼロでLあり、ゼロを詰める前の配列内のすべての値の数です。

Matlabでそれを解決する方法を知っている人はいますか?

4

5 に答える 5

2

信号処理ツールボックスがある場合は、upsample関数を使用できます。

>> x = 1:5;
>> upsample(x, 2)
ans =
    1     0     2     0     3     0     4     0     5     0
于 2013-05-02T12:47:43.353 に答える
1

を通じてreshape

a = [1 2 3 4 5 6]; 
b = a; % make copy
b(2,:) = 0; % add zeros
b = b(:)'; %'
b(end) = []; % discard last zero
于 2013-05-02T12:44:01.243 に答える
0

最もエレガントで効率的なソリューションではないかもしれませんが、次の方法でうまくいくはずです。

x = 1:6;
y = zeros(1,2*length(x)-1);
for k=1:length(x)
    y(2*k-1)=x(k);
end

アルノー

于 2013-05-02T11:55:55.640 に答える
0

これを行う別の方法は次のとおりです。

         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
于 2013-05-02T12:00:52.060 に答える