【问题标题】:Run Simulink changing input varaibles from Matlab function运行 Simulink 从 Matlab 函数更改输入变量
【发布时间】:2021-08-24 16:51:36
【问题描述】:

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

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

【问题讨论】:

    标签: matlab simulink


    【解决方案1】:

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

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

    或者在调用sim之前使用assignin将变量从你的函数分配到基础工作区

    【讨论】:

      猜你喜欢
      • 2017-07-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多