《MATLAB软件及其在数学建模竞赛中的应用.ppt》由会员分享,可在线阅读,更多相关《MATLAB软件及其在数学建模竞赛中的应用.ppt(43页珍藏版)》请在三一办公上搜索。
1、在数学建模活动中一个最大的收益就是思维方式的改变。只要你真正参加过数学建模活动,你便会受益无穷。-,MATLAB软件及其在数学建模竞赛中的应用,东华大学数学系 胡良剑L,数学建模计算,3,计算在建模竞赛中的作用,求解结果发现规律模型验证讨论分析,数学建模竞赛中的计算,问题的分析,修正模型,粗假设,修正算法,结果分析,讨论推广,修正假设,粗模型,粗算法,发现问题,发现规律,模型验证,数学建模计算,5,主要内容,Matlab软件简介 数学建模Matlab算法,MATLABThe Language of Technical Computing软件信息:版本:Version 5.36.5,MATLAB
2、入门,表达式、分号、逗号format复数、字符串变量:规则窗口clearsave和load,数组和矩阵,输入冒号编址(注意:下标不能用0)size,length矩阵运算数组运算关系与逻辑运算数学函数,矩阵运算符,数组运算符,数组运算符:矩阵对应元素的运算A.*BA.k,k.AA.B,A./B,k./A,关系与逻辑运算,大于=大于等于=等于,=不等于&与|或 非,数学函数,sincostancotasinexpsqrt,loglog10 log2roundfixgcdlcm,程序设计,控制流M脚本文件M函数文件函数和inline函数提高速度,控制流,for 循环变量=初值:增量:终值,语句;en
3、dwhile(条件式),语句;endif(条件式),语句;endif(条件式1),语句1;elseif(条件式2),语句2;else,语句;end,例子,M脚本文件,写在编辑器窗口保存于MATLAB路径中注意:文件名用字母开头,不要含减号、空格每次修改后需存盘运行(1)用菜单Run;(2)在命令窗口执行文件主名,M函数文件,与脚本文件类似,区别是(1)总以function开头;(2)一般有输入输出变量;(3)所有变量为局部变量,而脚本文件中所有变量为全程变量;运行:在命令窗口执行文件主名,且需有输入变量值,数学建模计算,18,函数和inline函数,函数inline函数,数学建模计算,19,提
4、高速度,多用内部函数,少用循环语句数组预分配减少中间结果显示,图形,plot(x,y)fplot(fun,a,b)plot3(x,y,z)meshgrid(xa,ya)mesh(x,y,z)contour(x,y,z),例子,y=|x|2cos(x),-1x2 z=xexp(-x2-y2),|x|2,|y|2 图形复制,符号工具箱,特点:解析运算,任意精度数值运算数据类型:符号对象速度慢,数值计算不提倡使用,符号运算函数,symsvpafactorexpandcollectsimplifysubs,limitsymsumdiffintdsolve,在线帮助,helplookfortypecdw
5、hichpath,数学建模计算,25,数学建模中的软件,Matlab Mathematica Maple Lindo Lingo,SAS SPSS C&C+ExcelVB,数学建模计算,26,MATLAB数学建模工具箱,面向参加数学建模竞赛的同学而制作;所有函数使用中文帮助并附例题;汇集了数学建模常用的最优化、微分方程、数据拟合、统计等方面的计算工具;自编重积分、整数规划等补充工具;中国大学生数学建模竞赛部分题解MATLAB程序。东华大学数学系师生制作,数学建模计算,27,安装方法,1.将mathmodl03.zip解压缩至matlab的toolbox目录;2.启动Matlab,利用file菜
6、单set path将mathmodl目录增至path中,放在最前面,并保存设置;3.现在mathmodl已成为一个普通的工具箱了。安装后用help mathmodl查看内容或用直接用mathmodl启动教程,数学建模计算,28,数学建模MATLAB算法,方程求根微积分和微分方程随机模拟和统计分析数据拟合最优化方法离散最优化,数学建模计算,29,方程求根,-矩阵除法 inv-逆矩阵eig-特征值和特征向量 roots-多项式的根fzero-一元函数零点fsolve-非线性方程组solve-符号方程解,数学建模计算,30,例题,例 非线性方程组4x-y+ex/10=1;-x+4y+x2/8=0见h
7、elp fsolve,数学建模计算,31,微积分和微分方程,diff-符号导函数trapz-梯形积分法quadl-高精度数值积分int-符号积分ode45-常微分方程dsolve-符号微分方程,数学建模计算,32,导弹追踪问题的三种算法,问题及模型算法一:在线算法。灵活,易调整参数,但实时性差。eg6_8a算法二:离线算法。事先算好,实时查询。eg6_8b算法三:计算机模拟。一个较基本但形象的方法。eg6_8c(90,450,30,0.3*pi,0.1),数学建模计算,33,随机模拟和统计分析,max,min,summean,std-均值,标准差sort-排序(升序)sortrows-按某一列
8、排序(升序)rand-0,1区间均匀分布随机数randn-标准正态分布随机数normrnd-正态分布随机数randperm-1.n 随机排列regress-线性回归,数学建模计算,34,97A 零件参数设计,随机模拟详见胡良剑数学实验P87eg6_1,数学建模计算,35,数据拟合,interp1-一元函数插值spline-样条插值lsqnonlin-最小二乘法polyfit-多项式插值或拟合 lsqcurvefit-曲线拟合caspe,casps-样条插值,样条拟合interp2-二元函数插值griddata-不规则数据的二元函数插值,数学建模计算,36,美86A:海底测量,不规则数据插值详见
9、胡良剑数学实验P128eg8_3,数学建模计算,37,最优化方法,linprog-线性规划 fminbnd-一元函数极值 fminsearch-多元函数极值 fmincon-非线性规划 quadprog-二次规划,数学建模计算,38,98A:投资的收益与风险,jm98a1,数学建模计算,39,95A:飞行管理,jm95a,数学建模计算,40,97b节水洗衣机,jm97a,数学建模计算,41,离散优化(自编),lpint-线性整数规划分支定界法L01p_e-0-1整数规划枚举法L01p_ie-0-1整数规划隐枚举法bnb18-非线性整数规划mintreek-最小生成树kruskal算法minroute-最短路dijkstra算法dynprog-动态规划,数学建模计算,42,00B:钢管订购,jm00B1,数学建模计算,43,参考资料,胡良剑等,数学实验使用Matlab,2002,上海科学技术出版社胡良剑等,数学建模实验,2004,高等教育出版社 中文科技期刊数据库,