蒟蒻的matlab实战笔记(更新中)


Matlab 实战笔记

写在前面

暑假为了参加国赛学习了matlab(白给的可能性比较大毕竟第一次参加比赛还撞上开学考试),看了也快有半月多一点了,之前基本上就是看书,会了点线性规划图论微分方程积分等等,然而实践出真知,具体问题还得具体分析。于是从今天起开始对着那本黄书上的案例(数学建模算法与应用)大致复现一遍,顺便做些课后题目,希望能有所收获(事实证明这玩意突然就实战真的能把人搞自闭,走一步是一步),并且配合excel(用这个画图或者进行曲线拟合)进行。

​ 需要:

  • Matlab2018b
  • 《数学建模算法与应用》
  • 《matlab从入门到精通》
  • 交流群嫖来的代码
  • CSDN解答

​ 那么现在就开始叭

DAY 1 线性规划/整数规划/非线性规划

线性规划

linprog函数

linprog是求解线性规划的重要函数

求解线性规划的函数:

求解所用的linprog函数

关于lingprog的一些注意事项:

  • 求解结果是线性最小值当求最大值时一定要把系数为负!!!

    • f是多元一次线性式的系数(当未知数矩阵是行矩阵,注意是列矩阵)同时这要求当求max时对应y变为负

    • A是不等式的系数矩阵

    • b是不等式的常数项矩阵

    • 要求不等式是小于等于关系大于等于关系时时对应系数变为负数转换成小于等于

    • Aeq和beq是等式约束;

    • lb是各变量下限,要求为列矩阵,ub是上限也是列矩阵;

    • 当无某一项约束时,用空矩阵[]代替

      以下为代码案例

      >> clear all
      >> f=[2;3;1];
      >> a=[1,4,2;3,2,0];
      >> a=[-1,-4,-2;-3,-2,0];
      >> b=[-8;-6];
      >> [x,y]=linprog(f,a,b,[],[],zeros(3,1));
      
      Optimal solution found.//说明运行成功
      
      >> x,y
      
      x =
      
         2.0000
              0
         3.0000
      
      

y =

    7

```

注意

编写函数要:

  • 文件名要和函数名字一样;
  • 函数要以end结尾;
  • 工程文件要和函数文件在同一个文件夹下

整数规划

intlinprog

​ 这是解整数规划的函数使用方法和linprog一样;

intlinprog

不同的是,整数规划多了限制参数;

非线性整数规划

当你线性规划用多项式的时候

​ 很显然,多了函数入口;

​ 使用方法:

使用示例

注意函数名要加单引号;

day2约束问题/图论

也就是图论开始,我意识到我作为编程手做的最大也就是嫖到算法和函数后套上模型罢了

只有离散只考了人均水平的垃圾硬看算法看了半天愣是看不出什么所以然,然而事实证明还是matlab的强大的,有现成的图论工具箱,往上套就可以了。


文章作者: 晓沐
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 晓沐 !
评论
 上一篇
matlab基础使用(更新中) matlab基础使用(更新中)
Matlab基础使用写在前面和之前那篇不同的是,这篇文章记录了matlab基础使用的方法,总共也就那么几个部分 向量运算 多项式运算 矩阵运算 符号运算 数列求和与函数极限与导数操作 函数积分 方程求解 微分方程//曲线方程 拟合插值(这
2020-08-15
下一篇 
这是一篇关于创建博客的吐槽(持续更新中) 这是一篇关于创建博客的吐槽(持续更新中)
这是一篇关于创建博客的吐槽​ 搭了自己第一个博客,过程也算顺利,但还是有不少想吐槽的。 ​ 对了,右下角是音乐设置,嫌吵可以调小或者关掉。 关于github​ 用github部署的麻烦也不少: 速度慢​ 首先是速度,
2020-08-13
  目录