关于 MATLAB 的数学建模算法学习笔记
目录
线性规划中应用:3
非线性规划:3
指派问题 ;投资问题:( 0-1 问题)3
1) 应用 fmincon 命令语句3
2)应用指令函数:bintprog5
重新整理矩阵类型6
1)应用 reshape6
2 ) 应用命令: nonzeros7
非线性的最小值得求法:含有一个变量时,应用命令:fminsearch(@fun,x0)7
含有多个变量时用:fminunc()7
求解非线性多变量等式应用命令fsolve8
二次规划问题应用:quadprog8
把有条件的问题转化成无条件问题。罚函数法:fminunc9
在 Matlab 中求解极值问题函数有:9
1) fminbnd9
1:在 Matlab 中求解距离的函数为:dist9
最小生成树9
prim 算法10
Find 函数的应用10
关于图论的Matlab 工具箱相关命令10
这些命令基本上都用到稀疏阵,产生稀疏阵用sparse命令10
查看网图用view11
积分命令quadl11
Matlab 插值工具箱11
一维插值: interp111
二维插值:11
插值接点为网格节点:interp211
插值节点为散乱节点:griddata11
最小二乘法11
2)应用 lsqlin 命令语句12
三次样条差12
积分函数命令:quadl13
同一组数据用不同插值方法效果比较线性插值、三次样条插值13
参数估计14
1 )非线性最小拟合14
命令: lsqcurvefit 解决非线性拟合问题。14
2)线性最小二乘法15
解微分方程16
1) 求解常微分、线性常微分、齐次与非齐次微分方程等问题16
2) 初值问题的matlab 数值解16
3) 高阶微分方程16
4)边值问题的Matlab 数值解16
多目标规划问题18
解决方案:18
1) 加权系数法。18
2) 优先等级法。18
3) 序贯算法18
4) 应用多目标规划的MATLAB函数 fgoalattain 具体见《数学建模算法与应用》
P13118
5) 多目标规划可以归结为:18
分类问题19
聚类分析: Q 型和 R 型19
用于求元素之间距离的命令:mandist19
去掉非零元命令:nonzeros19
去掉重复的元素命令:union19
Matlab 聚类分析的相关命令19
知识点
线性规划中应用:
1)X=linprog(c,a,b,aeq,beq,zeros(x的个数, 1))用于在限制条
件下的最小值;
X=linprog(-c,a,b,aeq,beq,zeros(x的个数, 1))用于在限制条件
下的最大值;
非线性规划:
1)X=fmincon(fun,X0,A,B,Aeq,Beq,LB,UB,NONLCON,OPTIONS)
指派问题 ;投资问题:(0-1 问题)
1)应用 fmincon 命令语句
Matlab 中非线性规划的数学模型写成以下形式
其中 f ( x) 是标量函数,A, B, Aeq, Beq 是相应维数的矩阵和向量,
C( x), Ceq( x) 是非线性向量函数。
Matlab 中的命令是
X=FMINCON(FUN,X0,A,B,Aeq,Beq,LB,UB,NONLCON,OPTIONS)
它的返回值是向量
x ,其中
FUN
是用
M
文件定义的函数
f ( x)
;
X0
是 x 的初始值;
A,B,Aeq,Beq
定义了线性约束
A * X
B,
Aeq * XBeq ,如果没有线性约束,则 A=[],B=[],Aeq=[],Beq=[] ;
LB 和 UB 是变量 x 的下界和上界,如果上界和下界没有约束,则 LB=[] ,UB=[] ,如果 x 无下界,则 LB 的各分量都为 -inf,如果 x 无上界,则 UB 的各分量都为 inf;NONLCON 是用 M 文件定义的非线性向量函数 C( x), Ceq( x) ;OPTIONS 定义了优化参数,可以使用 Matlab 缺省的参数设置。
例子:
2)应用指令函数: bintprog
重新整理矩阵类型
1)应用 reshape
2 )应用命令:nonzeros
功能是将 a=nonzeros(b)矩阵 b 按列逐次去值放在a 中形成一个列向量。
非线性的最小值得求法:含有一个变量时,应用命
令:fminsearch(@fun,x0)
含有多个变量时用: fminunc()
求解非线性多变量 等式应用命令 fsolve
二次