matlab——simulink从工作空间导入数据作为输入信号进行仿真

2018版matlab——simulink从工作空间导入数据作为输入信号进行仿真

本次在simulink仿真的时候,我得到了一组一维数据(即一维矩阵theta2),这个一维数据中存的是按照时间顺序记录的50个角度值并存在工作空间中;而我仿真的时候需要将这50个角度值同样以时间顺序作为输入信号依次输入simulink,用来模拟关节转动过程。
因而,我涉及到“如何从工作空间导入数据至simulink”,并且“导入的数据能够作为输入信号直接用于仿真”。今天便分享一下我的处理办法;如果各位大佬有更好的方法,麻烦大佬给个玫瑰…

1、如何从matlab工作空间导入

simulink从工作空间导入数据常用方式有以下两种:
== 1)、在simulink配置中更改输入输出 ==

在这里插入图片描述
在这里插入图片描述

具体可参考:

https://wenku.baidu.com/view/f566d12eed630b1c59eeb594.html

== 本次主要讲下第二种方法 —— 2)、利用simulink模块库中的FromWorkspace模块 导入==
①进入simulink模块库

在这里插入图片描述

②在simulink —> Source 下选择FromWorkspace模块。FromWorkspace模块是simulink专门提供的一个能够从工作空间获得数据的模块。

在这里插入图片描述

③双击模块,编辑其属性。主要输入需要从工作空间导入的数据:

在这里插入图片描述

如图,我现在需要从工作空间输入的数据为“theta”,则我们将其输入至模块的Data栏中即可。这样simulink在仿真时就能够从工作空间获得数据。

2、FromWorkspace导入的数据应该具有的格式

FromWorkspace模块导入的数据并不是任意输入的,它具有一定的格式;数据必须按照这个格式才能正确的被使用。
格式如下:
data[时间戳,需要作为信号导入的数据1]

在这里插入图片描述

== 这里讲下如何将我们的数据(如我的存有50个角度数据的theta2)产生一个可直接供FromWorkspace模块使用的参数theta ==
1)利用自定义多维数组
%%%% %%%% %%%% 生成具有对应时间戳的二维矩阵,进而可供 simulink作为输入信号使用
%%%% 1.定义仿真时间,以及仿真步长。
sim_time = 10;    % 仿真时间:10s
sim_step = 50;    % 仿真步长:50 步。由于我的数据有连续50个角度值,因而这里设为50%%%% 2.构建可供FromWorkspace模块使用的参数 theta
 %%% ①生成时间戳
for i=1:sim_step 
    time_stamp(i,1) = i * sim_time / sim_step;
end
%%% ②利用二维数组,将时间戳time_stamp和50个数据theta2构建可供FromWorkspace模块使用的参数 theta
theta = [time_stamp,theta2]; %% 生成二维矩阵,第一维为时间戳,第二维为对应数值 theta2

%%%% 到此,便生成了可直接供FromWorkspace模块使用的参数 theta,可在simulink中直接使用
2)通过FromWorkspace模块属性提示,采用 <结构体> 进行构建 theta。
①利用结构体构建theat(注:该处不用在意时间戳)
%%%% 1.定义一个 theta 结构体,并转载数据。此处不用在意时间戳
theta = struct('signals', [], 'time',[]);
theta.signals.values = theta2;  % theta的数据部分为theta2
theta.signals.dimensions = 1;   % theta的数据部分的维度,此处theta2为一维数据

②按如下设置之后,便可以在simulink中直接使用theta

在这里插入图片描述

  • 104
    点赞
  • 624
    收藏
    觉得还不错? 一键收藏
  • 9
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值