Matlab,绘制Heaviside时出错。 (向量必须长度相同。)

时间:2016-05-17 12:01:47

标签: matlab

我在Matlab中对Hamming代码做了一个问题。我已经生成了一个长度为1190的位串,用于传输。我被要求将字符串显示为步进函数的曲线。

经过一些研究后我发现Heaviside函数可用于将位串显示为单位步长曲线。

当我使用命令fplot(heaviside(l_f),[0 ,10000])绘制曲线时,l_f是长度为1190的位串,我收到此错误

  

使用fcnchk时出错(第106行)

     

FUN必须是函数,有效的字符串表达式或内联   功能对象。

     

fplot中的错误(第60行)     fun = fcnchk(有趣);

     

无标题错误(第88行)   fplot(heavyiside(l_f),[0,10000])

当我使用Plot显示时,即plot(heaviside(l_f),[0 ,10000]),我收到错误

  

使用绘图矢量时出错必须具有相同的长度。

     

无标题(第88行)图中的错误(重力(l_f),[0,10000])

无论如何将位串绘制为阶梯函数的曲线?

1 个答案:

答案 0 :(得分:0)

由于fplot(heaviside(l_f),[0 ,10000])需要fplot作为第一个参数,因此

function无法绘制。但在这里它是一个矩阵。所以请改用plot。接下来,heaviside(l_f)的维度为1x1190,维度[0,10000]为1x2。所以不会工作,因为尺寸不同所以使用。

x=heaviside(l_f)
y=0:(10000+1)/length(l_f):10000;
plot(x,y);