2015-10-21 62 views
0

我想在離散時間中卷積兩個向量。在數值上,我得到了正確的答案,但是當我用杆圖繪製它們時,我無法找到一種方法來顯示n始於-3而不是0。 例如,如何定義第一個元素不是n = 0的向量?

x = [0 1 2 3 4 5 6]; 
h = [-1 0 1]; 
y = conv(x,h); 
n = [-3;5] 
stem(n,y) 

將輸出開始於N = 0的杆曲線圖。 我想要乾的陰謀從n=-3開始。 n=0索引x位於value(2),但Matlab認爲n=0索引x位於value(0)

所有我能找到的是命令circshift,這不是我想要的。

+0

對這一問題的幾種方法混淆:1. Matlab的數組開始索引1不爲0,所以你既然你的問題的前提下,似乎很奇怪似乎是具體的,錯誤與MATLAB的索引0有關。2.你不完全清楚你想完成什麼 - 你是否出於某種原因希望能夠接受像'y(-1)'這樣的東西數組中的索引值還是隻想更改圖上的標籤? – Brick

回答

0

更換

n = [-3;5] 

有:

n=linspace(-3,5,length(y)); 

我認爲這將解決您的問題。

0

而不是在n = [-3;5];中使用;您需要使用:。這將創建從-35的範圍。也就是說,它應該是

n = -3:5; 

這將產生

              Plot


分號,;,用於創建的矩陣。它允許你創建一個新的行,以便

>> n = [-3;5] 
n = 
    -3 
    5 

2行和列1矩陣。雖然結腸,:,用於創建一系列

>> n = -3:5 
n = 
    -3 -2 -1  0  1  2  3  4  5 
相關問題