Algorithm 如何在MatlabM文件中使用simulink模型的变量?
我希望我的关键词能描述我的处境。基本上,我在Simulink中使用Simulink块和S功能块使用SMC(滑模控制)。现在,我想使用DE(差分进化)算法来确定SMC的参数,以获得最佳结果。DE由两个m文件实现,其中一个包含一个目标函数(这需要DE),另一个包含DE算法的其余部分,用于运行。我所做的是,我将一个m文件转换为s函数,因为它需要Simulink模型中的一些变量,我的问题是,现在我想使用另一个m文件(DE算法)中目标函数的值来运行DE进行一些迭代。希望我清楚。Algorithm 如何在MatlabM文件中使用simulink模型的变量?,algorithm,simulink,s-function,matlab,Algorithm,Simulink,S Function,Matlab,我希望我的关键词能描述我的处境。基本上,我在Simulink中使用Simulink块和S功能块使用SMC(滑模控制)。现在,我想使用DE(差分进化)算法来确定SMC的参数,以获得最佳结果。DE由两个m文件实现,其中一个包含一个目标函数(这需要DE),另一个包含DE算法的其余部分,用于运行。我所做的是,我将一个m文件转换为s函数,因为它需要Simulink模型中的一些变量,我的问题是,现在我想使用另一个m文件(DE算法)中目标函数的值来运行DE进行一些迭代。希望我清楚。 我找到了一些东西,但看起来
我找到了一些东西,但看起来,我正在寻找完全相反的情况。让我们先定义两个DE文件:
- DE1:包含目标函数的函数
- DE2:包含DE算法的其余部分
所以,我的第一个想法是,有一些特殊的原因,您不能将第二个文件转换为Simulink s函数?在这种情况下,恐怕您唯一的选择可能是在每个时间步手动将每个需要的变量保存到工作区。您应该能够使用。