




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
关于MATLAB的数学建模算法学习笔记目录TOC\o"1-3"\h\u30158线性规划中应用: 32142非线性规划: 36598指派问题;投资问题:(0-1问题) 3285911)应用fmincon命令语句 3243882)应用指令函数:bintprog 519846重新整理矩阵类型 6227651)应用reshape 6196222)应用命令:nonzeros 79825非线性的最小值得求法:含有一个变量时,应用命令:fminsearch(@fun,x0) 722126含有多个变量时用:fminunc() 715038求解非线性多变量等式应用命令fsolve 827604二次规划问题应用:quadprog 819500把有条件的问题转化成无条件问题。罚函数法:fminunc 926442在Matlab中求解极值问题函数有: 9237301)fminbnd 9303751:在Matlab中求解距离的函数为:dist 93822最小生成树 921906prim算法 1019821Find函数的应用 1021499关于图论的Matlab工具箱相关命令 1016801这些命令基本上都用到稀疏阵,产生稀疏阵用sparse命令 1020904查看网图用view 1116346积分命令quadl 1124289Matlab插值工具箱 1114246一维插值:interp1 1129628二维插值: 1129821插值接点为网格节点:interp2 1131391插值节点为散乱节点:griddata 116326最小二乘法 1140772)应用lsqlin命令语句 1219717三次样条差 1210232积分函数命令:quadl 1312571同一组数据用不同插值方法效果比较线性插值、三次样条插值 135552参数估计 14159051)非线性最小拟合 1432685命令:lsqcurvefit解决非线性拟合问题。 1446402)线性最小二乘法 1532374解微分方程 1650131)求解常微分、线性常微分、齐次与非齐次微分方程等问题 16138912)初值问题的matlab数值解 1658303)高阶微分方程 1639774)边值问题的Matlab数值解 1614989多目标规划问题 183335解决方案: 1883761)加权系数法。 18294952)优先等级法。 1815853)序贯算法 18215844)应用多目标规划的MATLAB函数fgoalattain具体见《数学建模算法与应用》P131 1885775)多目标规划可以归结为: 1827955分类问题 198825聚类分析:Q型和R型 1925348用于求元素之间距离的命令:mandist 1917405去掉非零元命令:nonzeros 1911832去掉重复的元素命令:union 1910563Matlab聚类分析的相关命令 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问题)应用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应用命令: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解决单变量非线性函数在区间上的极小值问题。fseminf解决多变量、含有非线性约束的极小值问题。3)fminimax解决多变量,满足在多个式子中极小——极大问题。加一个负号就是解决多个式子中极大——极小值问题。利用梯度求解约束优化问题。1:在Matlab中求解距离的函数为:dist2:Sin()的反函数用asind()表示3:将数据生成txt文本:dlmwrite最小生成树prim算法Find函数的应用1)I=find(A)找出A内的非零元素位置,按列查找。一次写在I中。2)[I,J,K]=find(A)找出A中非零元素的位置,将行标放入I中,将列表放入J中,将数值放入K中,按理寻找。关于图论的Matlab工具箱相关命令这些命令基本上都用到稀疏阵,产生稀疏阵用sparse命令graphallshortestpaths求图中所有顶点之间的最短距离graphconncomp找无向图的连通分支,或有向图的强(弱)连通分支Graphisdag测试所有有向图是否含有圈,不含圈返回1,含圈返回0Graphisomorphism确定连个图是否同构,同构返回1,否则返回0Graphisspantree确定一个图是否是生成树,是返回1,否则返回0Graphmaxflow计算有向图的最大流Graphminspantree在图中找最小生成树Graphpred2path把前驱顶点的一对顶点间的最短距离和嘴短路径Graphtopoorder执行有向无圈图的拓扑排序Graphtraverse求从一顶点出发,所能遍历图中的顶点查看网图用view用法:view(biograph(ST,[],'ShowArrows','off','ShowWeights','on'))其中ST为树。积分命令quadlMatlab插值工具箱一维插值:interp1二维插值:插值接点为网格节点:interp2插值节点为散乱节点:griddata最小二乘法1)2)应用lsqlin命令语句3)三次样条差积分函数命令:quadl同一组数据用不同插值方法效果比较线性插值、三次样条插值例子clc;clear;x0=[035791112131415];y0=[01.21.72.02.12.01.81.21.01.6];x=0:0.1:15;y1=interp1(x0,y0,x);%%线性插值y2=interp1(x0,y0,x,'spline');%%%立方样条插值pp1=csape(x0,y0);y3=ppval(pp1,x);%%边界为一阶导插值pp2=csape(x0,y0,'second');y4=ppval(pp2,x);%%边界为二阶导插值[x',y1',y2',y3',y4'];subplot(1,3,1)plot(x0,y0,'+',x,y1)title('Piecewiselinear')subplot(1,3,2)plot(x0,y0,'+',x,y2)title('Spline1')subplot(1,3,3)plot(x0,y0,'+',x,y3)title('Spline2')dx=diff(x);%%diff为一阶微分dy=diff(y3);dy_dx=dy./dx;dy_dx0=dy_dx(1)%%求13<=x<=15内y的最小值ytemp=y3(131:151);ymin=min(ytemp);index=find(y3==ymin);%%xmin=x(index);[xmin,ymin]holdonplot(xmin,ymin,'ro')参数估计1)非线性最小拟合命令:lsqcurvefit解决非线性拟合问题。人口数学模型的应用:例子:数学建模算法与应用的的6章人口预报模型clc,cleara=textread('data4.txt');%把原始数据保存在纯文本文件data4.txt中x=a([2:2:6],:)';%提出人口数据x=nonzeros(x);%去掉后面的零,并变成列向量t=[1790:10:2000]';t0=t(1);x0=x(1);fun=@(cs,td)cs(1)./(1+(cs(1)/x0-1)*exp(-cs(2)*(td-t0)));%cs(1)=xm,cs(2)=rcs=lsqcurvefit(fun,rand(2,1),t(2:end),x(2:end),zeros(2,1))%%拟合,满足使最小二乘最小的参数csxhat=fun(cs,[t;2010])%预测已知年代和2010年的人口2)线性最小二乘法人口数学模型的应用,例子:1)利用后项查分clc,cleara=textread('data4.txt');%把原始数据保存在纯文本文件data4.txt中x=a([2:2:6],:)';x=nonzeros(x);t=[1790:10:2000]';a=[ones(21,1),-x(2:end)];b=diff(x)./x(2:end)/10;%%时间间隔为10年cs=a\b;r=cs(1),xm=r/cs(2)2)利用前项查分clc,cleara=textread('data4.txt');%把原始数据保存在纯文本文件data4.txt中x=a([2:2:6],:)';x=nonzeros(x);t=[1790:10:2000]';a=[ones(21,1),-x(1:end-1)];b=diff(x)./x(1:end-1)/10;cs=a\b;r=cs(1),xm=r/cs(2)解微分方程求解常微分、线性常微分、齐次与非齐次微分方程等问题用命令:dsolve数学建模算法与应用p112-P114初值问题的matlab数值解用:ode45(采用四五阶龙哥库塔方简称RK方法)、ode23(采用二三阶RK方法)、ode113(采用多步法,效率一般比ode45高)用法:例如:[x,y]=ode45(fun,[a,d],y0)其中fun为定义微分方程,[a,d]为定义区间,y0为初始值,x为在定义区间中采用四五阶龙哥库塔方法取a——d之间的值,y为其求解对应的值。高阶微分方程方法:就是讲高阶微分方程转化为一节微分方程逐级求解,在同一个命令语句里将多同意解的多节微分方程求出。用:ode45、ode15s等命令。用法和2)中有点不同之处为:fun代表的是一次微分方程且为列向量形式。Y0为一次对应的变量的初始值且也是按列向量形式排列。具体实例见《数学建模算法与应用》的P118。4)边值问题的Matlab数值解应用函数:bvp4c%计算数值解以及bvpinit%给出初始猜测解的结构函数。具体用
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小学普法教育
- 物业客服接待流程及礼仪培训
- 客户资金监管协议适用于人民币账户两方协议(2025年版)
- 三年级下册数学教案-第1单元:商是几位数-北师大版
- 三年级下册数学教案-7.5 求一个数的几分之几是多少的简单实际问题 丨苏教版
- 村级项发言材料
- 分香蕉(教学设计)-2024-2025学年二年级上册数学北师大版
- 2023六年级数学上册 七 负数的初步认识教学实录 西师大版
- 康复科护士课件
- 2025年临沧道路运输从业人员资格考试内容有哪些
- 部编版三年级语文下册教学计划(含进度表)
- DB11∕T1082-2024工业γ射线移动探伤治安防范要求
- 2025年常州机电职业技术学院单招职业适应性考试题库及答案1套
- 肺动脉栓塞溶栓治疗个体化方案探讨-深度研究
- 2025年中考英语热点话题预测-哪吒(含答案)
- 【2025新教材】教科版一年级科学下册全册教案【含反思】
- 上海市建设工程施工图设计文件勘察设计质量疑难问题汇编(2024 版)
- 律师执业风险防范研究-深度研究
- 2024年全国职业院校技能大赛中职组(母婴照护赛项)考试题库(含答案)
- 2025年春新人教版语文一年级下册教学课件 语文园地二
- 2025年1月浙江高考英语听力试题真题完整版(含答案+文本+MP3)
评论
0/150
提交评论