0

我尝试绘制下面的代码,但我的情节从 1 而不是 0 开始。你能告诉我如何修改它以从 0 开始。

> % Generate message signal 

> t1 = -1:0.1*pi:1;

> message_sig = rectpuls(t1);

> L = length(message_sig);

> figure(2)

> stairs(message_sig, 'linewidth',1.5);

> axis([0 L -1 2]);

> title('Message Signal');
4

1 回答 1

2

发生这种情况是因为在 matlab 中计数从 1 开始。当您在绘图函数中仅提及一个参数时(在本例中为“楼梯”):

stairs(message_sig)

因为 message_sig 变量是一个向量('say [0 0 1 1 1 0 0]'),所以绘图函数将第一个点视为 0,因此第一个点(在 X 轴上)变为 1。

实际上,默认情况下它正在执行以下操作:

stairs([1 2 3 4 5 6 7],[0 0 1 1 1 0 0])

一种解决方案可以是:

stairs(0:length(message_sig)-1,message_sig)  
于 2013-07-14T08:19:46.160 回答