gpt4 book ai didi

matlab - 在 Simulink 运行时为 MATLAB 功能 block 加载代码

转载 作者:太空宇宙 更新时间:2023-11-03 20:31:24 29 4
gpt4 key购买 nike

我想在我的 MATLAB 路径中有一些文件 myfunc.m 并以某种方式将其内容加载到 MATLAB function block 中在模拟开始之前自动。这样,我就可以使用外部编辑器编写这些嵌入式函数,将它们作为独立文件分别进行版本控制等。

有没有办法以编程方式实现这一点?

我最初的尝试是尝试使用 get_param 之类的东西访问功能 block 的内容,但我似乎无法获得对代码本身的读/写访问权限。

最佳答案

如果目标 MATLAB Function block 尚不存在,那么您可以按如下方式添加它(参见 this SO post):

load_system('eml_lib');
libname = sprintf('eml_lib/MATLAB Function');
add_block(libname,'myModel/myBlockName');

然后您可以使用 Stateflow API 修改 block 的代码:

sf = sfroot();
block = sf.find('Path','myModel/myBlockName','-isa','Stateflow.EMChart');
block.Script = 'Your code goes here';

另见 this post on MATLAB Answers .

关于matlab - 在 Simulink 运行时为 MATLAB 功能 block 加载代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10335564/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com