simulinkscope?Simulink中scope的问题
大家好,关于simulinkscope很多朋友都还不太明白,今天小编就来为大家分享关于Simulink中scope的问题的知识,希望对各位有所帮助!
怎样将simulink 中scope数据读出
热心网友
方法/步骤
1
在MATLAB/SIMULINK元件库中选取Sine Wave和Scope模块,进行连接
2
接着运行模型,结果数据会写入到Scope中,只需鼠标左键双击Scope模块,就会看到其操作界面及仿真波形
3
如果想要放大对波形进行X、Y轴放大则可以选择X、Y轴放大按钮
4
如果感觉放大效果不好,可以选择自动缩放按钮返回原来波形
5
还有最重要的就是进行Scope参数的设置,选择参数设置按钮,会出现参数设置操作界面
6
在这个界面可以输入识破器界面的数目,以及是否将数据写入MATLAB工作空间等操作
Simulink中scope的问题
方法很多。
操作最简单的是观察法,查看scope上的图形,点击上面的放大按钮,寻找波峰和波谷,两者差值除以2就是幅值。频率需要看相邻的波峰或者波谷的时间间距,求倒数就是频率。可以多算几个求平均值。
操作复杂点的是用Powergui,利用其FFT计算幅值和频率。
还有一种方法是自己编写程序,搜索最大值和最小值,计算幅值和频率。
如何把MATLAB/simulink中scope输出两条曲线,用plot hold on
可以使用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个点所跨越的时间长度。
如何保存simulink中scope显示的曲线
转贴:如何编辑和保存simulink中scope显示结果
关于scope结果的保存,论坛里的一般回答都是输出到workspace,再plot,但是plot在一张图里只可以有一个坐标系,在多变量情况下很不方便,不能实现scope中多axis的情况。另外若直接打印scope显示的结果,图形颜色无法编辑,也不能在图上加线条或文字。
可以在打开scope情况下,在matlab中输入命令
shh= get(0,'ShowHiddenHandles');
set(0,'ShowHiddenHandles','On')
set(gcf,'menubar','figure')
set(gcf,'CloseRequestFcn','closereq')
set(gcf,'DefaultLineClipping','Off')
set(0,'ShowHiddenHandles',shh)
这样scope隐藏的编辑菜单就会出现,与plot中的菜单类似,可以方便的编辑scope中的图形,并可以将图形另存为*.fig,或者export为*.jpg,*.bmp等等。
关于simulinkscope,Simulink中scope的问题的介绍到此结束,希望对大家有所帮助。