如何在 matlab 中绘制离散信号?
How to plot a discrete signal in matlab?
我想绘制函数 y[n] = x[n+2]。我的问题是它没有在正确的范围内绘图,甚至没有绘制零样本点。
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 以获得正确的绘图?
最后,它应该看起来像这样:
您将索引的概念与您的因变量混淆了。您应该构建一个函数 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
值应用转换
nvalues = -3:8;
yvalues = x(nvalues + 2);
stem(nvalues, yvalues)
我想绘制函数 y[n] = x[n+2]。我的问题是它没有在正确的范围内绘图,甚至没有绘制零样本点。
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 以获得正确的绘图? 最后,它应该看起来像这样:
您将索引的概念与您的因变量混淆了。您应该构建一个函数 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
值应用转换
nvalues = -3:8;
yvalues = x(nvalues + 2);
stem(nvalues, yvalues)