Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何用MATLAB在一个图形中绘制一个x轴和两个y轴的四条曲线_Matlab_Plot - Fatal编程技术网

如何用MATLAB在一个图形中绘制一个x轴和两个y轴的四条曲线

如何用MATLAB在一个图形中绘制一个x轴和两个y轴的四条曲线,matlab,plot,Matlab,Plot,我有四组数据:(x1,y1),(x1,y2),(x2,y3),(x2,y4)。y1和y3以及y2和y4是两对数值结果和分析结果。所以我想在同一个图中比较它们。但是,y1和y3的大小远大于y2和y4,所以我需要两个y轴来清楚地显示曲线。x1和x2是采样时间实例,但长度不同。例如,x1=0:dt1:T,x2=0:dt2:T,其中dt1和dt2是两个不同的时间步长,T是总时间。我尝试了plotyy,但我只能在一个图形中绘制两条曲线,而不是四条。有人有主意吗?非常感谢 此示例与的文档中给出的示例基本相同

我有四组数据:(x1,y1),(x1,y2),(x2,y3),(x2,y4)。y1和y3以及y2和y4是两对数值结果和分析结果。所以我想在同一个图中比较它们。但是,y1和y3的大小远大于y2和y4,所以我需要两个y轴来清楚地显示曲线。x1和x2是采样时间实例,但长度不同。例如,x1=0:dt1:T,x2=0:dt2:T,其中dt1和dt2是两个不同的时间步长,T是总时间。我尝试了plotyy,但我只能在一个图形中绘制两条曲线,而不是四条。有人有主意吗?非常感谢

此示例与的文档中给出的示例基本相同,应该会有所帮助。您只需要根据数据的存储方式适当地连接数据

x = linspace(0,10);
y1 = 200*exp(-0.05*x).*sin(x);
y2 = 0.8*exp(-0.5*x).*sin(10*x);
y3 = 150*exp(-0.05*x).*sin(x);
y4 = 0.2*exp(-0.5*x).*sin(10*x);

figure
[hAx,hLine1,hLine2] = plotyy([x',x'],[y1',y3'],[x',x'],[y2',y4']);

编辑:这也可能有帮助。

谢谢您的回复。但是我有不同长度的x1和x2,如何水平连接它们?