Matlab如何多个波形示波器,[转载]simulink在一个图形中画出多个示波器曲线的方法...

最近碰到一个问题,就是做仿真模型的时候需要在这个模型的基础上,改变相应的参数,画出相应的转矩或者角速度的图像,这样就能在一个图形中画出个曲线,可以比较不同参数下对转矩或者角速度的影响。

具体方法是,把示波器的图像显示在图形中,前面的博文已经做过了解决。那就是通过设置示波器参数把示波器图形用plot命令显示。

双击所要输出波形的示波器,打开示波器参数选择窗口,点击"Data history"标签,将第二个参数"Save data to

workspace"打勾(如下图)。可填写变量名和选择格式。变量名随便,好记就行,格式选择arry。 a4c26d1e5885305701be709a3d33442f.png

这里顺便说一句。在仿真时经常会出现仿真结束后,示波器显示的波形只有一部分的现象,这是第一个参数"Limit data points

to

last"被选中的缘故。这个参数被选中,输出点数被限制,当然波形就只能显示一部分了,只不过这样可以节省内存罢了。要全部显示,只要不勾就行了。一切选择好后,点OK退出,运行仿真。在仿真结束后,在workspace里面会出现一个和前面设定的变量名相同名字的结构体变量。该变量中主要有一个名字为signals的结构体和一个名为time的向量。在signals里面还有一个values的向量。这就是绘制新图形的数据基础。在命令窗口中输入

plot(ScopeData.time,ScopeData.signals.values,'k')

这样就可以输出一个坐标清楚的图形了。但是此时的坐标没有标注坐标所代表的量的名称。此时输入xlabel('time(s)'),在X坐标下就会显示time(s)字样,输入ylabel('speed(m/s)'),在Y轴同样输出speed(m/s)字样。改变'

'内的字符串,就可以改变坐标下的名字。在命令窗口输入axis([xmin xmax ymin

ymax]),就可以限定输出波形的上下界。输入set(gca,'xtick',[a b c d

....])可以重新标定坐标刻度,其中“a b c d ...”就是重新标定后的刻度值。grid on,grid off

命令可以打开和关闭网格。 经过这些命令一处理,就可以得到非常满意的输出图形了。

怎么在plot命令中显示多条曲线呢,即在一组参数下仿真图像是1,当我用另外一组参数仿真得到仿真图像2.怎么样才能把这两个图像放在一个图中呢。

通过查询我得到了一个简单的办法,即,仿真1结束后,plot(y1)然后输入 hold on 命令

然后再plot(y2)当然y1和y2是把示波器的变量重新定义了以后。也可输入相同的plot(y)只要两条曲线不同。

方法2:

设你的波形变量保存为y1,...y5,

plot([y1;y2;y3;y4;y5])把五条曲线画到一个图上.注意to workspace中保存类型是array.

方法3:如果你要在一个坐标轴内显示几个曲线,那么就在用一个mux,把速度和转矩合并一个变量,然后to

workspace,然后用plot画可以显示出跟示波器一样的一个图形2个曲线。

我主要用方法1,简单明了。

  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值