【仿真总结】通过to workspace将仿真数据导入工作区,数据降维并通过plot函数绘图

问题描述

在使用simulink做仿真时,常常需要将多种不同场景下的同种参数作比较,此时就需要使用to workspace模块将simulink中的数据导入工作区,但此时不管to workspace模块中设置以何种形式输出,最后得到的都会是一个三维矩阵,并且不能够通过plot函数直接绘制图像,本文将针对这一问题开展论述。

解决方案:

其核心是将已有的三维矩阵转成二维带时间的矩阵,主要步骤有三步。

第一步:取目标参数

与类的思想一致,可以通过名称索引直接获取目标参数,以加速度a为例

a = a.Data;

其后缀.Data为

第二步:测量目标参数长度

使用size函数,返回a数组的长度

size_a = size(a,3);

第三步:重构数组

通过reshape函数将获得的数据重构为一维数组

a = reshape(a,[size_a,1]);

由于相同的仿真时间不同的算法,获得的数据长度是不同的,但是我们又需要在相同的时间范围内比较,如果直接比较图像会按照点对点的形式对齐,最后图像长度不一,此时我们就可以依旧使用上述方法,将时间信息提取出来,用plot函数同对应的数据绘图,将两个不同的曲线放在同一个figure中就可以作比较了。

figure(1)
plot(t1, a1, 'r')
hold on
plot(t2, a2, 'g')
hold on
  • 15
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值