如何生成负值信号?

时间:2015-01-20 09:58:43

标签: matlab

我必须生成一个离散信号,定义为:

1, -3<= n<=3
and 0 otherwise

由于matlab不接受数组的负索引,我该怎么办? 我想象它是周期性的并且这样做了:

n=0:7;
x1 = [1 1 1 1 0 1 1 1];

这是对的吗? 问题是我必须在那之后进行傅里叶变换

2 个答案:

答案 0 :(得分:3)

使用函数句柄:

y=@(n)(-3<n & n<=3)

并绘制它:

x=-7:7
stem(x,y(x))

答案 1 :(得分:2)

您不应该将x-vector的索引用作n值,因为这仅限于正整数。使用相应的n值创建单独的n向量:

n = -10:10;
x = zeros(size(n));
x(n>=-3 & n<=3) = 1;
plot(n,x)

或者使用n:

的较小步骤
n = -10:0.1:10;
x = zeros(size(n));
x(n>=-3 & n<=3) = 1;
plot(n,x)