最近在看二次规划方法,对于等式约束的二次规划问题,可以使用拉格朗日方法求解。

这里代码如下(代码中给了三个例子):

clear all;

close all;

clc;

% min x1^2+2*x2^2+x3^2+x2^2-2*x1*x2+x3

% s.t. x1+x2+x3 = 4

% 2*x1-x2+x3 = 2

%{

H=[2 -2 0;

-2 4 0;

0 0 2];

c = [0 0 1]';

A=[1 1 1;

2 -1 1];

b=[4 2]';

%}

%min 2*x1^2+x2^2+x1*x2-x1-x2

%s.t. x1+x2 = 1

H=[4 1;

1 2];

c=[-1 -1]';

A=[1 1];

b=1;

%min 1.5*x1^2-x1*x2+x2^2-x2*x3+0.5*x3^2+x1+x2+x3

%s.t. x1+2*x2+x3 = 4

%{

H=[3 -1 0;

-1 2 -1;

0 -1 1];

c=[1 1 1]';

A=[1 2 1];

b=4;

%}

invH = inv(H);

S = -inv(A*invH*A');

R = -S*A*invH;

Q = invH-invH*A'*R;

x = -Q*c+R'*b;

[x1,x2]=meshgrid(0:0.02:0.7,0:0.02:1.5);

z1 = 2*x1.^2+x2.^2+x1.*x2-x1-x2;

mesh(x1,x2,z1);

x1 = 0:0.02:0.7;

x2 = -x1 + 1;

hold on;

plot3(x1,x2,zeros(1,length(x1)),'r');

plot3(x(1),x(2),0,'r*')

plot3(x(1),x(2),2*x(1).^2+x(2).^2+x(1).*x(2)-x(1)-x(2),'b*')

结果如下:

图中红线为约束条件,曲面为待求解问题函数,红点为问题的解,蓝点为二次规划问题最小值所在的位置。

标签:拉格朗,min,0.02,练习,matlab,invH,x2,x3,x1

来源: https://www.cnblogs.com/tiandsp/p/12088929.html

拉格朗日matlab仿真程序,matlab练习程序(二次规划-拉格朗日方法)相关推荐

  1. matlab控制算法C语言,PID算法Matlab仿真程序和C程序

    <PID算法Matlab仿真程序和C程序>由会员分享,可在线阅读,更多相关<PID算法Matlab仿真程序和C程序(6页珍藏版)>请在人人文库网上搜索. 1.增量式PID控制算 ...

  2. pid算法matlab仿真程序和c程序,pid算法matlab仿真程序和c程序.doc

    pid算法matlab仿真程序和c程序.doc 1 增量式 PID 控制算 法 Matlab 仿真程序 设一被控对象 G(s) =50/(0.125s^2+7s),用增量式 PID 控制 算法编写仿真 ...

  3. 拉格朗日插值法matlab上机,拉格朗日插值法使用MATLAB做的例题

    <拉格朗日插值法使用MATLAB做的例题>由会员分享,可在线阅读,更多相关<拉格朗日插值法使用MATLAB做的例题(2页珍藏版)>请在人人文库网上搜索. 1.一物体廓线数据如下 ...

  4. matlab插值龙格实验,实验二 拉格朗日插值龙格现象.doc

    实验二 拉格朗日插值龙格现象 汕 头 大 学 实 验 报 告 学院: 工学院 系: 计算机系 专业: 计算机科学与技术 年级: 2010 姓名: 林金正 学号: 2010101032 完成实验时间: ...

  5. matlab插值龙格实验,实验二 拉格朗日插值龙格现象

    汕 头 大 学 实 验 报 告 学院: 工学院系: 计算机系专业: 计算机科学与技术年级:2010 姓名: 林金正学号:2010101032完成实验时间: 5月24日 一.实验名称:拉格朗日插值的龙格 ...

  6. 基于扰动模型预测控制的 matlab仿真程序,程序封装完善

    基于扰动模型预测控制的 matlab仿真程序,程序封装完善,只需要输入被控系统(适用于一般时不变离散线性系统,扰动序列已知)参数(状态转移矩阵,控制增益矩阵,预测步长等)即可计算出最优控制律,也可根据 ...

  7. 智能控制matlab程序,智能算法的Matlab仿真程序及教程

    智能算法的Matlab仿真程序及教程 所属分类:*行业应用 开发工具:C/C++ 文件大小:3834KB 下载次数:4 上传日期:2020-07-02 11:17:04 上 传 者:nickyang ...

  8. 量子遗传算法原理与MATLAB仿真程序

    写在前面: 1.其实这些智能算法的思想都差不多,只不过是各自搜寻方式.编码方式.种群更新方式等不一样而已. 量子遗传算法是在遗传算法的基础上使用了一种新的编码方式. 2.直接看前面介绍可能会觉得较难, ...

  9. 惯性gps组合导航matlab,Strong-tracking-filter 基于强跟踪滤波算法的惯性加GPS组合导航matlab仿真程序 238万源代码下载- www.pudn.com...

    文件名称: Strong-tracking-filter下载 收藏√  [ 5  4  3  2  1 ] 开发工具: matlab 文件大小: 82 KB 上传时间: 2013-09-01 下载次数 ...

最新文章

  1. 赖江山:生态学研究都在用哪些R包?
  2. 数据仓库、数据湖、流批一体,终于有大神讲清楚了!
  3. CubieBoard开发板不用ttl线也不用hdmi线的安装方法
  4. 物业公司工作流应用方案
  5. opencv 读取CV_16U图像 c++
  6. python的pygame库使用方法_[宜配屋]听图阁
  7. python是不是汇编语言_python是汇编语言吗
  8. Nginx+Redis 搭建高性能缓存利器
  9. DPM 2012 R2恢复Exchange 2013单用户邮箱
  10. hive 两个没有null指定的表左关联的结果有null_Hive企业级调优表的优化
  11. mysql 写出高性能sql 防止索引失效总结
  12. Excel如何删除空白行
  13. Foxmail7.0.1.86升级有风险
  14. 关于cesium1.92以上版本无法加载draco压缩模型问题
  15. 获取QQ好友列表、QQ分组信息、QQ群成员数据接口实现
  16. python开发板卡驱动开发_树莓派开发板如何驱动LED灯
  17. 【JY|理念】结构概念设计之(设计理念进展)
  18. 【Android Studio】Android Studio ADB Wifi 无线调试
  19. 毕业设计 STM32老人防摔倒报警系统 - 物联网 嵌入式 单片机
  20. WAF检测率及误报测试工具Gotestwaf

热门文章

  1. 定位消耗系统资源多的查询
  2. python判断字符串不相等_python怎么判断两个字符串不相等
  3. iPhone 12 界面下拉不显示 “控制中心” 怎么办?
  4. python小数精度_python.day.02——小数精度控制问题
  5. [Qt5布局] 控件自动填满所在布局框架
  6. 2020全网最全前端安全综述(深度好文!)
  7. 菲亚特动力科技在上海宝马展推出适用于非道路的高性能产品
  8. java 画树_JAVA画树
  9. Java入门与环境搭建
  10. 基于PHP的网络教学平台设计与实现