数学实验及模型实验01MATLAB基础.ppt

上传人:牧羊曲112 文档编号:6577912 上传时间:2023-11-14 格式:PPT 页数:42 大小:465KB
返回 下载 相关 举报
数学实验及模型实验01MATLAB基础.ppt_第1页
第1页 / 共42页
数学实验及模型实验01MATLAB基础.ppt_第2页
第2页 / 共42页
数学实验及模型实验01MATLAB基础.ppt_第3页
第3页 / 共42页
数学实验及模型实验01MATLAB基础.ppt_第4页
第4页 / 共42页
数学实验及模型实验01MATLAB基础.ppt_第5页
第5页 / 共42页
点击查看更多>>
资源描述

《数学实验及模型实验01MATLAB基础.ppt》由会员分享,可在线阅读,更多相关《数学实验及模型实验01MATLAB基础.ppt(42页珍藏版)》请在三一办公上搜索。

1、实验01 MATLAB基础(一),数学实验及模型,实验要求,1、按时上下课,不迟到、不早退;2、爱护设备,不作非法操作;下课时摆放好凳子,关好计算机;3、每次上课时带好笔、纸及相关资料,上课之前关闭所有与本课程无关的程序、网页等;4、上课期间遵守实验室纪律,不得关闭学生端程序、不得修改学生端程序设置,不做与上课无关的事情(包含但不仅限于扫雷、纸牌、开心农场、看小说、上网看新闻,挂QQ、聊QQ等)。5、若违反课堂纪律要求,一经发现,立即取消本课程成绩。6、每次实验课的实验报告在下次实验课时上交作业。,注意,1、因计算机重启后,存储在C盘的文件将不会存在,故在编程、作练习、作业时最好在D盘建立一个

2、文件夹,并在MATLAB中设置好路径。2、每次下课时用可移动磁盘将自己所编的程序、所编写的文档拷回去。3、联系:邮件,实验目的,1 了解MATLAB软件2 掌握MATLAB软件的基本操作3 掌握MATLAB软件的M文件编写及程序设计,实验内容,1 MATLAB基础 2 M文件的编写 3 MATLAB程序设计,1.1 初识MATLAB,1 MATLAB历史20世纪80年代初期,Cleve Moler与John Little等利用C语言开发了新一代的MATLAB语言.1984年,Cleve Moler与John Little等正式成立了Mathworks公司,把MATLAB语言推向市场,并开始了对

3、MATLAB工具箱等的开发设计.1993年Mathworks公司推出了基于个人计算机的MATLAB 4.0版本,到了2002年又推出了MATLAB 6.5版本.,2 MATLAB应用及功能现在,MATLAB已经发展成为适合多学科的大型软件,在世界各高校,MATLAB已经成为线性代数、数值分析、数理统计、优化方法、自动控制、数字信号处理、动态系统仿真等课程的基本教学工具.概括地讲,MATLAB系统由两部分组成,即MATLAB内核与辅助工具箱,两者的调用构成了MATLAB的强大功能.MATLAB语言包括控制流语句、函数、数据结构、输入输出及面向对象等特点的高级语言。它具有以下主要功能:(1)数值计

4、算和符号计算功能:MATLAB以矩阵作为数据操作的基本单位,提供了十分丰富的数值计算函数.MATLAB和著名的符号计算语言Maple相结合,使得MATLAB具有符号计算功能.,(2)绘图功能:MATLAB绘图功能很强大.它既包括对二维和三维数据可视化、图像处理、动画制作等高层次的绘图命令,也包括可以修改图形及编制完整图形界面的、低层次的绘图命令.(3)MATLAB具有程序结构控制、函数调用、数据结构、输入输出、面向对象等程序语言特征,而且简单易学、编程效率高.(4)MATLAB工具箱:MATLAB包含基本的功能性部分和各种可选的工具箱两部分内容.MATLAB的工具箱分为两大类:功能性工具箱和学

5、科性工具箱.功能性工具箱主要用来扩充其符号计算功能、图示建模仿真功能、文字处理功能以及与硬件实时交互的功能.学科性工具箱专业性比较强,包括优化工具箱、统计工具箱、控制工具箱、小波工具箱、图象处理工具箱、通信工具箱等.,3 MATLAB的启动MATLAB的启动有多种方式,常用的方法是双击桌面的MATLAB图标,也可以在开始菜单的程序选项中选择MATLAB组件中的快捷方式,或者在MATLAB的安装路径的子目录中选择双击可执行文件“MATLAB.exe”.启动MATLAB后,将进入MATLAB集成环境,MATLAB 6.5集成环境包括MATLAB主窗口、命令窗口(Command Window)、工作

6、空间窗口(Workspace)、命令历史窗口(Command History)、当前目录窗口(Current Directory)和启动平台窗口(Launch Pad).,4 MATLAB的退出退出MATLAB系统有3种常用方法:(1)在MATLAB主窗口File菜单中选择Exit MATLAB命令;(2)在MATLAB命令窗口输入exit或quit命令;(3)单击MATLAB主窗口的“关闭”按钮.,5 MATLAB窗口简介,主窗口:除了嵌入一些子窗口外,还主要包括菜单栏和工具栏.MATLAB主窗口是MATLAB的主要工作界面.在MATLAB 6.5主窗口的菜单栏,共包含File、Edit、V

7、iew、Web、Window和Help 6个菜单项,各菜单的功能和常用软件的菜单类似.工具栏:MATLAB 6.5主窗口的工具栏共提供了10个命令按钮.这些命令按钮均有对应的菜单命令,但比菜单命令使用起来更快捷、方便.命令窗口:命令窗口是MATLAB的主要交互窗口,用于输入命令并显示除图形以外的所有执行结果.命令历史记录窗口:在默认设置下,命令历史记录窗口中会自动保留自安装起所有用过的命令的历史记录,并且还标明了使用时间,从而方便用户查询.而且,通过双击命令可进行历史命令的再运行.如果要清除这些历史记录,可以选择Edit菜单中的Clear Command History命令.,在MATLAB,

8、(1)可以使用help查询已知命令的用法,例如inv表示计算逆矩阵,键入help inv即可得知有关inv命令的用法;键入help help则显示help的用法.(2)lookfor用来寻找未知的命令,例如要寻找计算逆矩阵的命令,可键入 lookfor inverse,MATLAB即会列出所有和关键字inverse相关的指令,找到所需的命令后,可用help进一步找出其用法.,MATLAB命令窗口中的“”为命令提示符,表示MATLAB正处于准备状态.在命令提示符后键入命令并按下回车键后,MATLAB就会解释执行所输入的命令,并在命令后面给出计算结果.一般来说,一个命令行输入一条命令,命令行以回车

9、结束.但一个命令行也可以输入若干条命令,各命令之间以逗号分隔,若前一命令后带有分号,则逗号可以省略.例如x=3*5,y=x2x=3*5;y=x2如果一个命令行很长,在一个物理行之内不能写完,可以在第一个物理行的后面加上3个小黑点“”并按下回车键,然后在下一个物理行继续写命令的其他部分,3个小黑点称为续行符.,6 MATLAB命令行环境的常用操作,(1)常用的窗口命令help 启动联机帮助文件显示what 列出当前目录下的有关文件type 列出M文件lookfor 查找help信息中的关键词which 查找函数与文件所在的目录名demo 运行MATLAB的演示程序path 设置或查询MATLAB

10、的路径,(4)对命令窗口控制的常用命令Ctrl+p调用上一次的命令Ctrl+n调用下一行的命令 Ctrl+b退后一格Ctrl+f前移一格Ctrl+Ctrl+r向右移一个单词Ctrl+Ctrl+l向左移一个单词HomeCtrl+a光标移到行首EndCtrl+e光标移到行尾EscCtrl+u清除一行DelCtrl+d清除光标后字符BackspaceCtrl+h清除光标前字符Ctrl+k清除光标至行尾字Ctrl+c中断程序运行,7 基本运算与函数MATLAB认识所有一般常用的加(+)、减(-)、乘(*)、除(/)等数学运算符号,以及幂次运算().MATLAB将所有变量均存为double的形式,不需要

11、经过变量定义.如在命令窗口中输入3*5并回车得到结果ans=15,MATLAB自动把运算结果赋给永久变量ans(表示answer).若在命令窗口中输入y=2/6并回车,则结果显示“y=0.3333”,在MATLAB中默认显示4位小数,实际上在MATLAB中存储的是y的准确值,可以用命令“vpa(y,10)”显示有效数字十位,也可以用format命令控制,具体见MATLAB帮助系统.在MATLAB中,以“;”结尾的语句执行但不显示执行的结果,以符号“%”开始的为注释行,“%”所在行的后面的语句不执行.,8 变量命名的规则,(1)MATLAB区分变量名的大小写;(2)变量的第一个字符必须为英文字母

12、,MATLAB6.5中,变量名长度不能超过63个字符,在后续版本中,变量名长度可能会更长;(3)变量名可以包含大小写字母、数字和下划线,但不能为空格符、标点;(4)变量名不能取MATLAB系统中预定义的变量,系统中预定义的变量见表1-5.,1.2 矩阵及其运算,矩阵的运算是MATLAB语言的核心,在MATLAB语言系统中几乎一切运算均是以对矩阵的操作为基础的.下面介绍矩阵的生成、矩阵的基本运算和矩阵的数组运算.1 矩阵的生成(1)直接输入法从键盘上直接输入矩阵是最方便、最常用的创建数值矩阵的方法,尤其适合较小的简单矩阵.在用此方法创建矩阵时应当注意:输入矩阵时要以“”为其标识符号,矩阵的所有元

13、素必须都在方括号内;矩阵同行元素之间由空格或逗号分隔,行与行之间用分号或回车键分隔;矩阵大小不需要预先定义;矩阵元素可以是运算表达式;若“”中无元素,则表示空矩阵.,在MATLAB语言中,可以用冒号来定义行向量,也可使用冒号截取指定矩阵中的部分.如程序a=1:3:10,得到如下结果:a=1 4 7 10程序A=1 2 3;4 5 6;7 8 9;B=A(1:2,:),得到如下矩阵B=1 2 3 4 5 6可以看出B是由矩阵A的第1到第2行和相应的所有列的元素构成的一个新的矩阵.在这里,冒号代替了矩阵A的所有列.,(2)外部文件读入法MATLAB语言也允许用户调用在MATLAB环境之外定义的矩阵

14、.可以利用任意的文本编辑器编辑所要使用的矩阵,矩阵元素之间以特定分隔符分开,并按行列布置.读入矩阵可以利用load函数,其调用方法为:Load+文件名参数.Load函数将会从文件名所指定的文件中读取数据,并将输入的数据赋给以文件名命名的变量,如果不给定文件名,则将自动认为MATLAB.mat文件为操作对象,如果该文件在MATLAB搜索路径中不存在时,系统将会报错.,(3)特殊矩阵的生成对于一些比较特殊的矩阵(单位阵、矩阵中含1或0较多),由于其具有特殊的结构,MATLAB提供了一些函数用于生成这些矩阵.常用的有下面几个:zeros(m)表示生成m阶全0矩阵eye(m)表示生成m阶单位矩阵one

15、s(m)表示生成m阶全1矩阵rand(m)表示生成m阶均匀分布的随机阵randn(m)表示生成m阶正态分布的随机矩阵,2 矩阵的基本数学运算矩阵的基本数学运算包括矩阵的四则运算、与常数的运算、逆运算、行列式运算、秩运算、特征值运算等.(1)四则运算矩阵的加、减、乘运算符分别为“”,用法与数字运算几乎相同,但计算时要满足其数学要求(如同型矩阵才可以加、减等).在MATLAB中,矩阵的除法包括左除“”和右除“/”.左除和右除的运算过程以及对矩阵的要求是不一样的,左除为,右除为.(2)与常数的运算常数与矩阵的运算即是同该矩阵的每一元素进行运算.但进行数除时,常数通常只能做除数.,(3)基本函数运算矩

16、阵的函数运算是矩阵运算中最实用的部分,常用的主要有以下几个:det(a)表示求矩阵a的行列式eig(a)表示求矩阵a的特征值inv(a)或a(-1)表示求矩阵a的逆矩阵rank(a)表示求矩阵a的秩trace(a)表示求矩阵a的迹(对角线元素之和),3 矩阵的数组运算(1)基本数学运算数组的加、减与矩阵的加、减运算完全相同,而乘除法运算则有较大的区别,数组的乘除法是指两同维数组对应元素之间的乘除法,它们的运算符为“.*”和“./”或“.”.前面讲过常数与矩阵的除法运算中常数只能做除数.而在数组运算中有了“对应关系”的规定,故数组与常数之间的除法运算没有该限制.另外,矩阵的数组运算中还有幂运算(

17、运算符为.)、指数运算(exp)、对数运算(log)、和开方运算(sqrt)等.有了“对应元素”的规定,数组的运算实质上就是针对数组内的每个元素进行的.,4 矩阵元素的访问、修改例如利用rand随机生成一个矩阵,程序为:A=rand(4,4)结果如下:A=0.9501 0.8913 0.8214 0.92180.2311 0.7621 0.4447 0.73820.6068 0.4565 0.6154 0.17630.4860 0.0185 0.7919 0.4057A(i):表示矩阵A的第i个元素.在MATLAB中,所有矩阵都是以列进行存储的.如在上面的例子中,A(1)表示0.9501,A(

18、2)表示0.2311,A(3)表示0.6068,A(7)表示0.4565,A(i,j):表示矩阵A的第i行第j列元素,括号内的逗号前的i表示行,逗号后的j表示列.如:A(i,:)表示A的第i行的所有元素,A(:,j)表示A的第j列的所有元素.,A(2,1,2:4)表示取矩阵A的第2、1行,第2至4列的元素,结果如下:ans=0.7621 0.4447 0.73820.8913 0.8214 0.9218我们可以随意更改、增加或删除矩阵以及向量中的元素:y=1,2,4,6,9;%表示对y赋值y(3)=2%表示将y的第3个元素更改为2结果为:y=1 2 2 6 9MATLAB也可取出向量的一个元素

19、或一部份来做运算,如程序:2*y(2:4)-3%取出y的第2至第4个元素来做运算结果为:ans=1 1 15,1.3 例题,例1 计算.解 程序为:sin(8+5*log2(4)/(abs(3-7)2)结果为:ans=0.9023例2 计算,以符号的形式输出.解 程序为:a=2*sym(sqrt(8)或者2*sym(power(8,1/2)结果均为:ans=4*2(1/2),例3 用MATLAB计算 能得到2吗?解 用三种不同方法计算:(1)程序为:a=-8;r=a(1/3)结果为:r=1.0000+1.7321i(2)程序为:sym(power(-8,1/3)结果为:ans=(1)+(sqr

20、t(3)*i(3)构造,然后用roots函数求根程序为:p=1,0,0,8;R=roots(p)结果为:R=-2.00001.0000+1.7321i由此可得用不同的MATLAB计算程序可能得到不同的结果.,例4 已知,计算.解 程序为:a=3+4*i;b=2-i;c=2*exp(i*pi/6);x=a*b/c结果为:x=5.5801-0.3349i例5 输出字符串“MATLAB6.5”.解 程序为:s=MATLAB6.5结果为:s=MATLAB6.5例6 输出多项式.解 程序为:syms x;y=x2+5*x+7结果为:y=x2+5*x+7,例7 已知多项式,计算,.解 程序为:f1=sym(x2+4),f2=sym(2*x3-3*x2+2*x+3)f=f1+f2,g=f1*f2,expand(g)结果为:f1=x2+4f2=2*x3-3*x2+2*x+3f=-2*x2+7+2*x3+2*xg=(x2+4)*(2*x3-3*x2+2*x+3)ans=2*x5-3*x4+10*x3-9*x2+8*x+12例8 求解方程组.解 程序为:x,y=solve(x2+2*x*y+y2-4,x-y-3)结果为:x=5/2,1/2,y=-1/2,-5/2所以方程组有两组解,分别为:,1.4 实验练习,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号