如何把MATLABsimulink中scope输出两条曲线,用plot hold on

如何把MATLABsimulink中scope输出两条曲线,用plot hold on,第1张

可以使用sinks中的out1或者to workspace将仿真数据输出到工作空间

比如我需要输出sin值到工作空间

运行之后,工作空间会产生如下数据

其中tout是自动生成的,yout是out1生成的,simout是to workspace生成的。

simout是timeseries类型的数据可以直接使用plot(simout)绘制

而tout和yout是向量需要使用plot(tout,yout)进行绘制

结果相同,如下:

ps:

tout,yout是默认的命名,可以修改的,如果需要可以自己去查。

2所谓仿真就是将时间分成许多离散的点,由当前时间点上的数据推下一个时间点上的数据。这也是输出仿真数据到工作空间的原理,即输出每个时间点上的数据到工作空间。

3输出到工作空间的数据是有限的,最多我记得是1000个点。如果超过只会保留最新的1000个点。可以调整仿真步长来改变这1000个点所跨越的时间长度。

要看情况,双击示波器里的“Parameters”,在Data history里,选Save data to workplace,在“Variable name”设置一个变量名如“t”,Format设置Array。设置完后,在运行一次。然后在matlab命令窗口输入plot(t(:,1),t(:,2))。当然这只是针对一条曲线,若示波器里有多条,同样在matlab命令窗口输入plot(t(:,1),t(:,3));plot(t(:,1),t(:,4));plot(t(:,1),t(:,5));。。。。即可。

说明:plot(t(:,1),t(:,2))里的t(:,1)是指示波器里图像的横坐标,t(:,2))则为纵坐标。

步骤一、打开软件,找到图像输出控制部分语句,这里演示输出3个不同曲线,通过figure控制结果显示到的窗口。

步骤二、运行后,通过这种控制方式,只是将结果分别存放到不同窗口,并不是在同一窗口下,分多行显示。

步骤三、使用hold on,注意添加多次,运行程序后,可以看到3种结果位于同一窗口。

步骤四、需使用subplot,为每个输出结果,添加此语句。函数后有(n,m,a)格式语句,n指的是所有图准备分的行数,m为列数,a则指的是第几幅图。

步骤五、运行该段代码,可得到2乘2的结果。选择好m、n取值,这两者对于所有子图设置数值完全一致,而a则表示第几幅,是按照先行后列的方法计数的。

步骤六、修改代码后,改为一行三列显示,这样可进一步了解subplot后面3个参数的意义。

回答于 2022-09-28

以上就是关于如何把MATLAB/simulink中scope输出两条曲线,用plot hold on全部的内容,包括:如何把MATLAB/simulink中scope输出两条曲线,用plot hold on、matlab仿真后的图形,只能再scope里显示,要怎么才能完整地显示在工作区、matlab中scope如何一个图好几个图象等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9646391.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-30
下一篇2023-04-30

发表评论

登录后才能评论

评论列表(0条)

    保存