我们有时候利用matlab画图会出现以下情况:
横纵坐标都有值,但就是图中没有数据。
这种情况大概率是因为输入的数据中有一个数据非矩阵,而是一个值,也就是所谓的维度不一致,这时候就需要检查是不是把“:”写成了“,”
比如我们在命令行输入
plot(1:10,1)
就会出现上图的情况,这时候可能有小伙伴要问了,为什么不报维度不一致的error呢。小编猜测是当输入的维度为1时,系统会认为是某种参数,比如"r*"这种,因为plot是maltab的内置函数,并不能看到其实现过程,但是理论上在绘图时会有一个判断,类似:
if length(x)~=length(y)
...
end
但执行的前提是输入了两个矩阵,而维度为1时输入的就不是矩阵了,才会没有报错,如果你输入
plot(1:10,1:9)
就会报错错误使用plot了。