采用optimization toolbox对复杂的非线性函数进行优化

背景:由于我最近在进行一个基于机器人动力学的参数整体优化,因此对matlab的optimization toolbox简单的用一个小模块进行了简单的摸索。

版本:matlab 2021a 第一步应该查看是否有该工具箱,没有请自行安装,查询方式:命令行窗口输入ver

看图说话

首先可以看到的是这是个实时编辑器,基本流程参考matlab优化工具箱OptimizationToolbox使用方法_逐梦荷里活的博客-CSDN博客。我在这里仅针对我的需要进行一点细节的注意补充

优化目标:一个连杆系统的运动学建模和静力学解算,所以函数ffunction_efficent3里面是非线性的很复杂的一个函数,输出则是我定义的一个运动距离和输出力的比值,以此为优化目标

优化参数:连杆OA长度,连杆AB长度,初始角度

相对于基本流程,不一样的地方如下:

1、前四行的上下界不一样

2、起始点不一样

3、绘图参数不一样

效果还可以,几个不同的起始点都收敛到了同一个值,但是有以下的几个注意事项

1、目标函数的选择,新建后不要关,这个时候才能下拉选

2、要简单的运行一次,约束选择一般在工作区选择,工作区空的话选择不了

3、边界约束要注意,我之前把边界外的设置为1000(大值),结果有一部分初始点收敛在了1000上

作用:可以对自己敲出来的复杂的函数的输入参数直接进行优化,不需要进行格式的修改,至于优化的方式我还没仔细看,看完会补充

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值