首页 > 解决方案 > 运行 Simulink 从 Matlab 函数更改输入变量

问题描述

我正在从 Matlab 函数运行 Simulink,因为我需要多次更改参数来启动和停止仿真。当我从主脚本运行 Simulink 时,没有问题,Simulink 可以读取工作区。但是,只要我将脚本作为一个函数,我就可以针对不同的输入数据运行它。

function [Out] = Funtion (Var1, Var2 ....)
        simout = sim('Simulinkblock');
        Yx = simout.yout{1}.Values.Data;
        Cx = Yx(end);
end

标签: matlabsimulink

解决方案


Simulink 默认从基础工作区读取,您需要使用simset函数中的以下选项更改此设置:

options = simset('SrcWorkspace','current');
sim('modelname',[],options)

assignin或者在调用之前使用函数将变量分配给基本工作区sim


推荐阅读