我得到了一个simulink模型,包含4个输入,6个输出和16个参数以及4个不同的自写控制器。我需要调整参数以找到它们的优化值。我尝试使用参数估计和响应优化工具以及分析菜单中的其他选项,但是我无法达到我的目标。工具开始估计,但参数值保持不变没有任何变化。我认为这是因为这些工具对单输入和单输出模型有用。有人帮忙吗?在simulink中调整参数
0
A
回答
0
从评论中的讨论,听起来好像你正在InitFcn
模型回调中定义你的参数值。在进行正常模拟时很好,但问题是在每次模型更新和模拟期间都会执行此回调。这意味着,当使用类似Simulink Design Optimization(它在尝试更改参数值时一遍又一遍地遍历模型)时,InitFcn
回调覆盖中为每次迭代定义的值的值(对于相同的参数)正试图设置。这会导致参数在优化过程中永远不会更改值,并保持不变,并且会在模型回调中定义值。
解决这个正确的方法是在PreLoadFcn
模型回调,而不是定义模型参数:
PreLoadFcn
- 模型加载之前。
- 定义此参数的回调代码对于加载模型使用的变量很有用。
[...]
有关详细信息,请参阅文档中Model Callbacks。
如果是其他原因导致参数估计/优化失败,则需要与我们共享您的模型和相关文件。
通常,为了使优化成功的机会最大化,您希望最小化同时进行估计的参数数量(在每个步骤中使用较少数量的参数进行多阶段估计有时可能是一个很好的折中方案)。
相关问题
- 1. Simulink参数设置
- 2. 变参数在Simulink中进行仿真
- 3. Simulink&Masks:动态访问参数“评估”和“可调参数”
- 4. MATLAB simulink设置PID参数
- 5. Pegasos参数调整
- 6. 为什么在ojalgo中调整参数?
- 7. 设置从MATLAB Simulink模块参数,而无需打开的Simulink
- 8. 在Simulink中读取数组
- 9. 在simulink中使用一个参数生成函数?
- 10. 调整GAN超参数
- 11. Cloudify Java参数的调整
- 12. 调整GC(CMS)的参数
- 13. 自动参数调整
- 14. “glm”与“rf”中的调整参数
- 15. 在运行时调整参数?
- 16. Simulink回调问题
- 17. 我可以将simulink中的matlab函数中的参数设置为可调参数吗?
- 18. 将参数传递给exe Simulink
- 19. SIMULINK - 在使用嵌入式编码器时掩码子系统中可调参数/可变参数的影响
- 20. 如何在Simulink中调整子系统块上IO端口的显示?
- 21. 在SIMULINK
- 22. 在调用中缺少参数参数
- 23. 在mlr中调整整数矢量
- 24. 调整和优化一个MATLAB/Simulink模型
- 25. Matlab Simulink函数
- 26. Simulink中的整数到二进制转换
- 27. Simulink中的整数到二进制转换
- 28. 如何调试Matlab/Simulink?
- 29. Simulink UDP发送回调
- 30. Cloud ML针对CATEGORICAL参数的超参数调整传递整数值
不,它们不适用于单输入单输出模型,它们应该可以工作。在没有看到您的模型以及如何设置参数估计/优化的情况下,不可能知道发生了什么。我怀疑你可能没有正确地设置估计问题。 – am304
你错过了这一点。您需要提供实际的Simulink模型,m个文件,数据等......一切,以便可以复制问题。如果模型非常庞大,您需要提出一个尽可能小的模型来复制问题。 – am304
正如我所说,看到模型和复制问题很难评论。然而,人们犯的一个常见错误是,在初始化模型时会运行某种MATLAB脚本或回调函数,该模型会设置各种变量来对模型进行参数化。这可以覆盖由参数估计设置的变量值,使得所讨论的变量在整个优化过程中永不改变,并且优化失败。您只想设置一次相关数据,而不是每次迭代模型。 – am304