我想绘制一个深绿色和一个深绿色的虚线图,但不幸的是 MatLab 抱怨向量没有相同的长度
使用绘图时出错
向量的长度必须相同。
EasySim 中的错误(第 174 行)`
plot(x,z1,'b--',x,z2,'c--',x,z3,'b',x,z4,'c',x,z5,'g',x,z6,'g--',x,z7,'color',[0 0.5 0],x,z8,'color',[0 0.5 0],'linestyle','--')
在一个绘图语句中不能有超过一种“颜色”,[RGB]。
所以你的代码就像你写的:
plot(x,z1,'b--',x,z2,'c--',x,z3,'b',x,z4,'c',x,z5,'g',x,z6,'g--',x,z7,'color',[0 0.5 0],x,z8,[0 0.5 0],'linestyle','--')
所以最后一行是 x,z8,[0 0.5 0]。因为 x 和 z8 的长度不是 3,所以你得到了这个错误。
注意:如果 x 和 z8 分别是 3 个元素,您会得到不同的错误:数据必须是单个矩阵 Y 或 X、Y 对的列表。
你可以在这个例子中检查它:
x=1:5
z1=x.^2;
z2=x.^3;
z3=x.^4;
z4=x.^5;
z5=x.^6;
z6=x.^7;
z7=x.^8;
z8=x.^9;
将 x 更改为 x=1:3 以查看在这种情况下会发生什么
根据这个答案:
在一个绘图语句中不能有超过一种“颜色”,[RGB]。
您可以在绘制颜色后更改颜色:
x = 0:4;
h = plot(x, x, '-', x, x.^2, '--');
set(h(1), 'color', [1 0 1])
set(h(2), 'color', [0 0.5 0])