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


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学习(七)求解优化问题:线性规划 非线性规划 拟合与插值 多目标规划的更多相关文章
- matlab学习之求解函数的根和极小值
只是用来求解函数的部分一个根,具体算法没查询,只是调用自带的函数 代码如下 % 求函数零点和极小值 xiszero=func(0) x=-1:0.1:1.5; y=func(x); plot(x,y) ...
- yalmip + lpsolve + matlab 求解混合整数线性规划问题(MIP/MILP)
最近建立了一个网络流模型,是一个混合整数线性规划问题(模型中既有连续变量,又有整型变量).当要求解此模型的时候,发现matlab优化工具箱竟没有自带的可以求解这类问题的算法(只有bintprog求解器 ...
- matlab学习笔记 bsxfun函数
matlab学习笔记 bsxfun函数 最近总是遇到 bsxfun这个函数,前几次因为无关紧要只是大概看了一下函数体去对比结果,今天再一次遇见了这个函数,想想还是有必要掌握的,遂查了些资料总结如下. ...
- Matlab学习笔记 figure函数
Matlab学习笔记 figure函数 matlab中的 figure 命令,能够创建一个用来显示图形输出的一个窗口对象.每一个这样的窗口都有一些属性,例如窗口的尺寸.位置,等等.下面一一介绍它们. ...
- 【转】MyBatis学习总结(三)——优化MyBatis配置文件中的配置
[转]MyBatis学习总结(三)——优化MyBatis配置文件中的配置 一.连接数据库的配置单独放在一个properties文件中 之前,我们是直接将数据库的连接配置信息写在了MyBatis的con ...
- matlab学习笔记(一)单元数组
matlab学习笔记(一)单元数组 1.floor(x) :取最小的整数 floor(3.18)=3,floor(3.98)=3 ceil(x) :取最大的整数 ceil(3.18)=4,ceil( ...
- 如何学习Linux性能优化?
如何学习Linux性能优化? 你是否也曾跟我一样,看了很多书.学了很多 Linux 性能工具,但在面对 Linux 性能问题时,还是束手无策?实际上,性能分析和优化始终是大多数软件工程师的一个痛点.但 ...
- MyBatis学习七:spring和MyBatis整合
<\mybatis\day02\16mybatis和spring整合-sqlSessionFactory配置.avi;> MyBatis学习七:spring和MyBatis整合.逆向工程 ...
- SVG 学习<七> SVG的路径——path(1)直线命令、弧线命令
目录 SVG 学习<一>基础图形及线段 SVG 学习<二>进阶 SVG世界,视野,视窗 stroke属性 svg分组 SVG 学习<三>渐变 SVG 学习<四 ...
随机推荐
- Golang等待一组协程结束
1. 利用waitgroup import ( "log" "sync" "sync/atomic" "time" ) ...
- String类-StringBuffer类-StringBuilder类的比较
package LC20130929; /** * 字符串处理类: StringBuffer ~~ StringBuilder 〉〉 String 效果一样但是,性能却大不一样! ...
- VS---《在VS2010中 使用C++创建和使用DLL》(002)
VS---<在VS2010中 使用C++创建和使用DLL>(002) 前面初认识了创建和调用DLL,在VS工程下可以通过在 同一工程.不同工程 下创建和调用DLL.现在,同一工程下创建和调 ...
- 6.caffe:create_txt.sh(数据预处理成txt文本文件)
#!/usr/bin/env sh DATA=/home/wp/CAFFE/caffe-master/myself/00b MY=/home/wp/CAFFE/caffe-master/myself/ ...
- Pc贪吃蛇
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- windows下通过批处理脚本启动redis
三种启动方式的特点: 第一种方式 :根目录之命令窗口启动 特点:每次启动都要进入到redis的根目录,比较繁琐,并且占用一个窗口 第二种方式:bat脚本便捷启动 特点:可放在桌面便捷启动,占用窗口 第 ...
- Binary Search-使用二叉搜索树
终于到二叉树了,每次面试时最担心面试官问题这块的算法问题,所以接下来就要好好攻克它~ 关于二叉树的定义网上一大堆,这篇做为二叉树的开端,先了解一下基本概念,直接从网上抄袭: 先了解下树的概念,bala ...
- P2172 [国家集训队]部落战争 二分图最小不相交路径覆盖
二分图最小不相交路径覆盖 #include<bits/stdc++.h> using namespace std; ; ; ; ], nxt[MAXM << ], f[MAXM ...
- 基于Ajax技术的前后端Json数据交互方式实现
前言 使用浏览器访问网站是日常生活中必不可少的一件事情,当我们在浏览器地址栏中输入网址后会看到网站的内容,那么这个过程中发生了什么?下面简单介绍下浏览器访问网站过程. 第一步:浏览器向DNS服务器发起 ...
- Clone failed: Could not read from remote repository
问题: 使用idea下载项目代码时报错,内容如下: Clone failed: Could not read from remote repository 解决方案: 把 SSH切换成 HTTP重新c ...