MATLAB数学建模算法学习笔记
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
关于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 * X B, Aeq * X 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
重新整理矩阵类型1)应用reshape
2)应用命令:nonzeros
功能是将a=nonzeros(b)矩阵b按列逐次去值放在a中形成一个列向量。
非线性的最小值得求法:含有一个变量时,应用命令:fminsearch(@fun,x0)
含有多个变量时用:fminunc()
求解非线性多变量等式应用命令fsolve
二次规划问题应用:quadprog
把有条件的问题转化成无条件问题。罚函数法:fminunc 其中:用法[X,Y]=fminunc(‘test3’,rand(1,2))与
[X,Y]=fminunc(@test3,rand(1,2))相同。
缺点:精度不高。
在Matlab中求解极值问题函数有:
1)fminbnd
解决单变量非线性函数在区间上的极小值问题。
3)fseminf
解决多变量、含有非线性约束的极小值问题。
3)fminimax
解决多变量,满足在多个式子中极小——极大问题。
加一个负号就是解决多个式子中极大——极小值问题。4)利用梯度求解约束优化问题。
1:在Matlab中求解距离的函数为:dist
2:Sin()的反函数用asind()表示
3:将数据生成txt文本:dlmwrite
最小生成树