matlab基础(海大版).ppt
《matlab基础(海大版).ppt》由会员分享,可在线阅读,更多相关《matlab基础(海大版).ppt(209页珍藏版)》请在三一办公上搜索。
1、1,HaiNan University,MATLAB 基础篇,海南大学数学系 王浩华,2,第一章 MATLAB语言概述,1.1 MATLAB发展简史1.2 MATLAB的特点1.3 MATLAB工作环境与实例1.4 演示程序及帮助,3,1.1 MATLAB发展简史,一、MATLAB的开发单位:美国Mathworks公司,Cleve Moler博士,二、几个不同的发展时期,70年代末,Cleve Moler为讲授矩阵理论和数据分析编写了Linpack与Eispack软件包。1984年,成立公司Mathworks,推出第二代MATLAB。内核用C编写。,4,1990年,推出系统仿真工具Simuli
2、nk。1993年,Matlab 4.0Windows版。1994年,Matlab 4.2开始广受重视和应用。1999年,Matlab 5.332位运算。2000年11月,Matlab 6.0。2001年5月,Matlab 6.1。2002年8月,matlab 6.5 加入JIT加速器。,5,1、一个变量可以直接当作一个矩阵。*2、一个元素可以直接当作一个复数。*3、用解释方式对程序加以执行。4、数据可以通过MATLAB绘图功能实现可视化,最复杂的可视效果可以是三维坐标中的立体曲面图。,1.2 MATLAB的特点,6,5、不仅能进行数值运算,还能进行符号运算及系统仿真。6、有多达30多个工具箱:
3、例如:自动控制、信号处理、图像处理、模糊逻辑、神经网络、小波分析、通信模拟、数理统计、偏微分方程、最优化问题、财政金融分析等。,7,7、与其他语言程序或应用程序有方便的接口。例如:C、Fortran、Word等。8、大量繁杂的数学运算和分析可调用MATLAB的函数直接求解。9、“教育部全国计算机专业课程指导委员会”已将MATLAB作为推荐课程。,8,1.3 MATLAB工作环境与实例,一、工作环境1、MATLAB打开后缺省的工作窗口有5个:*Command Window(命令窗口)Launch Pad(发射台)Workspace(工作空间)Command History(命令历史记录)Curr
4、ent Directory(当前目录),9,2、程序编辑调试执行过程中还要用到的窗口有:Figure Window(图形窗口)File Editor(文本编辑窗口)Demos Window(演示窗口)Array Editor(数组编辑器窗口),10,3、各种窗口的统一操作方法,窗口的放大和离港(undock),11,窗口的进港(dock),12,窗口的显示和排列,13,窗口中内容的清除,14,4、命令窗口(Command Window),作用:输入:数据、命令、表达式、语句 执行:命令、语句、函数、程序 编辑:命令、表达式、语句 命令提示符:5、发射台窗口(Launch Pad)作用:打开各种
5、工具箱的帮助、Demos窗口和其它相关文件或应用程序。,15,6、工作空间窗口(Workspace),作用:显示和留存变量、数组、矩阵的数据。在以文件方式保存之前,“工作空间”实际是内存的一个区域;保存之后,则成为外存中的一个数据文件(扩展名.mat)。操作:查看与清除工作空间中的变量 who whos(注意大小写)数组内容的显示和编辑(可结合数组编辑器窗口),16,保存工作空间:用file菜单或save命令,加载工作空间:用file菜单或load命令,17,7、命令历史记录窗口(Command History),作用:记录并显示已执行过命令。记录每次启动的时间。查找曾用过命令,再次调用该命令
6、。8、当前目录窗口(Current Directory)说明:显示当前工作的文件夹路径 可以修改、重设当前路径(用菜单或path命令),18,MATLAB的路径搜索原则:,在命令窗口的命令提示符后输入一个字符串如master,MATLAB将按以下顺序开始搜索:把master当作一个变量进行搜索,在当前工作空间中查找变量master。把master作为一个内置函数进行搜索,查找内置函数master并执行。查找当前文件夹中的master.m文件。查找当前搜索路径中的M文master.m。,19,MATLAB文件类型,20,9、文本编辑窗口(file Editor),MATLAB的程序编制和运行方式
7、:命令行方式 M文件方式如何获得文本编辑窗口?方法一:在命令提示符后输入edit命令。方法二:利用命令窗口的File|New|M-file命令。方法三:利用命令窗口中的新建文件图标。使用:与Word相似。,21,10、图形窗口(Figure),作用:用图形展示数据、函数、方程。如何得到:在命令窗口的提示符后输入:figure或 figure(3)。执行一条绘图命令。11、数组编辑器窗口(Array Editor)作用:对已定义过的数组进行重新编辑或修改。如何得到:双击工作空间窗口中的数组名即进入此窗口。,22,二、实例,例一:求y=sin(ax)的导函数。syms a x;y=sin(a*x)
8、;dy=diff(y)例二:绘制函数f(x,y)=2sin()/的图形。x=-8:0.5:8;y=x;X,Y=meshgrid(x,y);R=sqrt(X.2+Y.2)+eps;Z=2*sin(R)./R;surf(X,Y,Z),23,1.4 演示程序及帮助,一、演示程序1、什么是演示系统 演示系统实质是一种帮助系统;与一般帮助系统不同之处是它用实例而非文字来说明用法。2、如何进入演示窗口*方法一:在命令窗口中输入demo或demos命令。方法二:利用任一窗口Help菜单的Demos命令。方法三:利用发射台窗口。3、演示主题,24,二、帮助系统,1、如何进入帮助系统 方法一:利用任一窗口“He
9、lp”菜单。方法二:利用发射台窗口。2、帮助菜单,25,第二章 MATLAB数值计算,2.1 基本概念2.2 矩阵的创建与保存2.3 矩阵的下标与子矩阵2.4 矩阵运算与数组的运算2.5 矩阵运算函数与数学函数2.6 关系运算及逻辑运算2.7 多项式及其运算,26,MATLAB的数值计算主要是针对两类对象的运算:一是矩阵,另一是数组。矩阵是 MATLAB 进行数值运算的基本对象,或者说默认对象。不论是标量、向量、还是矩阵,MATLAB一概以矩阵视之。数组从数的集合的角度去认识,它也是矩阵,或者反过来,矩阵也是数组。单从形式上是不能区分数组和矩阵的,MATLAB 中数组与矩阵的真正区别所在是它们
10、各自采用了不同的运算规则。,27,2.1 基本概念,1、变量和标量*变量是MATLAB保存数据的工具。变量有数值和字符两种:a=365;b=happy new year 变量命名遵守如下规则:必须以字母开头。可以由字母、数字和下划线共同组成。区分大小写。长度不超过19个。标量是相对于向量的概念,一个单一的数字量即是标量。,28,系统默认的预定义变量,29,2、数值,每一个数据元素都是用双精度来表示、存储和运算。有效数字:16位。数值范围:10-30810+308格式:屏幕显示方式:紧凑(Compact)和松散(Loose)其中,Loose为默选方式。数字显示格式:MATLAB6.1共有10种之
11、多,如下 列表所示。,30,数字显示格式列表,注意:不论数字采用上述列表中何种显示格式,但其存储数据的格式依然是双精度格式,因而数据的精度依然得到保证。,31,3、矩阵与向量,矩阵是一个数学概念。向量也是一个数学概念,向量是一行或一列的矩阵。矩阵的数学运算规则是MATLAB的矩阵运算规则的一部分。矩阵的线性相加减矩阵的数乘(与标量乘)矩阵与向量(一维列向量或行向量)相乘矩阵与矩阵相乘矩阵与矩阵求逆或相除矩阵的各种变换,32,MATLAB在一般矩阵的数学运算规则之外还定义了的一些新的矩阵运算规则。矩阵的幂运算*矩阵的开方运算 矩阵的指数运算 矩阵的对数运算矩阵在MATLAB中是当作一个整体进行运
12、算。*MATLAB把所有的数量(包括标量、向量、矩阵)统一当作矩阵对待。,33,4、数组,数组是程序设计语言中用到的一种数据结构,不是数学概念。数组是由一组类型相同的数据构成的有序数据集合。在一般程序设计语言中,程序通过循环语句对数组中的元素进行操作。不是作为一个整体进行操作。MATLAB语言中的数组与一般程序设计语言有别。在MATLAB中数组运算是一个整体运算,但又与矩阵运算有区别。*矩阵可以视为数组来运算,数组也可视为矩阵来运算。矩阵运算是通过运算符与数组运算相区别。,34,5、函数,函数实际是系统提供的、已事先编写好的、一组可供调用的程序。MATLAB的函数与其他语言的函数无太大区别,只
13、是它的函数比我们熟知的任何其他语言的函数都多得多。函数的调用格式是:函数名(参数)例 a=sin(b)其意为计算b的正弦值,并将此值赋给变量a。,35,6、运算符,MATLAB的运算符分成如下几大类:算术运算符,关系运算符,逻辑运算符和特殊运算符。各类运算符列表如下:,36,MATLAB算术运算符(表一),37,MATLAB算术运算符(表二),38,MATLAB关系运算符和逻辑运算符,39,MATLAB的特殊运算符,40,7、MATLAB的语句,MATLAB语句有两种形式:表达式 变量=表达式表达式由变量、常数、函数和运算符构成。合法表达式举例:4*sin(2*t)sqrt(2)*exp(-i
14、*4)s*a+b/c,41,在MATLAB中,矩阵可以通过下列三种方法之一创建:直接输入法;利用MATLAB的内部函数创建;从外部数据文件(*.mat)装载并创建阵。,2.2 矩阵的创建与保存,42,2.2.1 直接输入法创建矩阵,直接输入矩阵数据时,必须遵循下列规则:矩阵的所有元素必须放在方括号 内;矩阵元素之间必须用逗号“,”或空格分开;矩阵行与行间用分号“;”或按回车键分隔;矩阵元素可以是任何不含未定义变量的表达式。例:(见操作)。*,43,MATLAB系统提供有创建下列基本矩阵的函数:ones(n)、ones(n,m),产生1矩阵的函数。zeros(n)、zeros(n,m),产生0矩
15、阵的函数。rand(n)、rand(n,m),在01之间均匀分布的随机数矩阵。randn(n)、randn(n,m),符合正态分布的随机数矩阵。eye(n),产生n阶的单位矩阵。,2.2.2 利用MATLAB函数创建矩阵,44,MATLAB 有专门的文件用来保存数据,如前所述其文件扩展名为.mat。而这些以文件方式保存在外存中的数据,不论是普通变量,还是矩阵都可再次被调入内存重新使用。save 路径文件名 变量名表 load 路径文件名,2.2.3 利用外部数据文件保存和装载矩阵,45,向量作为矩阵的一种特例,可以用前述介绍的三种方法进行创建。还可用下述两种方法生成。利用冒号:运算生成向量 例
16、:a=m:n a=1:10 a=m:p:n a=1:0.2:2利用函数生成向量 例:linspace(m,n)linspace(m,n,s)linspace(0,10,5),2.2.4 向量的生成,46,2.3 矩阵的下标与子矩阵,在MATLAB系统中,矩阵(或数组)的元素都可以通过其下标来引用。其一般形式如A(i,j)。矩阵下标的行号和列号都从1开始,与C语言从0开始有所不同。例如A(1,1)表示矩阵A首行首列的元素。生成子阵举例:A=1 2 3 4;5 6 7 8;9 10 11 12;13 14 15 16;x=2,4;y=1,3;B=A(x,y)B=A(2,4,1,3)D=A(:,y)
17、D=A(:,1,3)E=A(x,:)E=A(2,4,:),47,矩阵运算和数组运算是MATLAB数值运算的两大类型。矩阵运算按矩阵的运算规则进行,而数组运算则按数组的运算规则进行。矩阵运算和数组运算的运算规则已经在前面的2.1节的运算符中作过简单的介绍。在MATLAB中,可以对矩阵进行数组运算,此时矩阵被视为数组,运算按数组运算规则进行。在MATLAB中,可以对数组进行矩阵运算,此时数组被视为矩阵,运算按矩阵运算规则进行。,2.4 矩阵运算与数组运算,48,2.4.1 矩阵加减与数组加减,矩阵的加减法的规则与数组没有区别,运算符也相同,可分成如下两种情况:若参与运算的两矩阵的阶数相同,则加减运
18、算是对应元素相加减,其结果与任一参与运算的矩阵的阶数相同。若参与运算的两矩阵的阶数不同,只能是其中之一为标量,运算规则是把标量加减到矩阵的每一元素上,其结果是与参与运算的矩阵同阶的矩阵。,49,2.4.2 矩阵乘与数组乘,矩阵的乘法运算中包含有普通标量乘、向量乘与矩阵乘。例:a=3;b=6;ca=a*b,cb=b*a ca=cb?a1=2;b1=1 2 3;c1a=a1*b1,c1b=b1*a1 c1a=c1b?a3=1 2 3;3 2 1;2 3 1;d1=a1*a3,d2=a3*a1 d1=d2?a2=2;3;2;b2=1 3 2;c2=a2*b2(矩阵);c22=b2*a2(数)a22=
19、2 3 2;c2a=a22*b2,c2b=a2*a2 b3=2 3 1;4 3 2;3 2 1;b2*b3 b3*b2,50,c3=a3*b3;c33=b3*a3,c3 c33a4=1 2 3 4;3 1 4 5;4 3 2 1;b4=1 2 3;4 3 2;5 3 2;1 2 3;c4=a4*b4,c44=b4*a4真正的矩阵(或向量)乘,要求参与运算的矩阵内阶相同。不满足普通数(标量)乘的交换律,即A*BB*A。,51,数组乘是MATLAB规定的一种运算。例:a=3;b=6;ca=a.*b,cb=b.*a ca=cb?a1=2;b1=1 2 3;c1=a1.*b1,c11=b1.*a1 a
20、3=1 2 3;3 2 1;2 3 1;d1=a1.*a3,d2=a3.*a1 a2=2;3;2;b2=1 3 2;c2=a2.*b2;c2=b2.*a2 a22=2 3 2;c22=a22.*b2,c222=a2.*a2 a3=1 2 3;3 2 1;2 3 1;d3=a2.*a3,d4=a22.*a3,52,b3=2 3 1;4 3 2;3 2 1;c3=a3.*b3 a4=1 2 3 4;3 1 4 5;4 3 2 1;b4=1 2 3;4 3 2;5 3 2;1 2 3;c4=a4.*b4通过上述实例操作,可以得出结论:有标量参与的运算用数组乘和用矩阵乘结果相同*;对向量施以数组乘,向
21、量必须维数*(元素个数)相等;对矩阵施以数组乘,其阶数*必须相等。,53,矩阵除分右除和左除。矩阵右除包含了普通标量除、向量除和矩阵右乘逆。例:a=3;b=6;c=a/b a1=2;b1=1 2 3;c1=b1/a1(c1=a1/b1?)a3=1 2 3;3 2 1;2 3 1;d1=a3/a1,d2=a1/a3?a2=2;3;2;b2=1 3 2;c2=a2/b2,c2=b2/a2?a22=2 3 2;b22=1 3 2;(c22=a22/b22?)*a222=2;3;2;b222=1;3;2;(c222=a222/b222?)*,2.4.3 矩阵除与数组除,54,A2=2;3;2;B2=1
22、;3;C2=A2/B2*a2=2;3;2;b2=1 3 2;a3=1 2 3;3 2 1;2 3 1;a2/a3;a3/a2*a3/b2;b2/a3*b3=2 3 1;4 3 2;3 2 1;c3=a3/b3;c33=b3/a3(实际c3=a3*inv(b3),c33=b3*inv(a3))a4=1 2 3 4;3 1 4 5;4 3 2 1;b4=1 2 3;4 3 2;5 3 2;1 2 3;c4=a4/b4 c44=b4/a4,55,矩阵左除(AB)实际是用A逆左乘B。例:a=3;b=6;c=ab,cc=ba a1=2;b1=1 2 3;c1=a1b1(c1=b1a1?)*a3=1 2
23、3;3 2 1;2 3 1;d1=a1a3;d2=a3a1 a2=2;3;2;b2=1 3 2;a2/a1 c2=a2b2 c2=b2a2?a22=2 3 2;b22=1 3 2;(c22=a22/b22?)*b22a=1 2;c22a=a22/b22a*a222=2;3;2;b222=1;3;2;(c222=a222b222?)*b2a3 a3b2,56,a2=2;3;2;b2=1 3 2;a3=1 2 3;3 2 1;2 3 1;a2a3;a3a2*b3=2 3 1;4 3 2;3 2 1;c3=a3b3,c33=b3a3(实际c3=inv(a3)*b3,c33=inv(b3)*a3)a4
24、=1 2 3 4;3 1 4 5;4 3 2 1;b4=1 2 3;4 3 2;5 3 2;1 2 3;c4=a4b4 c44=b4a4,57,数组除分右除和左除。例:a1=3;b1=2;a1./b1=a1/b1=b1.a1=b1a1 b1./a1=b1/a1=a1.b1=a1b1 a2=2;b2=1 2 3;b22=2;4;1;a2./b2=b2.a2*a2/b2没有定义。b2a2另有定义 b2./a2=b2/a2=a2.b2=a2b2 a2./b22=b22.a2*b22a2没有定义。a2/b22另有定义 b22./a2=b22/a2=a2.b22=a2b22 a3=3 2 1;4 6 2
25、;3 4 3;a2./a3=a3.a2*a2/a3、a3a2没有定义,58,b2=1 2 3;b22=2;4;1;a3=3 2 1;4 6 2;3 4 3;上述各量之间的数组左右除均无定义。B2=3 4 6;B22=4;2;3;b2./B2=B2.b2 b2.B2=B2./b2 b22./B22=B22.b22 b22.B22=B22./b22b3=2 3 1;4 3 2;3 2 1;a3./b3=b3.a3 a3.b3=b3./a3a4=1 2 3 4;3 1 4 5;4 3 2 1;b4=1 2 3;4 3 2;5 3 2;1 2 3;a4.b4 b4.a4 a4./b4 b4./a4均无
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- matlab 基础 海大版
链接地址:https://www.31ppt.com/p-5439058.html