Simulink Scope示波器波形导出至MATLAB作图

环境:中文版MATLAB/Simulink

首先,设置Scope的"配置属性",点击“记录”,勾选“将数据点设置为最后”,保留最后多少数据根据你的需要填写(可以计算你要显示的波形周期算出保留数据点个数),勾选“记录数据到工作区”,填写变量名称,保存格式选择“带时间的结构体”(其他选择也可以只是选这个比较方便)。点击“确定”即可保存设置。

其次,运行一遍Simulink,打开Scope界面,点击“缩放”即可看到你保留的最后若干位数据,如下图所示,示例中保存了十个波形观测的两个周期数据。

接着,打开MATLAB,可以看到该段波形的带时间的结构体数据在工作区中。示例中需要的结构体数据命名为“Mode2”,仿真时间也顺带输出了“tout”(可以看到有一千多万个点,就是仿真时长除以仿真步长的结果)。

我们画图只需要“Mode2”结构体,打开结构体我们可以看到它由三组数据组成,分别是“time”(设置的“将数据点限制为最后”对应的时间序列,示例中限制为1750,所以time有1750个值)、“signals”(示例中输出了十个观测器的波形,所以有10个结构体,包含了对应的波形数据)以及仿真Simulink的名字“blockName”。

打开“signals”可以看到它由以下各列组成:

这就是我们想要的波形数据了,接着用MATLAB画图即可,导出图形到Visio后可以导出为pdf格式了。画出信号“signals”的MATLAB代码如下:
x1=Mode2.time;
y1=Mode2.signals(1).values(:,1);
y2=Mode2.signals(1).values(:,2);
y3=Mode2.signals(2).values(:,1);
y4=Mode2.signals(2).values(:,2);
y5=Mode2.signals(3).values(:,1);
y6=Mode2.signals(3).values(:,2);
y7=Mode2.signals(4).values(:,1);
y8=Mode2.signals(4).values(:,2);
vab=Mode2.signals(5).values(:,1);
vcd=Mode2.signals(6).values(:,1);
vlk=Mode2.signals(7).values(:,1);
ilk=Mode2.signals(8).values(:,1);
il1=Mode2.signals(9).values(:,1);
il2=Mode2.signals(9).values(:,2);
figure
subplot(9,1,1)
plot(x1,y1,'r',x1,y2,'b'),hold on
axis off
subplot(9,1,2)
plot(x1,y3,'r',x1,y4,'b'),hold on
axis off
subplot(9,1,3)
plot(x1,y5,'r',x1,y6,'b'),hold on
axis off
subplot(9,1,4)
plot(x1,y7,'r',x1,y8,'b'),hold on
axis off
subplot(9,1,5)
plot(x1,vab,'r'),hold on
axis auto
%axis({[0.00998 0.01 inf inf]}),
axis off
subplot(9,1,6)
plot(x1,vcd,'b'),hold on
axis auto
axis off
subplot(9,1,7)
plot(x1,vlk,'r'),hold on
axis off
subplot(9,1,8)
plot(x1,ilk,'r'),hold on
axis off
subplot(9,1,9)
plot(x1,il1,'r',x1,il2,'b'),hold on
axis off

输出结果如下图所示(为了方便在Visio继续编辑我删去了标题坐标等元素):

最后用Visio编辑后的电压电流波形如图所示:

有看不懂的地方或运行的问题欢迎在评论区留言。

  • 20
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值