数学建模基础教程.doc
《数学建模基础教程.doc》由会员分享,可在线阅读,更多相关《数学建模基础教程.doc(46页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、MATLAB软 件 基 础1MATLAB 概述MATLAB 是MATrix LABoratory(“矩阵实验室)的缩写,是由美国MathWorks 公司开发的集数值计算、符号计算和图形可视化三大基本功能于一体的,功能强大、操作简单的语言。是国际公认的优秀数学应用软件之一。20世纪80年代初期,Cleve Moler与John Little等利用C语言开发了新一代的MATLAB语言,此时的MATLAB语言已同时具备了数值计算功能和简单的图形处理功能.1984年,Cleve Moler与John Little等正式成立了Mathworks公司,把MATLAB语言推向市场,并开始了对MATLAB工具
2、箱等的开发设计。1993年,Mathworks公司推出了基于个人计算机的MATLAB 4。0版本,到了1997年又推出了MATLAB 5.X版本(Release 11),并在2000年又推出了最新的MATLAB 6版本(Release 12)。现在,MATLAB已经发展成为适合多学科的大型软件,在世界各高校,MATLAB已经成为线性代数、数值分析、数理统计、优化方法、自动控制、数字信号处理、动态系统仿真等高级课程的基本教学工具。特别是最近几年,MATLAB在我国大学生数学建模竞赛中的应用,为参赛者在有限的时间内准确、有效的解决问题提供了有力的保证.2 MATLAB的安装与启动2.1 MATLA
3、B的安装要用MATLAB 6,首先必须在计算机上安装MATLAB 6应用软件,随着软件功能的不断完善,MATLAB对计算机系统配置的要求越来越高。下面给出安装和运行MATLAB 6 所需要的计算机系统配置。 MATLAB 6对硬件的要求CPU要求:Pentium II、Pentium III、AMD Athlon或者更高;光驱:8倍速以上;内存:至少64MB,但推荐128MB以上;硬盘:视安装方式不同要求不统一,但至少留1GB用于安装(安装后未必有1GB);显卡:8位; MATLAB 6对软件的要求Windows95 、Window98、Windows NT或Windows2000;Word9
4、7或word2000等,用于使用MATLAB Notebook;Adobe Acrobat Reader 用于阅读MATLAB的PDF的帮助信息。MATLAB 6的安装和其它应用软件类似,可按照安装向导进行安装,这里不再赘述。2。2 MATLAB的启动和退出与常规的应用软件相同,MATLAB的启动也有多种方式,首先常用的方法就是双击桌面的MATLAB图标,也可以在开始菜单的程序选项中选择MATLAB组件中的快捷方式,当然也可以在MATLAB的安装路径的子目录中选择可执行文件“MATLAB.exe”. 启动MATLAB后,将打开一个MATLAB的欢迎界面,随后打开MATLAB的桌面系统(Desk
5、top)如图2-1所示.图2-1 MATLAB的桌面系统3 MATLAB的开发环境MATLAB的开发环境就是在使用MATLAB的过程中可激活的,并且为用户使用提供支持的集成系统。这里介绍几个比较重要的如:桌面平台系统、帮助系统和数据交换系统。3。1 MATLAB桌面平台桌面平台是各桌面组件的展示平台,默认设置情况下的桌面平台包括6个窗口,具体如下:3。1.1 MATLAB主窗口MATLAB6比早期版本增加了一个主窗口.该窗口不能进行任何计算任务的操作,只用来进行一些整体的环境参数的设置。3.1.2 命令窗口(Command Window)命令窗口是对MATLAB进行操作的主要载体,默认的情况下
6、,启动MATLAB时就会打开命令窗口,显示形式如图11所示。一般来说,MATLAB的所有函数和命令都可以在命令窗口中执行。在MATLAB命令窗口中,命令的实现不仅可以由菜单操作来实现,也可以由命令行操作来执行,下面就详细介绍MALTAB命令行操作。实际上,掌握MALAB命令行操作是走入MATLAB世界的第一步,命令行操作实现了对程序设计而言简单而又重要的人机交互,通过对命令行操作,避免了编程序的麻烦,体现了MATLAB所特有的灵活性。1。 命令窗口的作用命令窗口用于输入命令和显示计算结果。2。 命令行的输入规则 一个命令行输入一条命令,命令行以回车结束。 一个命令行也可以输入若干条命令,各命令
7、之间以逗号分隔,若前一命令后带有分号,则逗号可以省略。 如果一个命令行很长,要加续行符(三个小黑点)。3。 命令行的编辑4. 常用操作系统命令例如:在命令窗口中输入sin(pi/5),然后单击回车键,则会得到该表达式的值sin(pi/5)ans=0.5878由例可以看出,为求得表达式的值,只需按照MALAB语言规则将表达式输入即可,结果会自动返回,而不必像其他的程序设计语言那样,编制冗长的程序来执行。当需要处理相当繁琐的计算时,可能在一行之内无法写完表达式,可以换行表示,此时需要使用续行符“”否则MATLAB将只计算一行的值,而不理会该行是否已输入完毕。例如:sin(1/9pi)+sin(2/
8、9pi)+sin(3/9pi)+sin(4/9pi)+sin(5/9pi)+sin(6/9pi)+sin(7/9pi)+sin(8/9pi)+sin(9/9*pi)+ans=5。6713使用续行符之后MATLAB会自动将前一行保留而不加以计算,并与下一行衔接,等待完整输入后再计算整个输入的结果。在MATLAB命令行操作中,有一些键盘按键可以提供特殊而方便的编辑操作.比如:“”可用于调出前一个命令行,“”可调出后一个命令行,避免了重新输入的麻烦。当然下面即将讲到的历史窗口也具有此功能。3。1。3 历史窗口(Command History)历史命令窗口是MATLAB6新增添的一个用户界面窗口,默认
9、设置下历史命令窗口会保留自安装时起所有命令的历史记录,并标明使用时间,以方便使用者的查询.而且双击某一行命令,即在命令窗口中执行该命令。3.1.4 发行说明书窗口(Launch Pad)发行说明书窗口是MATLAB6所特有的,用来说明用户所拥有的Mathworks公司产品的工具包、演示以及帮助信息。当选中该窗口中的某个组件之后,可以打开相应的窗口工具包。3.1。5 当前目录窗口(Current Directory )在当前目录窗口中可显示或改变当前目录,还可以显示当前目录下的文件,包括文件名、文件类型、最后修改时间以及该文件的说明信息等并提供搜索功能。3。1.6 工作空间管理窗口(Worksp
10、ace)工作空间管理窗口是MATLAB的重要组成部分。在工作空间管理窗口中将显示所有目前保存在内存中的MATLAB变量的变量名、数据结构、字节数以及类型,而不同的变量类型分别对应不同的变量名图标。3.2 MATLAB帮助系统完善的帮助系统是任何应用软件必要的组成部分。MATLAB提供了相当丰富的帮助信息,同时也提供了获得帮助的方法。首先,可以通过桌面平台的【Help】菜单来获得帮助,也可以通过工具栏的帮助选项获得帮助。此外,MATLAB也提供了在命令窗口中的获得帮助的多种方法,在命令窗口中获得MATLAB帮助的命令。3.3MATLAB功能演示例1.1 求解线性方程组命令如下: a=2,3,1;
11、8,2,3;45,3,9; b=2;4;23; x=inv(a)*b例1.2 绘制正弦曲线和余弦曲线.命令如下: x=0:0.5:360pi/180; plot(x,sin(x),x,cos(x) ;例1.3 输入10个学生的成绩并对成绩按升序排序。在MATLAB命令窗口输入: g=input(请输入学生成绩:); g=sort(g)例1.4 设有常微分方程初值问题,试求其数值解,并与精确解相比较。 (1)建立函数文件funt.m: function yp=funt(t,y) yp=(y2-t-2)/4/(t+1); (2)求解微分方程: t0=0;tf=10;y0=2; t,y=ode23(
12、funt,t0,tf,y0); y1=sqrt(t+1)+1; t4MATLAB数值计算功能MATLAB强大的数值计算功能使其在诸多数学计算软件中傲视群雄,是MATLAB软件的基础。本节将简要介绍MATLAB的数据类型、矩阵的建立及运算.4.1 MATLAB 数据类型MATLAB数据类型v 数值数据:双精度型、单精度数、带符号整数和无符号整数。v 字符数据。v 结构(Structure)和单元(Cell)。多维矩阵和稀疏矩阵(Sparse)。4.1。1 变量与常量变量是任何程序设计语言的基本要素之一,MATLAB语言当然也不例外.与常规的程序设计语言不同的MATLAB并不要求事先对所使用的变量
13、进行声明,也不需要指定变量类型,MATLAB语言会自动依据所赋予变量的值或对变量所进行的操作来识别变量的类型。在赋值过程中如果赋值变量已存在时,MATLAB语言将使用新值代替旧值,并以新值类型代替旧值类型。在MATLAB语言中变量的命名应遵循如下规则:(1)变量名区分大小写。(2)变量名长度不超31位,第31个字符之后的字符将被MATLAB语言所忽略。(3)变量名以字母开头,可以是字母、数字、下划线组成,但不能使用标点。MATLAB语言本身也具有一些预定义的变量,这些特殊的变量称为常量。表4-1给出了MATLAB语言中经常使用的一些常量值。表4-1 常 量 表 示 数 值pi圆周率eps浮点运
14、算的相对精度inf正无穷大NaN表示不定值realmax最大的浮点数 i, j虚数单位在MATLAB语言中,定义变量时应避免与常量名重复,以防改变这些常量的值,如果已改变了某外常量的值,可以通过“clear+常量名”命令恢复该常量的初始设定值(当然,也可通过重新启动MATLAB系统来恢复这些常量值)。4.1。2 数字变量的运算及显示格式MALAB是以矩阵为基本运算单元的,而构成数值矩阵的基本单元是数字.为了更好地学习和掌握矩阵的运算,首先对数字的基本知识作简单的介绍。对于简单的数字运算,可以直接在命令窗口中以平常惯用的形式输入,如计算2和3的乘积再加1时,可以直接输入: 1+2*3ans=7这
15、里“ans”是指当前的计算结果,若计算时用户没有对表达式设定变量,系统就自动赋当前结果给“ans”变量.用户也可以输入: a=1+23a=7此时系统就把计算结果赋给指定的变量a了.数据的输出格式MATLAB语言中数值有多种显示形式,在缺省情况下,若数据为整数,则就以整数表示;若数据为实数,则以保留小数点后4位的精度近似表示。MATLAB语言提供了10种数据显示格式,常用的有下述几种格式:short 小数点后4位(系统默认值)long 小数点后14位short e 5位指数形式long e 15位指数形式MATLAB语言还提供了复数的表达和运算功能.在MATLAB语言中,复数的基本单位表示为i或
16、j。在表达简单数数值时虚部的数值与i、j之间可以不使用乘号,但是如果是表达式,则必须使用乘号以识别虚部符号。4.1.3赋值语句MATLAB赋值语句有两种格式:(1) 变量=表达式(2) 表达式 一般地,运算结果在命令窗口中显示出来.如果在语句的最后加分号,那么,MATLAB仅仅执行赋值操作,不再显示运算的结果。 在MATLAB语句后面可以加上注释,注释以开头,后面是注释的内容.例2。1 计算表达式的值,并将结果赋给变量x,然后显示出结果。在MATLAB命令窗口输入命令: x=(5+cos(47*pi/180))/(1+sqrt(7)-2*i) 计算表达式的值4.2 矩阵及其运算矩阵是MATLA
17、B数据存储的基本单元,而矩阵的运算是MATLAB语言的核心,在MATLAB语言系统中几乎一切运算均是以对矩阵的操作为基础的。下面重点介绍矩阵的生成、矩阵的基本运算和矩阵的数组运算。4.2.1 矩阵的生成1. 直接输入法从键盘上直接输入矩阵是最方便、最常用的创建数值矩阵的方法,尤其适合较小的简单矩阵.在用此方法创建矩阵时,应当注意以下几点: 输入矩阵时要以“ ”为其标识符号,矩阵的所有元素必须都在括号内。 矩阵同行元素之间由空格或逗号分隔,行与行之间用分号或回车键分隔。 矩阵大小不需要预先定义。 矩阵元素可以是运算表达式。 若“ ”中无元素表示空矩阵。 2. 利用M文件建立矩阵对于比较大且比较复
18、杂的矩阵,可以为它专门建立一个M文件。例2.2 利用M文件建立MYMAT矩阵。 (1)启动有关编辑程序或MATLAB文本编辑器,并输入待建矩阵. (2)把输入的内容以纯文本方式存盘(设文件名为mymatrix。m)。 (3)运行该M文件,就会自动建立一个名为MYMAT的矩阵,可供以后使用。3. 利用MATLAB函数建立矩阵常用的有下面几个:zeros(m) 生成m阶全0矩阵eye(m) 生成m阶单位矩阵ones(m) 生成m阶全1矩阵rand(m) 生成m阶均匀分布的随机阵 randn(m) 生成m阶正态分布的随机矩阵 这几个函数的调用格式相似,下面以产生零矩阵的zeros函数为例进行说明.其
19、调用格式是: zeros(m) 产生mm零矩阵 zeros(m,n) 产生mn零矩阵。 zeros(size(A)) 产生与矩阵A同样大小的零矩阵 相关的函数有:length(A)给出行数和列数中的较大者,即length(A)=max(size(A));ndims(A)给出A的维数.例2。3 分别建立33、32和与矩阵A同样大小的零矩阵。(1)建立一个33零矩阵:zeros(3)(2)建立一个32零矩阵:zeros(3,2)(3)建立与矩阵A同样大小零矩阵:zeros(size(A))此外,常用的函数还有reshape(A,m,n),它在矩阵总元素保持不变的前提下,将矩阵A重新排成mn的二维矩
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数学 建模 基础教程
限制150内