matlab优化工具箱OptimizationToolbox使用方法
![](https://img-home.csdnimg.cn/images/20240711042549.png)
在matlab 2021打开优化工具箱,提示的是open live editor task:
因为没有在之前的版本中使用过这个工具箱,所以直接按照live editor的方式写个使用记录,主要参考官网的:How to Use the Optimize Live Editor Task
以该优化问题为例:
首先新建一个实时脚本:
对问题中使用到的初值进行指定,另外,和视频里不一样的是,我这个版本里的约束函数没有输入参数R这个设定,所以我是直接在函数里写好常数值的,没有作为输入参数,所以一开始的时候也没有做R的设定:
ctrl+enter后就可以执行到工作区:
然后在脚本中插入工具箱:
效果如下:
然后就可以在这个界面进行目标函数、约束函数、优化方法等等的设置。
- 指定问题类型:
根据目标函数的类型进行选择,本问题是非线性问题
- 指定约束类型:
本问题有参数的上下界限制和一个不等式约束,并且是非线性的:
- 选择优化方法,就用了默认的,点右边的问号可以看到关于求解器的更多信息
4. 编写目标函数
本实例目标函数是从局部函数选择,这种类型需要自己在脚本里编写目标函数,选择新建,下方就会出现一个目标函数模板:
这个模板已经把目标函数怎么写有了个实例,这个示例用的目标函数就是这个,所以不用改了。
5. 选择初始点, 以同样的方法新建约束函数,并设置上下界。
- 再选择一下需要的结果就可以运行了:
结果图:
结果值:
逐梦荷里活: 设置好初值后,有执行到工作区吗?
从前有个座山雕: 感谢博主的分享,非常有用。我在运行过程中发现一个问题:如果接收完数据之后不执行clear u的操作,采集到的数据就完全不是发出的数据了,博主知道这是为什么吗?
逐梦荷里活: 感谢提醒!
qq_41891497: 谢谢博主,这篇帮助真的很大,csdn里为数不多的udpport的用法!另外4.2章14行忘删了
2401_83390134: 请问怎么解决?