在MATLAB中绘制位模式

时间:2013-07-14 08:05:54

标签: matlab

我尝试绘制下面的代码,但我的情节从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');

1 个答案:

答案 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)