《matlab软件与数学建模》由会员分享,可在线阅读,更多相关《matlab软件与数学建模(63页珍藏版)》请在金锄头文库上搜索。
1、MATLAB软件与数学建模,主讲:鲜思东Email:重庆邮电大学,常用数学建模软件,1. MATLAB软件/ Mathematic软件2. LINDO/LINGO软件3. SAS/Spss/Eviews /Stata/Splus&R (统计分析)4. EXCEL软件5. 其他(如CPLEX等),数学建模的基本方法和步骤,基 本 方 法,根据对客观事物特性的认识,找出反映内部机理的数量规律,机理分析,机理分析没有统一的方法,主要通过实例研究(Case Studies)来学习。以下建模主要指机理分析,测试分析,将研究对象看作“黑箱”,通过对量测数据的统计分析,找出与数据拟合最好的模型,二者结合,机
2、理分析建立模型结构,测试分析确定模型参数,数 学 建 模 的 一 般 步 骤,形成一个准比较清晰的问题,了解实际背景,明确建模目的,搜集有关信息,掌握对象特征,数 学 建 模 的 一 般 步 骤,模型假设,在合理与简化之间作出折中,针对问题特点和建模目的,作出合理的、简化的假设,尽量采用简单新颖的数学工具,模型构成,用数学的语言、符号描述问题,发挥想象力,使用类比法,数 学 建 模 的 一 般 步 骤,模型求解,各种数学方法、数学软件和计算机技术,如结果的误差分析、模型对数据的稳定性分析,模型分析,与实际现象、数据比较,检验模型的合理性、适用性,模型检验,模型应用,Matlab与建模基本内容,
3、一、MATLAB简介及基本运算 二、MATLAB图形绘制功能三、MATLAB程序设计 四、用MATLAB进行数值计算五、几类主要模型的MATLAB命令,一、 MatLab简介及基本运算,1、 MATLAB简介 MATLAB (Matrix & Laboratory)是美国MathWorks公司自20世纪80年代中期推出的数学软件,优秀的数值计算能力和卓越的数据可视化能力使其很快在数学软件中脱颖而出。到目前为止,其最高版本7.0版已经推出。随着版本的不断升级,它在数值计算及符号计算功能上得到了进一步完善。MATLAB已经发展成为多学科、多种工作平台的功能强大的大型软件。如今,MATLAB已经成为
4、线性代数、自动控制理论、概率论及数理统计、数字信号处理、时间序列分析、动态系统仿真等高级课程的基本教学工具。,MATLAB具有用法简易、可灵活运用、程式结构强又兼具延展性。以下为其几个特色: 强大的数值计算和工程运算功能先进的资料视觉化功能高阶但简单的程式环境开放及可延伸的架构 丰富的程式工具箱 -面向专门领域的工具箱:小波工具箱、神经网络工具箱、信号处理工具箱、图像处理工具箱、模糊逻辑工具箱、优化工具箱、鲁棒控制工具箱等几十个不同应用的工具箱。,MATLAB 能干什么?,MATLAB可以进行:数学计算、算法开发、数据采集建模、仿真、原型 数据分析、开发和可视化科学和工程图形应用程序的开发,包
5、括图形用户界面的创建。MATLAB广泛应用于:数值计算、图形处理、符号运算、数学建模、系统辨识、小波分析、实时控制、动态仿真等领域。,2、MATLAB界面 包括:命令窗口、图形窗口、编辑窗口、帮助窗口。,3、常用MATLAB系统命令help 在线帮助who 显示当前变量whos 显示当前变量的详细信息clear 清空工作间的变量和函数pack 整理工作间的内存load 把文件调入变量到工作间save 把变量存入文件中echo 命令回显what 显示指定的matlab文件dir 显示目录内容,4、基本数学运算,在MATLAB下进行基本数学运算,只需将运算式直接打在提示号 后面,并按Enter键。
6、MATLAB将计算 的结果以ans显示。【例】求 的算术运算结果。(1)用键盘在MATLAB指令窗中输入以下内容 (12+2*(7-4)/32 (2)在上述表达式输入完成后,按【Enter】键,该就指令被执行。(3)在指令执行后,MATLAB指令窗中将显示以下结果。ans = 2 我们也可给运算式的结果设定一个变量x: x = (5*2+1.3-0.8)*102/25 x = 42 变量x的值可以在下个语句中调用: y= 2*x+1y = 85,变量命名规则:1.变量名的大小写敏感。2.变量的第一个字符必须为英文字母,而且不能超过31个字符。3.变量名可以包含下连字符、数字,但不能为空格符、标
7、点 。注:数值型变量和符号型变量在MATLAB中是不相同的,它们之间不能直接进行转化。MATLAB提供了一个将数值型转化成符号型的命令,即sym(syms)。,系统预定义的变量ans 预设的计算结果的变量名eps MATLAB定义的正的极小值=2.2204e-16pi 内建的值(= 3.1415926.)inf 值,无限大 NaN 无法定义一个数目( ) i 或 j 虚数单位i=j=clear 去除所有定义过的变量名称。,MATLAB提供基本的算术运算有: 加 (+)、减 (-)、乘 (*)、除 (/)、幂次方 (),范例为:5+3, 5-3, 5*3, 5/3, 53,MATLAB书写表达式
8、的规则与“手写算式”差不多相同,但要求所有表达式都是以纯文本形式输入。如果一个指令过长可以在结尾加上.(代表此行指令与下一行连续), 例如: 1*2+3*4+5*6+7*8+9*10+11*12+.13*14+15*16ans =744,MATLAB常用数学函数 三角函数和双曲函数,指数函数,复数函数,其他函数,5、阵列与矩阵 MATLAB的运算事实上是以阵列 (array) 及矩阵 (matrix) 方式在做运算.阵列强调元素对元素的运算,而矩阵则采用线性代数的运算方式. 宣告一变量为阵列或是矩阵时,须用中括号 将元素置于其中。阵列为一维元素所构成,而矩阵为多维元素所组成. 例如: x=1
9、2 3 4 5 6 7 8 ;% 一维 1x8 阵列 【例】简单矩阵的输入步骤。 (1)在键盘上输入下列内容:( 以 ; 区隔各列的元素) A = 1,2,3; 4,5,6; 7,8,9 (2)按【Enter】键,指令被执行。 (3)在指令执行后,MATLAB指令窗中将显示以下结果: A = 1 2 3 4 5 6 7 8 9,阵列的运算符号 除了加减符号外其余的阵列运算符号均须多加 . 符号。 阵列运算功能 (注意:一定要 多加 . 符号) + 加 - 减 .* 乘 ./ 左除 . 右除 . 次方 . 转置 矩阵的几种基本变换操作 (1) 通过在矩阵变量后加的方法来表示转置运算 a=10,2
10、,12;34,2,4;98,34,6; a ans = 10 34 98 2 2 34 12 4 6,(2) 矩阵求逆inv(a)ans = -0.0116 0.0372 -0.0015 0.0176 -0.1047 0.0345 0.0901 -0.0135 -0.0045(3) 矩阵的特征值u,v=eig(a)u = -0.2960 0.3635 -0.3600 -0.2925 -0.4128 0.7886 -0.9093 -0.8352 0.4985v = 48.8395 0 0 0 -19.8451 0 0 0 -10.9943,(4) 取出上三角和下三角triu(a)ans = 10
11、 2 12 0 2 4 0 0 6tril(a)ans = 10 0 0 34 2 0 98 34 6l,u=lu(a)l = 0.1020 0.1500 1.0000 0.3469 1.0000 0 1.0000 0 0u = 98.0000 34.0000 6.0000 0 -9.7959 1.9184 0 0 11.1000,二、MatLab图形绘制功能,基本绘图函数,绘制平面曲线(exp.m),clf, t=0:0.1:3*pi;alpha=0:0.1:3*pi; plot(t,sin(t),r-);hold on; plot(alpha,3*exp(-0.5*alpha),k:);
12、set(gca,fontsize,15,fontname,times New Roman), xlabel(itt(deg);ylabel(itmagnitude);title( itsine wave and itAe-alphaittwave);,text(6,sin(6),fontsize15The Value itsin(t) at itt=6rightarrowbullet, HorizontalAlignment,right),text(2,3*exp(-0.5*2),fontsize15bulletleftarrow The Value of it3e-0.5 itt=,num2
13、str(3*exp(-0.5*2), at itt =2 );legend(itsin(t),itAe-alphat) 注1: num2str: string1 ,num2str,string2,用方括号注2: legend 请结合图形观察此命令的使用,续,三、MatLab程序设计,1、M文件 我们前面所介绍在MATLAB所做的运算,是适合于所要计算的算式不太长或是想以交谈式方式做运算,如果要计算的算式很长有数十行或是须要一再执行的算式,则那样的方式就行不通了。MATLAB提供了所谓的 M-file 的方式,可让使用者自行将指令及算式写成巨集程式然后储存成一个特别的文档,其扩展名是m,譬如 p
14、icture.m,其中的picture就是文件名称。(1)编写M脚本文件的步骤点击MATLAB指令窗工具条上的New File图标 ,就可打开如图所示的MATLAB文件编辑调试器。用户即可在空白窗口中编写程序。,点击编辑调试器工具条图标 ,在弹出的Windows标准风格的“保存为”对话框中,选择保存文件夹,键入新编文件名(如area),点击【保存】键,就完成了文件保存。(2)运行文件使area.m所在目录成为当前目录(系统默认路径),或让该目录处在MATLAB的搜索路径上.然后在指令窗口运行以下指令area 例:,% 新建M-file, area.m % 计算一个球的体积 r = input(Type radius 输入半径:); Area=pi*r2; volume=(4/3)*pi*r3; fprintf(半径 The radius is %12.5fn,r) fprintf(面积 The area of a circle is %12.5fn,Area) fprintf(体积The volume of a sphere is %12.5fn,volume)在指令窗口运行指令 area,