我正在尝试使用 matlab 生成constant signal x[n] = 1 for n = 1, 2, 3 and x[n] = 0 otherwise
。
N = -5:1:5;
X = -5:1:5;
i = 1;
for n = N
if (n >= 1 && n <= 3)
X[i] = 1;
else
X[i] = 0;
end
i = i + 1;
end
但它不起作用。我真的很新,使用Matlab进行离散信号,所以欢迎任何帮助。
谢谢。
答案 0 :(得分:0)
在这种情况下,无需使用for
次迭代。您可以使用索引方法完成相同的操作,如下所示:
N1 = -5:5;
X1 = zeros(1,numel(N1));
X1(N1 >= 1 & N1 <= 3) = 1
N2 = -8:2;
X2 = zeros(1,numel(N2));
X2(N2 >= 1 & N2 <= 3) = 1
N3 = 1:11;
X3 = zeros(1,numel(N3));
X3(N3 >= 1 & N3 <= 3) = 1
这将输出:
X1 =
0 0 0 0 0 0 1 1 1 0 0
X2 =
0 0 0 0 0 0 0 0 0 1 1
X3 =
1 1 1 0 0 0 0 0 0 0 0