如何在matlab中绘制离散信号?

时间:2017-04-12 20:21:50

标签: matlab matlab-figure

我想绘制函数y [n] = x [n + 2]。我的问题是它没有在正确的范围内绘图,甚至没有绘制零样本点。

enter image description here

enter image description here

n = 1:6;
x = 1:1:8;

f = figure;
subplot(1,2,1)      
stem(n, x(n));
axis([-3,8, 0, 7]);
xlabel('n');
ylabel('x[n]');
title('Subplot 1')

subplot(1,2,2)       
stem(n, x(n + 2));     
xlabel('n');
ylabel('y[n]');
title('Subplot 2')

如何更改变量n或x以获得正确的图? 最后,它应该是这样的:

enter image description here

1 个答案:

答案 0 :(得分:1)

您将索引的概念与您的因变量混淆。您应该构建一个函数doInBackground(),它使用您知道的关系转换输入x

n

然后你应该传递这个函数一系列function y = x(n) % Set all outputs to 0 y = zeros(size(n)); % Replace the values that fall between 0 and 6 with their same value y(n >= 0 & n <= 6) = n(n >= 0 & n <= 6); end 值来评估。

n

您还可以将转化应用于nvalues = -3:8; yvalues = x(nvalues); stem(nvalues, yvalues)

n