2016-11-02 30 views
-1

MATLABのベクトルからパルス列を作成する簡単な方法(関数など)はありますか?ベクトルの値は1と-1です。パルスは同じでなければなりません。例えばVevtor は、このベクトルのサンプルは、上の図にプロット取ると、ここのようなパルスを作る: enter image description hereベクトルからパルス列を作成する

+1

これはあなたの出発点を与える必要があります:https://www.mathworks.com/help/signal/waveform-generation.html – beaker

+0

私はわからない中心

質問を理解してください、詳しく説明してみてください。単純な例、ベクトルが何であるか、そして最終的な結果がどうなるかを追加してください。 – mpaskov

+0

@beakerこれは、作成する予定のシーケンスが必要な場合に便利です。私はベクトルによって作られたカスタムパルス列を望みます。 –

答えて

1

stem(vector)は、パルスデータを視覚化するために迅速かつ簡単な方法です。より連続的な方法でパルスを視覚化する場合(エッジまたはセンタリングのいずれか)、簡単なループでどちらかを実装できます。

vec = [0 0 1 0 0 0 -1 0]; % vector 
dom = [1:length(vec)]; % domain 
% plot (dom,vec) 
% edge plot 
der = [0 diff(vec~=0)]; 
for i = length(der):-1:2 
    if der(i) ~= 0 
     vec = [vec(1:i-1),vec(i-1:end)] 
     dom = [dom(1:i),dom(i:end)] 
    end 
end 
% plot (dom,vec) 
% centered plot 
width = 1 
for i = length(vec)-1:-1:2 
    vec = [vec(1:i-1),vec(i),vec(i),vec(i+1:end)] 
    dom = [dom(1:i-1),dom(i)-width/2,dom(i)+width/2,dom(i+1:end)] 
end 
% plot (dom,vec) 

pulses

+0

チャームのように働いた!しかし、それを行うためのMATLAB関数があるかどうか知っていますか? –

+0

私が見たことはありませんが、私が見たパルスの例の多くはstem() –

関連する問題