0

我希望我的关键词能描述我的情况。基本上,我使用 simulink 块和 S 功能块在 Simulink 中使用 SMC(滑动模式控制)。现在,我想使用 DE(差分进化)算法来确定 SMC 的参数,以获得最佳结果。DE由两个m文件实现,其中一个包含目标函数的函数(DE需要这个),另一个包含DE算法的其余部分,用于运行。我所做的是,我将一个 m 文件转换为 s 函数,因为它需要 Simulink 模型中的一些变量,我的问题是,现在我想在另一个 m 文件中使用目标函数的值(DE 算法) 运行 DE 进行一些迭代。希望我很清楚。我在这里找到了一些东西,但看起来,我

4

1 回答 1

0

让我们首先定义您的两个 DE 文件:

  • DE1:包含目标函数的函数;

  • DE2:包含 DE 算法的其余部分。

据我了解,您已将 DE2 转换为 S-Function,并希望使用 DE1 中的变量进行迭代。

  1. 如果 DE1 中的变量是常量,那么在 Simlink 中使用常量块可能会解决您的问题。只需将这些变量放在常量块中并作为输入连接到 DE2。
  2. 如果 DE1 中的变量在迭代过程中发生变化,那么将 DE1 转换为 S-Function 应该是正确的做法。
于 2015-05-12T12:14:27.530 回答