Matlab 如何定义第一个元素为';tn=0?
我试图在离散时间内卷积两个向量。从数值上讲,我得到了正确的答案,但是当我用干图绘制它们时,我找不到一种方法来表示n从Matlab 如何定义第一个元素为';tn=0?,matlab,vector,indexing,Matlab,Vector,Indexing,我试图在离散时间内卷积两个向量。从数值上讲,我得到了正确的答案,但是当我用干图绘制它们时,我找不到一种方法来表示n从-3开始,而不是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开始。 x的n=0索引处于值(2),但是Matlab认为x的n=0索引处于值(0) 我能找到的只是命令circshift,这不是我想要的。Replace n
-3
开始,而不是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
开始。
x
的n=0
索引处于值(2)
,但是Matlab认为x
的n=0
索引处于值(0)
我能找到的只是命令circshift
,这不是我想要的。Replace
n = [-3;5]
与:
我想这会解决你的问题。而不是在n=[-3;5]代码>您需要使用。这将创建一个从-3
到5
的范围。就是应该,
n = -3:5;
那会产生什么
分号用于创建矩阵。它允许您创建新行,以便
>> n = [-3;5]
n =
-3
5
是一个包含2
行和1
列的矩阵。冒号用于创建范围
>> n = -3:5
n =
-3 -2 -1 0 1 2 3 4 5
这个问题在几个方面令人困惑:1。Matlab数组以索引1而不是0开始,因此您的问题的前提似乎非常奇怪,因为您似乎明确指出错误与Matlab从0开始的索引有关。2.现在还不清楚您想要完成什么-出于某种原因,您希望能够将y(-1)
之类的内容作为数组中的索引值接受,还是只想更改图形上的标签?
>> n = -3:5
n =
-3 -2 -1 0 1 2 3 4 5