数学模型的初步学习(MATLAB)

为了参加数学建模比赛,恶补了一些模型。但是刚开始总是去深挖,结果到比赛的时候还是会很快忘记,所以这次选择只浅显的学习怎么应用这些命令,从而达到更快上手的效果。不在纠结于数学推导。

以下的学习目录,所对应的项目,都有例题,以及代码分析(MATLAB代码)

例如:罚函数法

代码:

test.m

function g=test(x);
M=50000;
f=x(1)^2+x(2)^2+8;
g=f-M*min(x(1),0)-M*min(x(2),0)-M*min(x(1)^2-x(2),0)+ M*abs(-x(1)-x(2)^2+2);
%% 或者是利用Matlab的求矩阵的极小值和极大值函数编写test.m如下:
% function g=test(x); 
% M=50000; 
% f=x(1)^2+x(2)^2+8; 
% g=f-M*sum(min([x';zeros(1,2)]))-M*min(x(1)^2-x(2),0)+ M*abs(-x(1)-x(2)^2+2); 
%% 我们也可以修改罚函数的定义,编写test.m如下:
% function g=test(x);
% M=50000;
% f=x(1)^2+x(2)^2+8;
% g=f-M*min(min(x),0)-M*min(x(1)^2-x(2),0)+M*(-x(1)-x(2)^2+2)^2;

main.m

[x,y]=fminunc('test',rand(2,1)) 

 

运行结果为:

像这样的例子有很多,我都整理到了一个文件夹中:

有需要的话可以加Q2225811680备注CSDN说明来意!

 

 

 

学习目录

  • 线性规划
  1. 可以使用MATLAB里面的linprog命令。
  2. 单纯形法(最优化方法学过)。
  3. 指派问题:匈牙利算法(注意使用条件)。
  4. 对偶线性规划。
  5. 参数线性规划(研究某一参数连续变化时,最优解发生变化的各临界点的值)。
  • 整数规划
  1. 分枝定界法—可求纯或混合整数线性规划。
  2. 割平面法—可求纯或混合整数线性规划。
  3. 隐枚举法—求解“0-1”整数规划。
  1. )过滤隐枚举法
  2. )分枝隐枚举法
  1. 匈牙利法—解决指派问题(“0-1”规划特殊情形)。
  2. 蒙特卡洛法(随机取样法)—求解各种类型规划。
  3. 可以使用MATLAB里面的bintprog命令。(我的MATLAB运行不了)
  • 非线性规划
  1. 可以使用MATLAB中的fmincon命令。

        2.对于无约束问题

  1. 1)一维搜索方法(0.618法,抛物线插值法,三次样条插值,切线法,二分法等)
  2. 2)Fibonacci法
  3. 3)最速下降法
  4. 4)Newton法
  5. 5)变尺度法(DFP)
  6. 6)直接法(Powell)
  7. 7)可以使用MATLAB中的fminsearch、fminunc命令

        3.对于有约束问题(约束极值问题)

  1. 可以使用MATLAB中的quadprog命令(二次规划)
  2. 罚函数法
  3. 使用MATLAB中的fminbnd命令(求单变量非线性函数在区间上的极小值)
  4. 使用MATLAB中的fseminf命令
  5. 使用MATLAB中的fminimax命令(解决目标函数中既有min又有max的问题)
  6. 利用梯度求解约束优化问题
  • 动态规划
  1. 常见的动态规划问题
  1. 最短路线问题(可以用sortestpath命令)
  2. 生产计划问题
  3. 资源分配问题

动态规划问题要根据具体题目进行具体分析,故没有什么具体的算法,

  • 图与网络模型及方法
  1. 常用图与网络解决的问题
  1. 最短路问题(SPP)(Dijkstra算法、Floyd算法)
  2. 公路连接问题
  3. 指派问题
  4. 中国邮递员问题(CPP)
  5. 旅行商问题(TSP)
  6. 运输问题
  7. 最大流问题(Ford-Fulkerson算法)
  • 排队论模型
  1. 输入过程与服务时间的分布
  2. 生灭问题
  3. M/M/S等待制排队模型(单服务台与多服务台模型)
  4. M/M/s/s损失制排队模型
  • 对策论
  • 层次分析法
  1. 层次分析法
  • 插值与拟合
  1. 插值方法
  1. 拉格朗日多项式插值
  2. 牛顿插值
  3. 分段线性插值
  4. Hermite插值多项式
  5. 样条插值
  6. B样条函数插值方法
  7. 二维插值
  1. 曲线拟合的线性最小二乘法
  1. 多项式拟合方法
  2. 最小二乘优化
  1. lsqlin命令
  2. lsqcurvefit命令
  3. lsqnonlin命令
  4. lsqnonneg命令
  1. 曲线拟合与函数逼近
  • 数据的统计描述与分析
  1. 各种分布函数
  2. 各种分析指标(均值,方差,峰度等)
  3. 参数估计
  4. 假设检验
  • 方差分析
  1. 单因素方差分析(MATLAB中有命令)
  2. 多因素方差分析(MATLAB中有命令)
  • 回归分析
  1. 数据的标准化处理
  1. 数据的中心化处理
  2. 数据的无量纲化处理
  3. 标准化处理
  1. 一元线性回归
  1. 最小二乘估计方法
  2. 参数性质分析
  3. 拟合效果分析
  4. 显著性检验
  1. 多元线性回归
  2. 多项式回归
  3. 非线性回归
  4. 逐步回归
  • 微分方程建模
  1. 理想火箭模型
  2. 人口增长模型
  3. 战争模型
  • 稳定状态模型
  1. 再生资源的管理和开发
  • 常微分方程的解法
  1. 常微分方程的离散化
  2. 欧拉方法
  3. 改进的Euler方法
  4. 龙格—库塔方法
  5. 线性多步法
  6. 一阶微分方程组与高阶微分方程的数值解法
  7. 求解常微分方程的通解(dsolve)
  • 差分方程模型
  1. 蛛网模型
  2. 商品销售量预测
  3. 遗传模型
  1. 常染色体遗传模型
  2. 常染色体隐形病模型
  3. X-链遗传模型
  • 马氏链模型
  1. 智力竞赛问题
  2. 信息的传播
  3. 带有反射壁的随机徘徊
  4. 带有吸收壁的随机徘徊
  • 动态优化模型
  1. 变分法
  1. 最速降线问题
  2. 最小旋转面问题
  1. 生产设备的最大经济效益
  • 神经网络模型
  1. BP神经网络算法
  2. 模拟退火算法
  • 偏微分方程的数值解
  1. 偏微分方程的定解问题
  2. 偏微分方程的差分解法

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值