我想生成一个带有两个y轴的图,并将多个数据集应用到其中一个轴。例如
[hAx,hLine1,hLine2] = plotyy([x1',x2',x3'],[y1',y2',y3'],x4,y4);
其中x1
和y1
为1000x1
- 数组,x2
和y2
为2000x1
- 数组和x3
以及y3
是3000x1
- 数组。阵列的范围或多或少相同。当我尝试制作这个图时,MATLAB给我一个错误说
使用horzcat时出错连接的矩阵的维度不是 是一致的。
此错误是否有解决方法?
编辑: 这是我的真实代码,它不起作用:
[hAx,hLine1,hLine2] = plotyy([erg_cm.Time.data,erg_cm.Time.data,t',t'],...
[erg_cm.Car_FxFL.data,erg_cm.Car_FxFR.data,Fx(1,:),Fx(2,:)],...
erg_cm.Time.data,diff);
我原来的数据:
erg_cm.Time.data
是1x4001
t
是80300x1
erg_cm.Car_FxFL.data
是1x4001
erg_cm.Car_FxFR.data
是1x4001
Fx
是4x80300
diff
是1x4001
答案 0 :(得分:1)
您的x
和y
向量是列向量,并且您正在尝试水平连接它们,这是因为它们的大小不同而无法做到。你想垂直连接它们:
[hAx,hLine1,hLine2] = plotyy([x1;x2;x3],[y1;y2;y3],x4,y4);
编辑:这是我正在测试的
erg_cm.Time.data = rand(1, 4001);
t = rand(80300, 1);
erg_cm.Car_FxFL.data = rand(1, 4001);
erg_cm.Car_FxFR.data = rand(1, 4001);
Fx = rand(4, 80300);
diff = rand(1, 4001);
[hAx,hLine1,hLine2] = plotyy([erg_cm.Time.data,erg_cm.Time.data,t',t'],...
[erg_cm.Car_FxFL.data,erg_cm.Car_FxFR.data,Fx(1,:),Fx(2,:)],...
erg_cm.Time.data,diff);