在MATLAB中绘制位模式
我尝试绘制以下代码,但我的绘图从1开始,而不是从0开始。您能告诉我如何将其修改为从0开始吗在MATLAB中绘制位模式,matlab,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]);
> % 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');
这是因为在matlab中,计数从1开始。当您仅在plot函数中提到一个参数时(在本例中为“楼梯”): 由于消息_sig变量是一个向量('say[0 0 1 1 1 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)
stairs(0:length(message_sig)-1,message_sig)