二维数据使用To Workspace输出到工作空间并绘制图像

二维数据使用To Workspace输出到工作空间并绘制图像

问题需求

  1. 如上图所示, 状态变量 x 1 ˙ , x 2 ˙ \dot{x_1}, \dot{x_2} x1˙,x2˙经过积分器后是一个二维向量;
  2. 现在需要将 x 1 , x 2 x_1, x_2 x1,x2输出到工作空间并绘制 ( x 1 , x 2 ) (x_1, x_2) (x1,x2).

To Workspace模块

To Workspace 模块将连接到其输入端口的数据从 Simulink®模型记录到工作区.

添加该模块到Simulink模块中

To Workspace模块相关参数

  1. 变量名称(Variable name): 仿真结束后, MATLAB工作区将会生成一个变量out.simout
  1. 将数据点限制为最后(Limit data points to last)

    • inf表示保存所有仿真数据;
    • 如果填写数字1000, 表示只保存最后1000个数据点;
    • 当仿真时间很长, 数据很多, 而前面的数据没有必要时, 可以设置该参数;
  2. 抽取(Decimation)

    • 设置为1, 表示不抽样, 每1个数据保存1个;
    • 如果设置为10, 则表示, 每10个数据保存1个;
    • 如果数据量太大, 该操作可以降采样;
  3. 保存格式(Save format)

    • MATLAB有四种数据保存格式:
      • Structure With Time 带时间的结构体
      • Structure 结构体
      • Array 数组
      • Timeseries 时间序列

数据保存格式可详见

To Workspace

MATLAB四种存储结构
Structure With Time
matlab 复制代码
simout.time
simout.signals.values
Structure
matlab 复制代码
simout.signals.values
Array
matlab 复制代码
simout
Timeseries
matlab 复制代码
simout.Time
simout.Data
  1. 将数据记录为 fi 对象

    • 只有在使用Fixed Point定点数时才有意义
  2. 采样时间

    • -1表示基层输入信号的采样时间;

使用To Workspace接收二维数据得到的结果

out.simout.Data是一个三维数据, 需要转化为一维数据才可以进行绘图操作

matlab 复制代码
% 将三维数据压缩为1维数据
x1 = squeeze(out.simout.Data(1,1,:));
x2 = squeeze(out.simout.Data(2,1,:));

plot(x1, x2)

绘制结果如下所示

相关推荐
机器学习之心11 小时前
集成BWM法、熵权法、改进博弈论组合赋权与三角直觉模糊云模型的多属性评价模型,MATLAB代码
开发语言·matlab·熵权法·三角直觉模糊云模型·bwm法·改进博弈论组合赋权·多属性评价模型
2zcode12 小时前
原创文档:基于MATLAB的线性预测编码变声器系统
开发语言·matlab·语音识别
机器学习之心19 小时前
基于CPO-VMD冠豪猪优化优化变分模态分解与最小包络熵的自适应变分模态分解方法,附MATLAB代码
开发语言·matlab·cpo-vmd·冠豪猪优化优化变分模态分解
Evand J21 小时前
【无人机控制例程】(3)多无人机队形变换控制代码,仿真程序。附MATLAB源代码
开发语言·matlab·无人机·控制·uav
2zcode1 天前
运动模糊图像复原的MATLAB仿真与优化
开发语言·matlab
yong99901 天前
MATLAB读取高光谱图像
开发语言·matlab
2zcode1 天前
基于MATLAB的肝病风险评估与分期分析系统设计与实现
开发语言·matlab
简简单单做算法2 天前
基于GAN生成对抗网络模型的图像生成与虚拟场景构建系统matlab仿真
人工智能·神经网络·生成对抗网络·matlab·gan·虚拟场景构建
Evand J2 天前
【编队控制例程】(2)基于UWB的多无人机协同定位与编队控制仿真,基于UKF(无迹卡尔曼滤波)定位。附MATLAB代码下载链接
matlab·无人机·控制·ukf
2zcode2 天前
基于MATLAB与SVM实现河道水面漂浮物的自动检测与识别
人工智能·支持向量机·matlab