《数学建模简明教程》课件第9章.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《《数学建模简明教程》课件第9章.ppt》由用户(momomo)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数学建模简明教程 数学 建模 简明 教程 课件
- 资源描述:
-
1、1 1第九章 MATLAB软件简介9.1 MATLAB操作基础操作基础9.2 MATLAB程序设计基础程序设计基础9.3 MATLAB科学绘图科学绘图9.4 常见方程求解问题的常见方程求解问题的MATLAB实现实现9.5 概率统计基础的概率统计基础的MATLAB实现实现2 2 MATLAB软件是一种功能强大,运算效率很高的数字工具软件,全称是MatrixLaboratory.最初它是一种专门用于矩阵运算的软件,经过多年的发展,MATLAB已经发展为一种功能全面的软件,几乎可以解决科学计算中的所有问题.矩阵和数组是MATLAB的核心,因为MATLAB的所有数据都是以数组来表示和储存的.除了常用的
2、矩阵代数运算值外,MATLAB软件还提供了非常广泛和灵活的用于处理数据集的数组运算功能.另外,MATLAB除了对矩阵提供了强大的处理能力外,还具有与其他高级语言相似的编辑特性.同时它还可以与Fortran和C语言混合编程,进一步扩展了它的功能.在图形可视化方面,3 3MATLAB提供了图形用户界面(GUI),使得用户可以进行可视化编程.因此,MATLAB是一种将数据结构、编程特性以及图形用户界面完美结合到一起的软件.4 49.1.1 MATLAB概述概述1.MATLAB的主要功能1)数值计算和符号计算功能MATLAB以矩阵作为数据操作的基本单位,还提供了十分丰富的数值计算函数.MATLAB和著
3、名的符号计算语言Maple相结合,使得MATLAB具有符号计算功能.9.1 MATLAB操作基础操作基础5 52)绘图功能MATLAB提供了两个层次的绘图操作:一种是对图形句柄进行的低层绘图操作,另一种是建立在低层绘图操作之上的高层绘图操作.6 63)编程语言MATLAB具有程序结构控制、函数调用、数据结构、输入输出、面向对象等程序语言特征,而且简单易学、编程效率高.4)MATLAB工具箱MATLAB包含两部分内容:基本部分和各种可选的工具箱.MATLAB工具箱分为两大类:功能性工具箱和学科性工具箱.7 72.MATLAB工作界面(1)MATLAB的启动界面:当MATLAB启动时,展现在屏幕上
4、的界面为MATLAB的默认界面,它有四个窗口,分别是命令窗口、工作空间窗口、帮助窗口和历史窗口,如图9-1所示(有的窗口未展开).8 8图 9-19 9(2)MATLAB系统的退出:要退出MATLAB系统,有3种常见方法:()在MATLAB主窗口的File菜单中选择ExitMATLAB命令.()在MATLAB命令窗口中输入Exit或Quit命令.()单击MATLAB主窗口的“关闭”按钮.10 103.主窗口主窗口MATLAB主窗口是MATLAB的主要工作界面.主窗口除了嵌入一些子窗口外,还主要包括菜单栏和工具栏,和Windows的主窗口类似,其操作方法也基本相同.1)菜单栏在MATLAB6.5
5、主窗口的菜单栏,共计包含有File、Edit、View、Web、Window和Help6个菜单项.File菜单项:实现有关文件的操作.Edit菜单项:用于命令窗口的编辑操作.View菜单项:用于设置MATLAB集成环境的显示方式.Web菜单项:用于设置MATLAB的Web操作.11 11Window菜单项:只包含一个子菜单Closeall,用于关闭所有打开的编辑器窗口,包括Mfile、Figure、Model和GUI窗口.Help菜单项:用于提供帮助信息.12 122)工具栏MATLAB6.5主窗口的工具栏共提供了10个命令按钮.这些命令按钮均有对应的菜单命令,但比菜单命令使用起来更快捷、方便
6、.13 133)命令窗口命令窗口是MATLAB的主要交互窗口,用于输入命令并显示除图形以外的所有执行结果.MATLAB命令窗口中的“”为命令提示符,表示MATLAB正处于准备状态.在命令提示符后键入命令并按下回车键后,MATLAB就会解释执行所输入的命令,并在命令后面给出计算结果.如果一个命令行很长,一个物理行之内写不下,可以在第一个物理行之后加上3个小黑点并按下回车键,然后接着下一个物理行继续写命令的其他部分.3个小黑点称为续行符,即把下面的物理行看做该行的逻辑继续.在MATLAB里,有很多的控制键和方向键可用于命令行的编辑.14 144)工作空间窗口工作空间是MATLAB用于存储各种变量和
7、结果的内存空间.在该窗口中显示了工作空间中所有变量的名称、大小、字节数和变量类型说明,可对变量进行观察、编辑、保存和删除.15 155)当前目录窗口和搜索路径(1)当前目录窗口。当前目录是指MATLAB运行文件时的工作目录,只有在当前目录或搜索路径下的文件、函数可以被运行或调用.在当前目录窗口中可以显示或改变当前目录,还可以显示当前目录下的文件并提供搜索功能.将用户目录设置成当前目录时也可使用cd命令.例如,将用户目录c:mydir设置为当前目录,可在命令窗口输入命令:cdc:mydir16 16(2)MATLAB的搜索路径:当用户在MATLAB命令窗口输入一条命令后,MATLAB按照一定次序
8、寻找相关的文件.基本的搜索过程是:()检查该命令是不是一个变量.()检查该命令是不是一个内部函数.()检查该命令是否为当前目录下的M文件.()检查该命令是否为MATLAB搜索路径中其他目录下的M文件.17 179.1.2 MATLAB帮助系统帮助系统1.帮助窗口帮助窗口可以通过以下3种方法进入帮助窗口:()单击MATLAB主窗口工具栏中的Help按钮.()在命令窗口中输入helpwin、helpdesk或doc.()选择Help菜单中的“MATLABHelp”选项.18 182.帮助命令帮助命令MATLAB帮助命令包括help、lookfor以及模糊查询命令.1)help命令在MATLAB6.
9、5命令窗口中直接输入help命令将会显示当前帮助系统中所包含的所有项目,即搜索路径中所有的目录名称.同样,可以通过help加函数名来显示该函数的帮助说明.19 192)模糊查询MATLAB6.0以上的版本提供了一种类似模糊查询的命令查询方法,用户只需要输入命令的前几个字母,然后按Tab键,系统就会列出所有以这几个字母开头的命令.20209.1.3 演示系统演示系统在帮助窗口中选择演示系统(Demos)选项卡,然后在其中选择相应的演示模块,或者在命令窗口输入Demos,或者选择主窗口Help菜单中的Demos子菜单,即可打开演示系统.21 21利用MATLAB的命令窗口,可以完成较为简单的运算,
10、但遇到较为复杂的问题时,仅靠命令窗口来解决可能会非常繁琐,这时我们就要考虑使用MATLAB的程序设计.MATLAB提供了一个完善的程序设计语言环境,使我们能方便地编写复杂的程序,完成各种复杂的计算.MATLAB语言在形式上与C语言相似,但它的编程效率比C语言高得多,9.2 MATLAB程序设计基础程序设计基础2222因为用MATLAB语言编程,不需要事先定义变量,不需要考虑数据类型,系统会自动把所有的数据,包括标量、向量、字符、字符串等统一处理成矩阵,矩阵的大小是根据需要动态变化的.在本节中我们主要介绍MATLAB类似于其他高级语言的关系运算、逻辑运算、程序的控制结构以及MATLAB特有的M文
11、件.23239.2.1 关系运算关系运算关系运算是指对两个量之间的大小进行比较.MATLAB提供了6个关系运算符,如表9-1所示.表 9-12424 若用关系运算比较两个数值,则当关系成立时,结果为1(表示真),否则为0(表示假).进行关系运算的两个量也可以是具有相同格式的矩阵(事实上,若比较的是两个数,则这两个数可以看做两个11矩阵),此时两矩阵的所有对应位置的元素作关系运算,最终的结果是由各对应元素进行关系运算后的结果“0”和“1”组成的矩阵,其格式与比较矩阵相同.al58al 0a2123;456;a3654;321a4a2a5a23%矩阵与标量间的关系运算是指矩阵的每个元素与该标量进行
12、关系运算a5 0 0 1 1 1 126269.2.2 逻辑运算逻辑运算MATLAB提供了3个逻辑运算符,如表9-2所示.表 9-22727逻辑运算将每个非零元素当作1(真)来处理.同关系运算一样,它也可以作用于格式相同的矩阵,运算结果为由“0”和“1”组成的矩阵.b13&0,b23|0,b3(23)%数值的逻辑运算b10b21b31b4210;123;b5135;115;2828b6(b42)&(b5b4|b4c123;010;c1any(c),c2all(c)c11 1 1%矩阵c的每一列中都有非零元素c20 1 0%矩阵c中只有第二列中所有元素非零30309.2.3 MATLAB程序的控
13、制结构程序的控制结构MATLAB程序的控制结构有顺序结构、循环结构和选择结构三种.顺序结构较为简单,即根据语句的书写顺序,从上到下按行执行,执行完所有语句后结束程序运行.这里我们主要介绍循环结构的控制流语句for、while和选择结构的控制流语句if、switch,这四种语句均以end为结束标志.(1)for循环语句的一般格式为:for循环变量冒号表达式 循环体 end31 31其中的循环体可以是一条语句或命令,也可以是由逗号、分号隔开的若干语句或命令.冒号表达式用来控制循环的次数,对于由冒号表达式确定的每一个循环变量的值,循环体中的所有语句都被重复执行.我们利用for循环来计算自然数15的阶
14、乘.dzeros(1,5);%开辟存放各阶乘的地址,MATLAB可动态调节矩阵的格式,故运行该语句之后的结果即各阶乘将存放到矩阵d中,但预先开辟空间可节约运行时间 e1;%对乘积因子变量e赋初值fori1:5%循环变量i从1直到5,步长为32321 d(i)e*i;%此for循环的循环体包含两个语句,此句作用是求i的阶乘并存放在d(i)处且结果不显示(不显示可节约运行时间)ed(i);%改变e的值且结果不显示 end%结束for循环disp(d)%显示各阶乘1 2 6 24 120前述for循环语句一般格式中的“冒号表达式”部分也可以是任意的向量或矩阵的变量名,此时,循环变量依次取向量的值或按
15、矩阵的列依次取值.3333 f1135;f2135;468;i1;j1;forgf1f3(i)g;ii1;%取出f1的各分量的值 endforhf2f4(j)h(2)*h(1);jj1;enddisp(f3)1 3 5disp(f4)4 18 403434for循环可以嵌套使用,如以下程序可以生成35Hilbert矩阵:kzeros(3,5);fori1:3 forj1:5k(i,j)1/(ij1);endendformatratkk35351 1/2 1/3 1/4 1/51/21/3 1/4 1/5 1/61/31/4 1/5 1/6 1/7format%恢复显示格式for循环语句主要用于
16、循环次数已定的情形,而在很多实际计算中循环次数往往并不能预先确定,此时我们可以使用while循环语句.3636(2)while循环语句的一般格式为:while条件 循环体 end“条件”即执行循环的条件,用来控制循环的次数,它可以是关系表达式或逻辑表达式.当条件成立(即为1)时,循环体被执行,直到条件不成立(即为0)时,结束循环.3737我们利用while循环语句来寻找阶乘小于100万的最大的自然数.m1;whileprod(1:m)mm1%结束循环的条件为阶乘大于100万,故最终的结果需减1m93838(3)选择结构的if语句的格式主要有以下三种:格式1:if 条件语句组end当条件成立时,
17、执行语句组,否则执行end的后续语句.格式2:if 条件语句组1else语句组2end3939当条件成立时,执行语句组1,否则执行语句组2.执行完成之后,执行end的后续语句.格式3:if 条件1语句组1elseif条件2语句组2elseif条件n语句组nelse语句组n1 end4040当条件1成立时,执行语句组1,执行完成后,执行end的后续语句;当条件1不成立时,判断条件2,若其成立,执行语句组2,执行完成后,执行end的后续语句;以此类推,若所有条件均不成立,则执行语句组n1,执行完成后,执行end的后续语句.我们可以利用上述任何一种格式的if语句自定义符号函数1,00,01,0 xy
18、xx41 41若用格式1,需分别调用3次;若用格式2,则需使用嵌套;下面是用格式3书写的程序.if x0y1;elseifxprand(1,100);i1;s0;%生成随机数,循环变量、计数器赋初值while1%该条件总为真,如无中断语句break,循环将无休止地运行ifp(i)0.5 ss1;end ii1;ifi100%设置循环中断条件 break%while语句的循环条件总为真,如无此中断语句break,循环将无休止地运行 4444Endendss54%换新的100个随机数得到的统计个数可能不同选择结构的switch语句根据表达式的值来选择执行相应的语句组.switch的格式为:swit
19、ch 表达式case值1语句组1case值24545语句组2case值n语句组notherwise语句组n1end当表达式的值为值1时,执行语句组1,执行完成后,执行end的后续语句;当表达式的值为值2时,执行语句组2,执行完成后,执行end的后续语句;以此类推,若以上均不满足,则执行语句组n1,执行完成后,执行end的后续语句.46469.2.4 MATLAB的的M文件文件到目前为止,我们仍然一直在命令窗口中逐行输入数据和命令来实现计算等功能.这种方法对于较为简单的问题还可以接受,一旦问题较为复杂,这种方法就显得相当麻烦,这时MATLAB提供的以m为扩展名的M文件的作用就突显出来了.M文件有
20、两种类型:文本M文件和函数M文件.建立M文件可以在MATLAB的主窗口的File下拉式菜单中选择New,再选择Mfile,此时MATLAB将打开一个文本编辑窗口,在此窗口中输入一系列的命令和数据,编辑结束后,在此窗口的File下拉式菜单中选择Save,将弹出保存对话框,4747选择文件的保存位置并键入文件名称(需遵循变量的命名规则)和“.m”,单击保存按钮即可完成M文件的建立.已经建立好的M文件可以随时打开、编辑、修改,方法同Windows操作系统.文本M文件就是命令行的简单叠加.调用文本M文件时,MATLAB会自动按顺序执行文件中的命令行.以下是我们自己编写的命名为Fibo.m的一个文本M文
21、件,它的功能是产生前n个Fibonnaci数.4848 f11;i1ifn1f(2);elseifn2%如果n为2,不执行任何语句elsewhilein1 f(i2)f(i)f(i1);ii1;endendf4949这里要注意的是,文本M文件中所定义和使用的变量均为全局变量,如本例中的f、i及n,它们不仅在本程序的运行过程中有效,程序运行完成之后仍然有效.我们在编辑程序时,要尽量避免使用全局变量.要运行文本M文件,只需在MATLAB的命令窗口中直接键入该文件的文件名即可.n10;Fibo%产生前10个Fibonnaci数;文件中未指定n的大小,故需事先指定f1 1 2 35 8 13 21 3
22、4 555050函数M文件是另一类M文件.MATLAB所提供的绝大多数功能函数都是通过函数M文件来实现的,可见函数M文件的重要性.我们可以根据需要建立自己的函数M文件,它能够像系统中的功能函数一样被方便地调用,从而极大地扩展了MATLAB的功能.函数M文件的第一行有特殊的格式,必须以function开头.函数M文件的一般格式为:function输出参数表函数名(形式参数)语句组 end51 51这里的输出参数表可以是一个变量,也可以是多个变量,它们表示要计算的量.如果是一个参数,双括号可以去掉;如果是多个变量,两两之间用逗号隔开.这里的函数名必须与该文件的文件名一致,这样才能保证被成功调用.形
23、式参数是一组形式变量,本身没有任何意义,只有在调用时赋予它们实际值才有意义.下面是我们编写的一个命名为Fibon.m的函数M文件,它的功能是产生前n个Fibonnaci数,并计算这n个数之和.5252functionf,sfibon(n)%返回两个量f、s,n为形式参数F11;i1;ifn1f(2);elseifn2%如果n为2,不执行任何语句elsewhileifib,fibsFibon(10)%返回值分别赋予fib和fibsfib1 1 2 3 5 8 13 21 34 555454fibs143与文本M文件不同的是,函数M文件中定义和使用的变量为局部变量,如本例中的f、s、n、i,它们仅
24、在本程序的运行过程中有效,程序运行过之后就不再有效.自定义的M文件,不管是文本M文件还是函数M文件,均应该存放在MATLAB的当前目录下或MATLAB的搜索路径下,以使系统能够找到该M文件并执行.当然,也可以使用cd命令确定和改变当前目录,用path命令确定MATLAB的搜索路径.5555MATLAB作为高性能、交互式的科学计算工具,具有非常友好的图形界面,其应用非常广泛.同时,MATLAB也提供了强大的绘图功能,这使得用户可以通过对MATLAB内置绘图函数的简单调用,便可迅速绘制出具有专业水平的图形.在利用MATLAB中的Simulink进行动态系统仿真时,图形输出可以使设计者快速地对系统性
25、能进行定性分析,故可大大缩短系统的开发时间.9.3 MATLAB科学绘图科学绘图5656MATLAB的图形系统是面向对象的.图形的要素,如坐标轴、标签、观察点等都是独立的图形对象.一般情况下,用户不需直接操作图形对象,只需调用绘图函数就可以得到理想的图形.通过本节的学习,用户能够快速掌握图形绘制技术.57579.3.1 基本的二维图形绘制命令基本的二维图形绘制命令(1)plot(x,y):输出以向量x为横坐标,以向量y为纵坐标且按照x,y元素的顺序有序绘制的图形.x与y必须具有相同长度.(2)plot(y,x):输出以向量y为横坐标,以向量x的对应元素xm为纵坐标绘制的图形.(3)plot(x
展开阅读全文