为什么这个图对应这个函数?

信息处理 matlab 离散信号 二维
2022-02-22 15:56:15

我有一个功能:

u1(x)={1,if|x1|r1,|x2|r20,otherwise,x=[x1,x2]TR2

我被告知如果,那么在 Matlab 中绘制它应该如下所示:r1=r2=5stem3

在此处输入图像描述

也许我在这一点上太累了,但我看不出这是同一个功能。看起来它在 10 到 20 之间等于 1,而不是在 -5 到 5 之间?有人可以解释一下这里发生了什么吗?

2个回答

您绘图中的轴似乎是数组的索引,就好像您使用stem3(Z)而不是stem3(X,Y,Z).

检查文档中的示例。

形式上,你是对的。但问题是“应该看起来像这样”。而不是“也应该平等”。显然,绘制的图表只是解决方案的一个提示,应该正确设置轴和轴标记以获得实际解决方案,只需要移开向量即可替换此图基于网格。尝试:xy(15,15)[0,30]2

x = [-15:1:15];
y = x;
[X,Y] = meshgrid(x,y);
z = (abs(X)<=5) .* (abs(Y)<=5);
figure(1);
subplot(1,2,1)
stem3(z);axis tight
subplot(1,2,2)
stem3(x,y,z);axis tight

在此处输入图像描述