我尝试绘制下面的代码,但我的情节从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');
答案 0 :(得分: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)