0

我想绘制一个深绿色和一个深绿色的虚线图,但不幸的是 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','--')
4

2 回答 2

1

在一个绘图语句中不能有超过一种“颜色”,[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 以查看在这种情况下会发生什么

于 2018-03-06T13:54:49.880 回答
0

根据这个答案

在一个绘图语句中不能有超过一种“颜色”,[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])
于 2018-03-06T14:18:37.333 回答