MATLAB数学建模算法学习笔记

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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

最小生成树

相关文档
最新文档