matlab 线性规划_从零开始的matlab学习笔记——(36)线性规划

matlab应用——求极限,求导,求积分,解方程,概率统计,函数绘图,三维图像,拟合函数,动态图,傅里叶变换,随机数,优化问题....更多内容尽在个人专栏:matlab学习

上一节我们说了说怎么用matlab绘制饼图,这一节我们说一说使用matlab解决线性规划问题。

出了一点问题...知友们一定记得要先安装 optimization toolbox(优化工具箱)才能运行linprog等优化函数,不然系统会报错...问题是我不知道为什么总是安装不上,所以这一节我只能给各位说一说linprog函数的相关调用规则,实例暂时就放不了了(大哭)

linprog函数:

linprog函数用于计算matlab中线性规划问题的最小值,注意默认返回的是最小值。

这里的各种参数主要是以矩阵形式输入,其中有几个规则要先说在前面

(1)变量统一用x(n)表示

比如函数中有两个变量x和y,目标函数z=x+2y

那x用x(1)表示,y用x(2)表示

(2)用矩阵表示各参数的系数

比如若目标函数z=x-3y

那定义时z=[1 -3]这样

然后我们再来一个个的说一下linprog函数的调用格式:

整体上:

[x ans]=linprog(f,left,right,leq,req,lb,rb)

1、目标函数

首先我们要定义目标函数f=n1x1+n2x2+...

这里n1,n2都是各参数的系数

比如f=2x+3y

那先替换成f=2x(1)+3x(2)

程序中f=[2 3]

2、输入不等式

比如有不等式组:

我们先把它换成

注意这里都要是小于等于号

输入到程序中:

left=[-1 1;

2 -1]

矩阵的每一行对应每一个不等式,每一行的每一个元素对应每一个变量的系数

right=[1 3]

就是对应不等式右边的每一个元素

3、输入等式

这个比较特殊,就是如果点必须在某条线

比如在这一条

x(1)+3x(2)=2

那leq=[1 3]

req=2

4、输入参数的取值范围

有时候我们还要规定各参数的取值范围

比如

−1≤x(1)≤1.5

−0.5≤x(2)≤1.25.

那么用lb表示下限,rb表示上限

lb=[-1 -0.5]

rb=[1.5 1.25]

4、输出结果

输出结果[x,ans]中

x表示各参数的取值,一个矩阵量

x=[x1,x2,...]

ans表示当各参数满足x矩阵的取值时,目标函数的最小值ans,是一个标量

tips:如果想求最大值,也很好办,就是把上述的所有系数都加个负号,算出最后答案ans之后再加一个负号,这样负负得正,结果返回的就是最大值

这节我们简单说了说怎么使用linprog函数,因为没有optimization toolbox,我们只能简单说一下调用规则,这样后续的内容就先暂定吧,我看看能不能早点得到mathworks公司的反馈把优化工具箱安装好,或者有没有知友知道怎么安装,能在评论区拉我一把(拱手),真的,我现在总是这个样子

5478fe1518201ab03384dadd6fb84b44.png

欢迎喜欢的朋友点赞关注收藏啊:)

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值