《Matlab入门教程》由会员分享,可在线阅读,更多相关《Matlab入门教程(37页珍藏版)》请在金锄头文库上搜索。
1、第 1 章 主要功能1数值计算矩阵作为数据操作的基本单位,还提供了十分丰富的数值计算函数。2绘图功能可以绘制二维、三维图形,还可以绘制特殊图形(与统计有关的图,例如:区域图、直方图、饼图、柱状图等) 。3编程语言有程序结构控制、函数调用、数据结构、输入输出、面向对象等程序语言特征,而且简单易学、编程效率高。4具箱含两部分内容:基本部分和各种可选的工具箱。具箱分为两大类:功能性工具箱和学科性工具箱。言的特点 语言简洁紧凑,使用方便灵活,易学易用。例如:A=1 2 3;4 5 6;7 8 9一条语句实现了对 3阵的输入。 语句功能强大,一条语句相当于其它语言的一个子程序,例如 语句简单,内涵丰富。
2、同一个函数有不同的输入变量和输出变量,分别代表不同的含义。 具有结构化的控制语句(if、支持面向对象的程序设计。 方便的绘图功能。 包含功能强劲的工具箱。 易于扩展。初识 绘制正弦曲线和余弦曲线。x=0:60*80;x,x),x,x);例 1求方程 39 的全部根。p=3,7,9,0, %建立多项式系数向量x=p) %求根例 1求积分x.*+x),0,1)例 1求解线性方程组。a=2,;8,3,2;45,1, b=4;2;17; x=a)*运行环境硬件环境:(1) 2) 内存(3) 硬盘(4) 动器和鼠标软件环境:(1) 8/000 或 P(2) 安装运行系统的安装程序 以按照安装提示依次操作
3、。启动与退出 成环境1统的启动与一般的 序一样,启动 统有 3 种常见方法:(1)使用 始” 菜单。(2)运行 统启动程序 3) 利用快捷方式。当 装完毕并首次启动时,展现在屏幕上的界面为 默认界面,如上图所示。2统的退出要退出 统,也有 3 种常见方法:(1) 在 窗口 单中选择 令。(2) 在 令窗口输入 令。(3) 单击 窗口的“关闭”主窗口窗口是 主要工作界面。主窗口除了嵌入一些子窗口外,还主要包括菜单栏和工具栏。1菜单栏在 窗口的菜单栏,共包含 个菜单项。(1) 单项:单项实现有关文件的操作。(2) 单项:单项用于命令窗口的编辑操作。(3) 单项:单项用于设置 成环境的显示方式。(4
4、) 单项:单项用于设置 作。(5) 单项:主窗口菜单栏上的 单,只包含一个子菜单 于关闭所有打开的编辑器窗口,包括 口。(6) 单项: 单项用于提供帮助信息。命令窗口命令窗口是 主要交互窗口,用于输入命令并显示除图形以外的所有执行结果。令窗口中的 “”为命令提示符,表示 在处于准备状态。在命令提示符后键入命令并按下回车键后,会解释执行所输入的命令,并在命令后面给出计算结果。一般来说,一个命令行输入一条命令,命令行以回车结束。但一个命令行也可以输入若干条命令,各命令之间以逗号分隔,若前一命令后带有分号,则逗号可以省略。例如,;多行命令()可以使用多行命令继续输入。S=13+4+9 个小黑点称为续
5、行符,即把下面的物理行看作该行的续行。工作空间窗口工作空间是 于存储各种变量和结果的内存空间。在该窗口中显示工作空间中所有变量的名称、大小、字节数和变量类型说明,可对变量进行观察、编辑、保存和删除。当前目录窗口和搜索路径1当前目录窗口当前目录是指 行文件时的工作目录,只有在当前目录或搜索路径下的文件、函数可以被运行或调用。在当前目录窗口中可以显示或改变当前目录,还可以显示当前目录下的文件并提供搜索功能。将用户目录设置成当前目录也可使用 令。例如,将用户目录 c:置为当前目录,可在命令窗口输入命令: cd c:搜索路径在 令窗口输入一条命令后, 照一定次序寻找相关的文件。基本的搜索过程是:(1)
6、 检查该命令是不是一个变量。(2) 检查该命令是不是一个内部函数。(3) 检查该命令是否当前目录下的 M 文件。(4) 检查该命令是否 索路径中其他目录下的 M 文件。命令历史记录窗口在默认设置下,历史记录窗口中会自动保留自安装起所有用过的命令的历史记录,并且还标明了使用时间,从而方便用户查询。而且,通过双击命令可进行历史命令的再运行。如果要清除这些历史记录,可以选择 单中的 令。启动平台窗口和 钮启动平台窗口可以帮助用户方便地打开和调用各种程序、函数和帮助文件。窗口左下角还有一个 钮,单击该按钮会弹出一个菜单,选择其中的命令可以执行 品的各种工具,并且可以查阅含的各种资源。帮助窗口进入帮助窗
7、口可以通过以下 3 种方法:(1) 单击 窗口工具栏中的 钮。(2) 在命令窗口中输入 3) 选择 单中的“项。帮助命令助命令包括 及模糊查询。1令(1)直接输入 令将会显示当前帮助系统中所包含的所有项目;(2)函数名来显示该函数的帮助说明。2令令只搜索出那些关键字完全匹配的结果,令对搜索范围内的M 文件进行关键字搜索,条件比较宽松。令只对 M 文件的第一行进行关键字搜索。若在 令加上可对 M 文件进行全文搜索。3模糊查询上的版本提供了一种类似模糊查询的命令查询方法,用户只需要输入命令的前几个字母,然后按 ,系统就会列出所有以这几个字母开头的命令。演示系统在帮助窗口中选择演示系统(项卡,然后在
8、其中选择相应的演示模块,或者在命令窗口输入 者选择主窗口 单中的 菜单,打开演示系统。第 2 章 单矩阵输入1、命令行简单键盘输入用于很少数据输入矩阵的方向:, ; 、文件形式输入文本文件:从文本文件中读入数据 件:有的数据格式 句生成矩阵1、线性等间距格式矩阵 (1)X=起始值:增加值:结束值 (2)令a=,10,5);(3)令b=,2,10)2、矩阵连接c=a b;生成矩阵的函数 阵运算1、矩阵的运算符 :加法 :減法 *:乘法;点乘:.* /:右除;右除:./ :左除;左除:. :乘方 2、矩阵的转置等运算 共轭转置; . 转置 阵求逆 行列式值 特征值与特征向量 运算规则:从左到右;先
9、乘除后加减;乘方运算符最高(1)两矩阵加减,前提是维数相同,进行加减运算时,对应的元素进行加减;(2)矩阵与标量加减,用矩阵中的每个元素都与标量进行加减运算;(3)两矩阵相乘,前提是前一矩阵的列等于后一矩阵的行,与数学约定一样;(4)矩阵与标量相乘,用矩阵中的每个元素都与标量进行相乘;(5)矩阵中的元素对元素的相乘: .* 矩阵中的元素对元素的相除: ./ .z=x.y x,y 均为向量:z(i)=x(i) y(i)x 为向量,y 为标量:z(i)=x(i) 标量,y 为向量:z(i)=xy(i) 阵的超越函数函数名 含义 对值或者复数模 方根 部 部 数共轭 舍 5 入到整数 入到最接近 0
10、的整数 入到最接近-的整数 入到最接近的整数函数名 含义 号函数 数 弦 弦 切 正弦 余弦 除 法 左 除 法對 矩 陣 1/ () ; ():()*; 正切 四象限反正切 函数名 含义 曲正弦 曲余弦 曲正切 然指数 然对数 10 为底的对数 系和逻辑运算1、 关系操作符(1)用的关系操作符有:(大于)、=( 大于或等于)、= =(等于)、 =(不等于)。(2)关系操作符可以用来比较两个大小相同的数组,或者比较一个数组和一个标量。在与标量比较时,结果和数组大小一样。(3)如果满足指定的关系,返回 1,否则返回 0。 a=1:9;b=a4b =0 0 0 0 1 1 1 1 1c=a(a4)
11、c =5 6 7 8 9 2 、逻辑操作符(1)逻辑操作符定义了一种与或非的关系表达式。逻辑操作符有&(与)、|(或)、(非) (2)所有逻辑运算符连接的两个操作数或者同维、同大小,或者其中一个为标量。(3)逻辑运算符都是对元素的操作,每个非零元素都当作“1”处理,逻辑运算的结果是由 1 和 0 构成的矩阵。例如:c=(a4)c = 1 1 1 1 0 0 0 0 0c=(a4)&(aB=1 2 3;4 5 6; 7 8 9;B(2,: )=B=1 2 37 8 92、为了提取矩阵 a 的第 n 行、第 m 列的元素值,使用 a(n,m)可以得到。同样,将矩阵 a 的第 n 行、第 m 列的元
12、素值赋为 r,使用 a(n,m)=r 这样的命令。注意:在提取矩阵值时,行或列的值大于矩阵的大小,则出错;在给矩阵赋值时,如果行或者列超出矩阵的大小,则 动扩充矩阵的规模,使得可以赋值,扩充部分以零填充。3、利用矩阵下标,提供了子矩阵功能。同样是上面的 a(n,m),如果n 和 m 是向量,而不是标量,样,矩阵的子块还可以被赋值。如果在取子块时,n 或 m 是“:”,则返回指定的所有行或列。5、矩阵的序号编址:按列计数。 阵大小1、在 令行中,使用 令可以查看到所有变量的大小。2、为了获得矩阵或者向量的大小,提供了两个有用的函数 、照下面的形式使用:m,n=a,x) 。一般的, (1)不用参量
13、 x 时:当只有一个输出变量时,回一个行向量,第一个数为行数,第二个数为列数;如果有两个输出变量,第一个返回量为行数,第二个返回数为列数。 (2)当使用 x 时:x=1 返回行数,x=2 返回列数,这时只有一个返回值。4、回行数或者列数的最大值,即 a)=a)。阵操作函数供了一组执行矩阵操作的函数,例如:a)使得矩阵上下翻转,a)阵查找和排序1、子矩阵的查找使用 令完成,它返回关系表达式为真的下标。例如:a=10:20;a15)7 8 9 10 112、矩阵的排序使用 数,它将矩阵按照升序排列。时间和日期 1、日历函数:间函数:看 间:、日期函数:表定时:出和保存工作空间: 1 、 作空间中的
14、所有变量保存在磁盘上名为 文件中。2 、 文件名 变量名将指定的变量保存在指定的文件中。如:x y z把 x y z 这 3 个变量保存在文件 。3、下次加载 ,可以利用 令将保存在文件中的变量恢复到工作空间中,其格式为:(1)保存在 的变量装入到 间中。(2)文件名 变量名从指定文件中将指定的变量装入到 工作空间中。如:x 从文件 只将变量 x 装入到 工作空间中。变量1、基本运算 变量 逗号、分号的意义 行内编辑、注释、运算规则2、变量要求变量区分字母的大小写名字不能超过 31 个字符变量必须以字母开头,之后可以是任意字母、数不需要特殊的处理,可以直接进行。复数可以表示为:a=10 据类型
15、:双精度型、字符型、稀疏型、单元型、结构型、8 位型最常使用的是双精度型和字符型;稀疏型用于稀疏矩阵;单元型和结构型用于编写大型软件;8 位型(上版本:16 位型、32 位型)用于图象处理。1、双精度型(在缺省情况下,当结果为整数,作为整数显示;当结果为实数,以小数后 4位的精度近似显示。如果结果中的有效数字超出了这一范围,以科学计数法显示结果。 2、字符型( a= a =1)字符数组的定义:字符数组就是字符串,字符串中的每一个字符在系统内部都相应地表示一个数值。 a= a = a) 1 16 相关函数A、函数 来显示字符串: B、判断一个变量是否为字符型数组,可以用函数 x=a)y=a) x
16、 = 1 (2)字符与数值的相互转换:一个字符串转换为一个数值数值转换为字符串 s=s1=s)s2= s = 71 111 111 100 32 109 111 114 110 105 110 103 33(3)字符串的比较A、别两个字符串是否相等B、 别两个字符串的前 n 个字符是否相等 a1=s1,a2=s1,) 0 1 (4)二维字符数组:创建二维字符数组时,每行的长度要相等。如果字符串长度不等,可以用空格充填较短的字符串。例如:s=; s =用 数创建二维字符数组比较方便。当字符串长度不等时,数可以自动地在较短的字符中加上一定数量的尾部空格,使其与最长字符串的长度相等。例如:y= z1
17、=y) z2=y) y = 5 3 5 3、稀疏型(含有大量 0 的矩阵,称为 矩阵。只存储矩阵中的非 0 元素) 生成单位稀疏矩阵 (1,1) 1(2,2) 1(3,3) 1(4,4) 14、单元型( 把不同类型的数据存储在一起的数组称为单元数组。单元数组中的每个元素是其他任意一种数据类型,通常可以将相关的尺寸大小不同的数据组合在一起。 a=1,1 2 3a = 1 1x3 1)创建单元数组:n):生成一个 n*n 维的空数组c=m,n):生成一个 m*n 维的空数组c=):生成一个和所包含的数组 A 阶数完全相同的空数组=) c=) A = 1 00 1c = 单元数组赋值D=,3) D1
18、,1= D1,2=1 2;4 5;D1,3=1+4i; D D = D = 2x2 用直接输入的方法创建单元数组,单元数组的下标用圆括号括起来,右边是单元数组的内容,用花括号括起来。,1)=;,2)=200;,1)=5,2)=1 2;4 5 200 2x2 (2)单元数组的显示A、直接显示a = 200 2、利用函数显示a) a,C、利用图形显示单元数组 a) a, 05)单元数组的变形 E=,1,6) ) 4x4 3x3 (5)字符型单元数组:由于字符矩阵要求矩阵的每一行的长度相等,需要在字符串的尾端加入空格,在读取的时候,又常常将末尾的空格去掉,很不方便。由于单元数组允许不同的单元内有不同
19、类型和长度的数据,问题就可以避免。标准的字符型数组转换为字符型单元数组。; 、结构型(把不同类型的数组存储在一起的数组称为结构数组。结构数组相当于数据库的记录。结构数组中不同类型的数组是通过不同的域名来区分的。在 结构数组中,每个元素都是由不同的数据类型所组成的,不同的数据类型分别放在不同的数据区域里,称为结构数组的域。(1)建立结构数组A、利用函数 立结构数组调用格式:s=,)例 ,20,21,29,) %注意: 所有的 赋相同的值 ) ) B、 10; 10 ) 1x3 相关函数 A、取结构数组中某个域的内容B、 置结构数组中某个域的内容C、 除结构数组的域D、断某个变量域是否是一个结构数
20、组的域E、断某个变量域是否是一个结构数组第 3 章 序设计1、设置完整的路径;(1)对于用户程序中使用的文件名和变量名,系统按照以下顺序搜索:A、查找对象是否是工作空间的变量;B、查找对象是否是系统的内部函数;C、查找对象是否是在系统的当前目录下。(2)路径设置的方法:A、在命令窗口下使用 令;B、在菜单栏下的 。2、参数值要集中放在程序的开始部分,便于维护;3、每行程序后输入分号,则执行程序行不会显示在屏幕上;如果不输入分号,则执行程序行会显示在屏幕上;4、符号“%”后的内容是注释行;5、如果语句在一行中放不下,则可以在行末键入三个点() ,指示下一行为续行;6、遇到不明白的命令,多使用在线
21、帮助命令或系统演示示例;7、尽量使程序模块化,采用主程序调用子程序的方法,将所有子程序合并在一起来执行全部的操作。 序的基本组成部分: %说明部分清除命令(可选)定义变量(局部变量和全局变量)按照顺序行执行的命令语句控制语句开始控制语句体控制语句结束 其他命令(如绘图等)工作方式有二种1. 交互式的指令操作方式。即用户在命令窗口中输入命令并按下回车键后,系统执行该指令并立即给出运算结果。2. m 文件的编程方式。m 文件是由 句构成的文件,扩展名,如 户可以用任何文件编辑器来对 M 文件进行编辑。言编写的磁盘文件称为 M 文件,扩展名为 m,格式为* 文件可以互相调用,也可以调用它自己。(1)
22、M 文件在功能上分为:A、底稿文件对于简单的问题,在命令窗口的 示符下,输入 语句,这样可以快速有效地得到结果。当问题比较复杂时,需要执行一系列语句,在 示符下键入语句就变的很麻烦。对这个问题,供了一种逻辑解决方案,允许用户把令放在一个简单的文本文件中,这些文件称为底稿文件。 格式: f1,=x,y,z,)其中 x,y,z,是形式输入参数,f1,为返回的形式输出参数值,形式函数名,函数名一般就是这个函数文件的文件名。开始的语句构成了 M 文件的帮助信息,当键入:件名 可得到文件的说明信息。 (在线帮助)(2)函数文件和底稿文件的区别:a、形式上,函数文件第一行必须包含关键字 有函数名和输入输出
23、形式参数,而底稿文件没有;b、函数文件可以传递参数,底稿文件不具备参数传递功能;c、函数文件中定义及使用的变量都是局部变量,只在本函数内有效,底稿文件中定义及使用的变量都是全局变量,在退出文件后仍有效。 上到下依次执行各语句,该结构最简单。1)环 用于循环次数事先确定的,格式为 i=n:s:m (初值:步长:终值)语句体 s 为步长,可以为正数,负数或小数。 说明:变量 x 通常称为循环变量。循环变量可以是一个数组。如果循环变量是数组,在 句之间的按数组中的每一列执行一次。在每一次迭代中,x 被指定为数组的下一列,即在第 n 次循环中,x=, n)。例如,x=0 2 3;4 7 9a=x /把
24、矩阵 x 的每一列元素依次赋给变量 Ab=a+4运行结果:x = 0 2 34 7 9b = 48b = 611b = 713与 环相关的其它规定:(1)环不能用 环内重新赋值循环变量 n 来终止。(2)环可以嵌套。(3)当有一个等效的数组方法来解给定的问题时,应避免用 环。例如, n=1:10; x=n*0) (4)为了得到最大的速度,在 环(环) 被执行之前,应预先分配数组。例如,在 环内每执行一次命令,变量 x 的大小增加 1。迫使 通过一次循环要花费时间对 x 分配更多的内存。为了消去这个步骤,环的例子应重写为x=,10); % x n=1:10 x(n)=n*0); )循环 用于循环
25、次数不能事先确定的,格式为 达式 语句体 执行语句体,表达式为假,终止该循环。 说明:表达式可以是一个矩阵,且矩阵中的所有元素都为非 0 时,才执行循环体中的内容。如果表达式为一空矩阵,则循环体中的内容永远不会被执行。注意:要想在任何时候终止循环( 环) ,可利用 句。;a=0; % 0% 100)* 200 支结构语句格式为 表达式 0 达式 1 的值命令 1达式 2 的值命令 2.句可以根据一个变量或表达式的值执行特定的语句。先计算边表达式 0 的值,然后检查 句后面的值是否与表达式 0 的值相等,如表达式 1 的值与之相等,则执行命令行 1,否则继续检查第二个 句,如果所有 句的值都不等
26、于表达式 0 的值,则执行 面的命令行 n。在 ,如果一个 件满足,执行完这个 ,直接跳到句后面的语句,不在判断其他 句。5、句用来终止当前正在执行的函数中的命令,返回调用它的函数。 第 4 章 项式计算 多项式的表示用按降幂排列的多项式系数组成的行向量表示多项式,如:p(x)=x3被表示为:p = 1 0 2 5; 1多项式的加减运算2多项式乘法运算函数 1,于求多项式 乘积。这里,2 是两个多项式系数向量。例 4求多项式 多项式 2 的乘积3多项式除法函数Q,r=1,于对多项式 除法运算。其中 Q 返回多项式 以 商式,r 返回 以 余式。这里,Q 和 r 仍是多项式系数向量。 逆函数,即
27、有 P1=2,Q)+r。例 4求多项式 以多项式 2 的结果。多项式的导数对多项式求导数的函数是:p=):求多项式 A 的导函数p=,B):求 A 与 B 积的导函数p,q=,B):求 A/B 的导函数,导函数的分子存入 p,分母存入 q。上述函数中,参数 A,B 是多项式的向量表示,结果 p,q 也是多项式的向量表示。例 4求有理分式的导数。命令如下:P=1;Q=1,0,5;p,q=,Q)多项式的求值两种求多项式值的函数:,x),x)两者的区别在于前者是代数多项式求值,而后者是矩阵多项式求值。1代数多项式求值数用来求代数多项式的值,其调用格式为:Y=,x)若 x 为一数值,则求多项式在该点的
28、值;若 x 为向量或矩阵,则对向量或矩阵中的每个元素求其多项式的值。例 4已知多项式 别取 x=一个 23 矩阵为自变量计算该多项式的值。2矩阵多项式求值数要求 x 为方阵,它以方阵为自变量求多项式的值。设 A 为方阵, P 代表多项式 ,那么,A)的含义是:A*A*A+8*)而 ,A)的含义是:A.*A.*.*A+8*)例 4仍以多项式 例,取一个 22 矩阵为自变量分别用 算该多项式的值。项式求根n 次多项式具有 n 个根,当然这些根可能是实根,也可能含有若干对共轭复根。供的 数用于求多项式的全部根,其调用格式为:x=)其中 P 为多项式的系数向量,求得的根赋给向量 x,即 x(1),x(
29、2),x(n)分别代表多项式的 n 个根。注意:根被储存为列向量 例 4求多项式 根。命令如下:A=1,8,0,0,x=)若已知多项式的全部根,则可以用 数建立起该多项式,其调用格式为:P=x)若 x 为具有 n 个元素的向量,则 x)建立以 x 为其根的多项式,且将该多项式的系数赋给向量 P。例 4已知 f(x)(1) 计算 f(x)=0 的全部根。(2) 由方程 f(x)=0 的根构造一个多项式 g(x),并与 f(x)进行对比。命令如下:P=3,0,4,;X=) %求方程 f(x)=0 的根G=) %求多项式 g(x)项式拟合p=x,y,n):用最小二乘法对已知数据 x,y 进行拟合,以
30、求得 n 阶多项式的系数向量;p,s=x,y,n):p 为返回的拟合后的多项式的系数向量,s 为使用函数得的错误预估计值。 例 4,2*00);y=x);t=x,y,6);y1=t,x);x,y,x, 一维数据插值在 ,实现这些插值的函数是 调用格式为:Y1=,Y, 函数根据 X,Y 的值,计算函数在 的值。X,Y 是两个等长的已知向量,分别描述采样点和样本值,一个向量或标量,描述欲插值的点,一个与 长的插值结果。插值方法,允许的取值有A 、 寻找最近数据点,由其得出函数值;B、 线性插值(该函数的默认方法);C、 样条插值 ,数据点处光滑导等于右导;D、 三次插值例 4某观测站测得某日 4:
31、00 时至 18:00 时之间每隔 2 小时的室内外温度(),用 3 次样条插值分别求得该日室内外 4:30 至 17:30 时之间每隔 2 小时各点的近似温度()。设时间变量 h 为一行向量,温度变量 t 为一个两列矩阵,其中第一列存放室内温度,第二列储存室外温度。命令如下:h =4:2:18;t=18,20,22,25,30,28,24,28; 17,18,19,24,27,23,23,25;:h,t, %用 3 二维数据插值在 ,提供了解决二维插值问题的函数调用格式为:Z1=,Y,Z,1,其中 X,Y 是两个向量,分别描述两个参数的采样点,1,两个向量或标量,描述欲插值的点。根据相应的插值方法得到的插值结果。A、找最近数据点,由其得出函数值;B、 维线性插值C、 维三次插值例