二维数据使用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)

绘制结果如下所示

相关推荐
道道_Love4 小时前
AI 调 MATLAB 用 MCP 太难用?单元设计规范和测试用例,用原生 AI 一次生成
人工智能·matlab·设计规范
菜鸟~noob2334 小时前
【电子战】第31篇:3D AOA 定位——方位+俯仰联合
开发语言·matlab·3d
iCxhust1 天前
Matlab求解发电机的极限切除角
开发语言·算法·matlab·电力系统
LMT_Lanmantech1 天前
MATLAB合规管理:如何避免侵权赔偿和审计风险
开发语言·matlab·信息可视化
Evand J1 天前
【PMSM例程6】永磁同步电机(PMSM)基于增广EKF的d-q轴电感分阶段辨识算法|电机参数估计与误差分析
算法·matlab·电机·ekf
Matlab程序猿1 天前
【MATLAB源码-第460期】基于matlab的OTFS通信系统SLM峰均比抑制及非线性功率放大器失真与误码性能仿真
开发语言·算法·matlab·slm·otfs
chhttty2 天前
Stateflow状态机建模:数据
matlab·simulink
Matlab程序猿2 天前
【MATLAB源码-第459期】基于matlab的D-H模型与阻尼最小二乘逆运动学的六自由度机械臂五次轨迹规划及动力学前馈PD控制仿真。
人工智能·算法·matlab·d-h建模·六自由度串联机械臂
机器学习之心3 天前
基于CNN-LSTM的轴承剩余寿命预测,MATLAB代码
matlab·cnn·lstm·cnn-lstm·轴承剩余寿命预测
菜鸟~noob2334 天前
【电子战】 第26篇:大气衰减——氧气与水汽吸收【含matlab代码】
开发语言·matlab