关于MATLAB的数学建模算法学习笔记
目录
线性规划中应用: ........................................................................................................................... 3 非线性规划: ................................................................................................................................... 3 指派问题;投资问题:(0-1问题) ................................................................................................. 3
1) 应用fmincon命令语句 ................................................................................................... 3 2)应用指令函数:bintprog ................................................................................................... 5 重新整理矩阵类型 ........................................................................................................................... 6
1)应用reshape ....................................................................................................................... 6 2) 应用命令:nonzeros ................................................................................................... 7 非线性的最小值得求法:含有一个变量时,应用命令:fminsearch(@fun,x0) ............................ 7 含有多个变量时用:fminunc() ....................................................................................................... 7 求解非线性多变量等式应用命令fsolve ........................................................................................ 8 二次规划问题应用:quadprog ........................................................................................................ 8 把有条件的问题转化成无条件问题。罚函数法:fminunc .......................................................... 9 在Matlab中求解极值问题函数有: ............................................................................................. 9
1)fminbnd ............................................................................................................................... 9 1:在Matlab中求解距离的函数为:dist ...................................................................................... 9 最小生成树....................................................................................................................................... 9
prim算法 ................................................................................................................................ 10 Find函数的应用 ............................................................................................................................ 10 关于图论的Matlab工具箱相关命令 ........................................................................................... 10 这些命令基本上都用到稀疏阵,产生稀疏阵用sparse命令 ........................................................ 10 查看网图用view ............................................................................................................................ 11 积分命令quadl ............................................................................................................................... 11 Matlab插值工具箱 ........................................................................................................................ 11
一维插值:interp1 ................................................................................................................. 11 二维插值: ............................................................................................................................. 11
插值接点为网格节点:interp2 ..................................................................................... 11 插值节点为散乱节点:griddata .................................................................................... 11
最小二乘法..................................................................................................................................... 11
2)应用lsqlin命令语句 ........................................................................................................ 12 三次样条差..................................................................................................................................... 12 积分函数命令 :quadl ........................................................................................................... 13 同一组数据用不同插值方法效果比较 线性插值、三次样条插值 ..................................... 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具体见《数学建模算法与应用》P131 ................................................................................................................................ 18 5) 多目标规划可以归结为: ..................................................................................... 18
分类问题......................................................................................................................................... 19
聚类分析:Q型和R型 ........................................................................................................ 19
用于求元素之间距离的命令:mandist ........................................................................ 19
去掉非零元命令:nonzeros...................................................................................................... 19 去掉重复的元素命令:union ........................................................................................................ 19 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 * XAeq * X
B,
Beq ,如果没有线性约束,则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