Minf(x)=-5x1  -4x2  -6x3

               x1   -x2    +x3  <=20

             3x1  +2x2 +4x3 <=42

               3x1 +2x2           <=30

            0<=x1,0<=x2,0<=x3

>> c=[-5,-4,-6];
>> A=[1 -1 1
3 2 4
3 2 0];
>> b=[20;42;30];
>> lb=zeros(3,1);
>> [x,fval,exitflag,output,lambda]=linprog(c,A,b,[],[],lb)
Optimization terminated. x = 0.0000
15.0000
3.0000 fval = -78.0000 exitflag = 1 output = iterations: 6
algorithm: 'interior-point-legacy'
cgiterations: 0
message: 'Optimization terminated.'
constrviolation: 0
firstorderopt: 5.8705e-10 lambda = ineqlin: [3x1 double]
eqlin: [0x1 double]
upper: [3x1 double]
lower: [3x1 double] >>

function[c,ceq]=mycon(x)
c1=1.5+x(1)*x(2)-x(1)-x(2);
c2=-x(1)*x(2)-10;
c=[c1;c2]; % 非线性不等式约束
ceq = []; % 非线性等式约束

  

>> optf=@(x) exp(x(1))*(4*x(1)^2+2*x(2)^2+4*x(1)*x(2)+2*x(2)+1);
>> x0=[10;10];lb=[0;0];ub=[inf;inf];
>> options=optimset('Algorithm','active-set','Display','off');
>> [x,fval] = fmincon(optf,x0,[],[],[],[],lb,ub,@mycon,options) x = 0
1.5000 fval = 8.5000 >>

  

>> x=0:.1:5;
>> y=sin(x);
>> f=@(b,x) b(1)*cos(b(2)*x+b(3))+b(4);
>> [a,ss]=lsqcurvefit(f,[1,1,1,1],x,y) Local minimum found. Optimization completed because the size of the gradient is less than
the default value of the function tolerance. <stopping criteria details> a = -1.0000 1.0000 1.5708 -0.0000 ss = 8.7594e-29 >> xf=0:0.05:8;
yfit=f(a,xf);
plot(xf,sin(xf),'ro',xf,yfit,'b-')

  

>> zf=@(a,x) a(1)*x(:,1).^2+a(2)*x(:,2).^2+a(3) %构造拟合函数类型

zf = 

    @(a,x)a(1)*x(:,1).^2+a(2)*x(:,2).^2+a(3)

>> [X0,Y0]=meshgrid(-2:.2:2);
x0=X0(:);y0=Y0(:);
z0=zf([1,1,-1],[x0,y0]);
>> %用上面的点去拟合估计曲面函数中的参数a:
>> [b,re]=nlinfit([x0,y0],z0,zf,[0,0,0]);
b %显示b,发现恰好是1、1、-1 b = 1.0000 1.0000 -1.0000

  

 

>> [X,Y] = meshgrid(-3:.25:3);Z = peaks(X,Y);
[XI,YI] = meshgrid(-3:.125:3);
ZI = interp2(X,Y,Z,XI,YI);
mesh(X,Y,Z), hold, mesh(XI,YI,ZI+15), hold off
axis([-3 3 -3 3 -5 20])
已锁定最新绘图
>>

  

 

MATLAB学习(七)求解优化问题:线性规划 非线性规划 拟合与插值 多目标规划的更多相关文章

  1. matlab学习之求解函数的根和极小值

    只是用来求解函数的部分一个根,具体算法没查询,只是调用自带的函数 代码如下 % 求函数零点和极小值 xiszero=func(0) x=-1:0.1:1.5; y=func(x); plot(x,y) ...

  2. yalmip + lpsolve + matlab 求解混合整数线性规划问题(MIP/MILP)

    最近建立了一个网络流模型,是一个混合整数线性规划问题(模型中既有连续变量,又有整型变量).当要求解此模型的时候,发现matlab优化工具箱竟没有自带的可以求解这类问题的算法(只有bintprog求解器 ...

  3. matlab学习笔记 bsxfun函数

    matlab学习笔记 bsxfun函数 最近总是遇到 bsxfun这个函数,前几次因为无关紧要只是大概看了一下函数体去对比结果,今天再一次遇见了这个函数,想想还是有必要掌握的,遂查了些资料总结如下. ...

  4. Matlab学习笔记 figure函数

    Matlab学习笔记 figure函数 matlab中的 figure 命令,能够创建一个用来显示图形输出的一个窗口对象.每一个这样的窗口都有一些属性,例如窗口的尺寸.位置,等等.下面一一介绍它们. ...

  5. 【转】MyBatis学习总结(三)——优化MyBatis配置文件中的配置

    [转]MyBatis学习总结(三)——优化MyBatis配置文件中的配置 一.连接数据库的配置单独放在一个properties文件中 之前,我们是直接将数据库的连接配置信息写在了MyBatis的con ...

  6. matlab学习笔记(一)单元数组

    matlab学习笔记(一)单元数组 1.floor(x) :取最小的整数 floor(3.18)=3,floor(3.98)=3 ceil(x)  :取最大的整数 ceil(3.18)=4,ceil( ...

  7. 如何学习Linux性能优化?

    如何学习Linux性能优化? 你是否也曾跟我一样,看了很多书.学了很多 Linux 性能工具,但在面对 Linux 性能问题时,还是束手无策?实际上,性能分析和优化始终是大多数软件工程师的一个痛点.但 ...

  8. MyBatis学习七:spring和MyBatis整合

    <\mybatis\day02\16mybatis和spring整合-sqlSessionFactory配置.avi;> MyBatis学习七:spring和MyBatis整合.逆向工程 ...

  9. SVG 学习<七> SVG的路径——path(1)直线命令、弧线命令

    目录 SVG 学习<一>基础图形及线段 SVG 学习<二>进阶 SVG世界,视野,视窗 stroke属性 svg分组 SVG 学习<三>渐变 SVG 学习<四 ...

随机推荐

  1. TestNG-Annotations

    @BeforeSuite The annotated method will be run before all tests in this suite have run.  @AfterSuite ...

  2. jsp的标签库

    Java Server Pages Standard Tag Libray(JSTL):JSP 标准标签库,是一个定制标签类库的集合,用于解决一些常见的问题,例如迭代一个映射或者集合.条件测试.XML ...

  3. 通过自动回复机器人学Mybatis---加强版

    第2章 接口式编程 介绍 Mybatis 的接口式编程,并说明为什么要采用这种形式,以及 Mybatis 是如何实现的

  4. struts2之关联查询(5)

    需要关联四个表 select g.*,b.name brname,s.bid,s.sname,bi.name biname  from T_GOODS g left join T_brand b on ...

  5. unity shader 剔除指定的颜色

    Shader "MyShader/PaintingBGTransparency" { Properties{ _MainTex("Base (RGB)", 2D ...

  6. RabbitMQ概要

    安装: 1.Erlang安装 安装RabbitMQ需要先安装Erlang,这里选择otp21.2-win-64下载完成后安装 资源: http://www.erlang.org/downloads 2 ...

  7. /usr/share/rubygems/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- redis (LoadError)

    报错信息: /usr/share/rubygems/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file ...

  8. jQuery属性操作之DOM属性操作

    DOM属性操作是对DOM元素的属性进行读取.设置和移除操作, 比如prop(). removeProp(). 1. prop() 1.1 使用prop()获取返回值 prop() 用于返回属性值时, ...

  9. AcWing:239. 奇偶游戏(前缀和 + 离散化 + 带权并查集 + 异或性质 or 扩展域并查集 + 离散化)

    小A和小B在玩一个游戏. 首先,小A写了一个由0和1组成的序列S,长度为N. 然后,小B向小A提出了M个问题. 在每个问题中,小B指定两个数 l 和 r,小A回答 S[l~r] 中有奇数个1还是偶数个 ...

  10. 记一次antlr错误:ANTLR Tool version 4.5.3 used for code generation does not match the current runtime version 4.7.2ANTLR

    场景:重构spark 2.1版本的sql语法.因此 需要使用antlr: 前期准备:idea安装了antlr插件(antlr的4.7.2版本) 因此在maven工程中添加了antlr的依赖: < ...