1.Fmincon函数介绍

在matlab中,fmincon函数可以求解带约束的非线性多变量函数(Constrained nonlinear multivariable function)的最小值,即可以用来求解非线性规划问题

matlab中,非线性规划模型的写法如下


2.基本语法

[x,fval]=fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon,options)

x的返回值是决策向量x的取值,fval的返回值是目标函数在x处的f(x)的取值。

fun是用M文件定义的函数f(x),代表了(非)线性目标函数;x0是x的初始值;A,b,Aeq,beq定义了线性约束 ,如果没有线性约束,则A=[ ],b=[ ],Aeq=[ ],beq=[ ]

lb和ub是变量x的下界和上界,如果下界和上界没有约束,则lb=[ ],ub=[ ],也可以写成lb的各分量都为 -inf,ub的各分量都为inf

nonlcon是用M文件定义的非线性向量函数约束;options定义了优化参数,不填写表示使用Matlab默认的参数设置


3.解题思路

如果我们要解这一道题目,我们的思维过程:

1.目标函数定义

function f=fun1(x);
f=x(1).^2+x(2).^2+x(3).^2+8;

2.定义非线性约束条件

function [g,h]=fun2(x);
g=[-x(1).^2+x(2)-x(3).^2x(1)+x(2).^2+x(3).^3-20];
h=[-x(1)-x(2).^2+2x(2)+2*x(3).^2-3];

3.编写主程序函数

[x,y]=fmincon('fun1',rand(3,1),[],[],[],[],zeros(3,1),[],'fun2')

4.得出结果

x1=0.5522,x2=1.2033,x3=0.9478最小值y=10.651

点击下方卡片,加入会员全年无限制学习后台(MPC各矩阵的底层逻辑、MPC纵向控制、模型验证、MPC自适应巡航控制、非线性系统如何线性化及MPC动力学跟踪任何轨迹、约束添加及新求解器的求解、轨迹规划、纵向规划等80个系列)会员专享爆品课程及资源,同时获得分佣资格,可赚回自己的学费!

轨迹跟踪求解Fmincon函数(2)相关推荐

  1. python改背景颜色_Python Opencv 通过轨迹(跟踪)栏实现更改整张图像的背景颜色

    !!!本博客,是对图像的背景颜色的修改的基础讲解~!!! 还包括一个练习--是对背景色修改的一点应用尝试!!!--始终相信学习多一点探索,脚步会更坚定一些~ 愿所有正在努力的人都可以坚持自己的路一直走 ...

  2. Python Opencv 通过轨迹(跟踪)栏实现更改整张图像的背景颜色(末尾有一个小训练——是将所学得的图像颜色修改应用为画板一般的刷新)

    文章目录 愿所有正在努力的人都可以坚持自己的路一直走下去! 实现轨迹(跟踪)栏功能的函数 函数主要参数讲解 代码实现 我们先创建一个窗体,为轨迹(跟踪)栏的挂载做准备 接着我们把需要的轨迹(跟踪)栏添 ...

  3. matlab中sqp的算法原理_利用fmincon函数中的SQP算法求解非线性规划问题,模型本身.......

    本人利用matlab里的fmincon函数求解一个优化问题,主函数: clc clear all lb=[3 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1]; ub=[3 5 5 4 5 ...

  4. Matlab求解非线性规划(fmincon函数的使用)

    Matlab中fmincon函数的使用 1. 介绍 2. 语法 3. 示例 3.1 编写M函数fun1.m,定义目标函数 3.2 编写M函数fun2.m,定义非线性约束条件 3.3 编写主程序函数 最 ...

  5. Matlab求解非线性规划,fmincon函数的用法总结

    Matlab求解非线性规划,fmincon函数的用法总结 1.简介 在matlab中,fmincon函数可以求解带约束的非线性多变量函数(Constrained nonlinear multivari ...

  6. Matlab求解规划问题之 fmincon函数

    Matlab规划问题之 fmincon函数 常用来求解单决策函数的规划问题 语法:[X,FVAL] = fmincon(fun,x0,a,b,Aeq,Beq,LB,UB,nonlcon,options ...

  7. fmincon c语言 编译,fmincon函数c(x)非线性函数求解

    想用Fmincon函数求最小值,但是不会弄非线性约束函数, x1=[4,0,0,0,0]; x1_step1.xoffset = [8;0.41;0.58;4;1.63]; x1_step1.gain ...

  8. 基于阻抗控制的工业机器人轨迹跟踪系统 Simulink/Simscape 仿真

      本文是对文献 [1] 的复现. 文章目录 更新日志 关于阻抗控制 离散化阻抗控制控制器的实现 基于阻抗控制的工业机器人轨迹跟踪系统仿真 ■ 环境说明 ■ 系统说明 ■ 结果展示 后记 项目开源 参 ...

  9. 基于MPC的移动机器人轨迹跟踪控制qpOASES例程

    参考了 一个模型预测控制(MPC)的简单实现 https://www.cnblogs.com/zhjblogs/p/13880682.html 与 基于MPC的移动机器人轨迹跟踪控制matlab例程 ...

最新文章

  1. linux服务器六个状态,六、Linux_SSH服务器状态
  2. java字符串缓冲池分析
  3. 网易微专业之《前端开发工程师》学习笔记(1)
  4. 关于无法把程序(Adobe Fireworks CS5)添加到打开方式的解决办法
  5. 1022.在线视频—IT售前营销讲座(三)售前情报、策划和资源协调
  6. html ie浏览器视频无法播放视频,HTML5视频以Chrome格式播放,但不播放IE9
  7. php mysql.x86 64_centos7.2yum安装php70w.x86_64
  8. 【SSH进阶】No result defined for action **的解决方案
  9. 透视宝移动端对Unity手机游戏引擎监控实现
  10. VSS2005源代码管理
  11. ARFoundation之路-人脸检测增强之一
  12. 电脑自动同步服务器时间bat,用Internet时间服务器来同步本机系统时间的批处理...
  13. 我的世界服务器自动西瓜,我的世界自动化红石教程 全自动西瓜农场
  14. Exynos4412 移植Linux Kernel 5.4过程记录(三)——根文件系统构建与SD卡挂载fs
  15. 箭头函数与this指向详解
  16. Predictive State Temporal Difference Learning 原文翻译预测状态时间差分学习
  17. Python语言程序设计基础_实验1 Python程序设计基础_答案_通识教育必修课程_上海师范大学
  18. c++(标准模板库STL)
  19. 基于python的租房网站
  20. 度过漫长又艰辛的 2020 年,我收集了 1273 人的年度感悟

热门文章

  1. 最新HCIE面试最新考试流程
  2. linux中screen的使用
  3. 一款APK,集成Lighttpd、phpMyAdmin、Drupal7、ownCloud等等工具
  4. 未来的呼叫中心:融合通信平台
  5. vue中echarts饼图实现循环高亮效果
  6. css 隐藏 scrollbar
  7. CSS隐藏滚动条样式 ::-webkit-scrollbar
  8. VUE:用vue实现的计算器实例
  9. QT入门第七天 网络编程TCP/IP/UDP+Http和JSON解析+qt事件软键盘【CSDN最详细】
  10. 安装FlexNet for Linux许可证服务器后,执行lmgrd报错