matlab from有什么用,Matlab函数使用'fromworkspace'将向量传递给simulink

我想编写一个包含simulink块的matlab函数 . 该函数应将数据加载到simulink模型中,运行它,然后从函数返回数据 .

我能想到的唯一方法就是在simulink中使用'To Workspace'和'From Workspace'块 . 问题是'From Workspace'块不从功能范围中获取变量,只从工作空间范围中获取变量 .

下面是我能想到的唯一解决方案,它基本上将传入的向量转换为字符串,然后创建一个在模型启动时被调用的函数(实际上这与eval一样糟糕) .

这是代码:

function [ dataOut ] = run_simulink( dataIn )

% Convert data to a string (this is the part I would like to avoid)

variableInitString = sprintf('simin = %s;', mat2str(dataIn));

% we need both the name and the filename

modelName = 'programatic_simulink';

modelFileName = strcat(modelName,'.slx');

% load model (without displaying window)

load_system(modelFileName);

% Set the InitFcn to the god awful string

% this is how the dataIn actually gets into the model

set_param(modelName, &

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Simulink中,From Workspace模块可以用来从MATLAB Workspace中导入数据作为模型的输入信号,以下是From Workspace模块的使用步骤: 1. 在MATLAB Workspace中创建输入数据 在MATLAB中创建一个向量或矩阵作为输入信号,可以使用MATLAB中的函数来生成或处理数据。例如,可以使用如下语句生成一个包含10个正弦波周期的等间隔向量: ``` t = linspace(0, 10, 1000); u = sin(2*pi*5*t); ``` 这个向量u包含了一个正弦波信号,可以作为模型的输入信号。 2. 在Simulink中添加From Workspace模块 在Simulink模型中,可以从Simulink库中添加From Workspace模块,或者使用快捷键Ctrl+Shift+L来打开Library Browser,然后在搜索框中输入“From Workspace”进行搜索。 3. 配置From Workspace模块 双击From Workspace模块,打开其参数设置窗口,按照以下步骤进行配置: - Data:选择在MATLAB Workspace中创建的输入数据变量名,例如u。 - Time:选择在MATLAB Workspace中创建的时间变量名,如果输入信号不是时域信号,可以不选择时间变量。 - Interpolation:选择插值方法,例如“ZOH”表示使用零阶保持插值。 - Sample time:设置采样时间,如果输入信号采用连续时间表示,则采样时间可以设置为0。 - Limit data points to last:设置从输入数据中读取的数据点数。 4. 连接From Workspace模块 将From Workspace模块的输出连接到模型中的其他模块或信号源。 5. 运行模型 运行模型,From Workspace模块将导入在MATLAB Workspace中创建的输入数据,并将其作为模型的输入信号。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值