matlab - 运行 Simulink 从 Matlab 函数更改输入变量
问题描述
我正在从 Matlab 函数运行 Simulink,因为我需要多次更改参数来启动和停止仿真。当我从主脚本运行 Simulink 时,没有问题,Simulink 可以读取工作区。但是,只要我将脚本作为一个函数,我就可以针对不同的输入数据运行它。
function [Out] = Funtion (Var1, Var2 ....)
simout = sim('Simulinkblock');
Yx = simout.yout{1}.Values.Data;
Cx = Yx(end);
end
解决方案
Simulink 默认从基础工作区读取,您需要使用simset
函数中的以下选项更改此设置:
options = simset('SrcWorkspace','current');
sim('modelname',[],options)
assignin
或者在调用之前使用函数将变量分配给基本工作区sim
推荐阅读
- reactjs - 当组件具有道具或回调函数时如何进行 jest-dom 测试
- python - 更改列表的最后一个元素也会覆盖倒数第二个元素
- javascript - 设置倒数计时器 React JS
- api - Firecamp 中 OAuth 2.0 身份验证的回调 URL
- jquery - JS,更新大数组中对象的重复属性
- intellij-idea - [IntelliJ 20202.2]: git pull --rebase 通过新对话框是否保留合并提交?
- c# - 如何使用c#获取foreach循环中每个项目的底层元素?
- python - 在给定的极值点上强制拟合样条
- android - 活动未使用新意图更新
- reactjs - 使用 babel、webpack,在没有 lerna 或 yarn 的单一 repo 设置中做出反应