第2章Matlab数据及其运算_第1页
第2章Matlab数据及其运算_第2页
第2章Matlab数据及其运算_第3页
第2章Matlab数据及其运算_第4页
第2章Matlab数据及其运算_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1第第2 2章章 MATLABMATLAB数据及其运算数据及其运算2 2.1 MATLAB数据的特点2.2 变量及其操作2.3 MATLAB矩阵的表示2.4 MATLAB数据的运算2.5 字符串2.6 结构数据和单元数据3 矩阵是MATLAB最基本、最重要的数据对象,MATLAB的大部分运算或命令都是在矩阵运算的意义下执行的,而且这种运算定义在复数域上。向量和单个数据都可以作为矩阵的特例来处理。 数值数据:双精度型、单精度数、带符号整数和无符号整数。2.1 MATLAB数据的特点数据的特点42.2 变量及其操作变量及其操作1变量命名 在MATLAB 7.0中,变量名是以字母开头,后接字母、数字

2、或下划线的字符序列,最多63个字符。在MATLAB中,变量名区分字母的大小写。2.2.1 变量与赋值52赋值语句 (1) 变量=表达式 (2) 表达式 其中表达式是用运算符将有关运算量连接起来的式子,其结果是一个矩阵。6例2.1 计算表达式的值,并显示计算结果。 在MATLAB命令窗口输入命令:x=(5+cos(47*pi/180)/(1+sqrt(7)-2*i) 其中pi和i都是MATLAB预先定义的变量,分别代表代表圆周率和虚数单位。7 在MATLAB工作空间中,还驻留几个由系统本身定义的变量。例如,用pi表示圆周率的近似值,用i,j表示虚数单位。预定义变量有特定的含义,在使用时,应尽量避

3、免对这些变量重新赋值。3. 预定义变量8内存变量的显示与删除 who命令只显示出驻留变量的名称; whos在给出变量名的同时,还给出它们的 大小、所占字节数及数据类型等信息。 clear命令用于删除MATLAB工作空间中的变量; clc命令用于删除MATLAB命令窗口的内容2.2.2变量的管理9 MATLAB用十进制数表示一个常数,具体可采用日常记数法和科学记数法两种表示方法。 在一般情况下,MATLAB内部每一个数据元素都是用双精度数来表示和存储的。数据输出时用户可以用format命令设置或改变数据输出格式。format命令的格式为: format 格式符 其中格式符决定数据的输出格式2.2

4、.3数据的输出格式10各种 format 格式格式格式解释解释例例format短格式(缺省显示格式),同短格式(缺省显示格式),同short3.1416format short短格式(缺省显示格式),只显示短格式(缺省显示格式),只显示5位位3.1416format long长格式,双精度数长格式,双精度数15位,单精度数位,单精度数7位位3.14159265358979format short e短格式短格式e方式(科学计数格式方式(科学计数格式)3.1416e+000format long e长格式长格式e方式方式3.141592653589793e+000format short g短格

5、式短格式g方式方式3.1416format long g长格式长格式g方式方式3.14159265358979format compact压缩格式压缩格式format loose自由格式自由格式format bank / format rat / format hex (银行银行/有理数有理数/十六进制十六进制)112.3 MATLAB矩阵的表示矩阵的表示 最简单的建立矩阵的方法是从键盘直接输入矩阵的元素。具体方法如下: 将矩阵的元素用方括号括起来,按矩阵行的顺序输入各元素,同一行的各元素之间用空格或逗号分隔,不同行的元素之间用分号分隔。2.3.1 矩阵的建立1直接输入法12例:输入矩阵例:输

6、入矩阵A、B的值的值A=1 2 3 4; 5 6 7 8; 9 10 11 12; 13 14 15 16B=1,sqrt(25),9,132,6,10,7*23+sin(pi),7,11,15,4,abs(-8),12,16132利用M文件建立矩阵 对于比较大且比较复杂的矩阵,可以为它专门建立一个M文件。 下面通过一个简单例子来说明如何利用M文件创建矩阵。14 (1) 启动有关编辑程序或MATLAB文本编辑器,并输入待建矩阵(2) 把输入的内容以纯文本方式存盘(设文件名为mymatrix.m)(3) 在MATLAB命令窗口中输入mymatrix,即运行该M文件,就会自动建立一个名为MYMAT

7、的矩阵,可供以后使用。例2.2 利用M文件建立MYMAT矩阵。153建立大矩阵大矩阵可由方括号中的小矩阵或向量建立起来。 例如A=1 2 3;4 5 6;7 8 9;C=A,eye(size(A); ones(size(A),A16 2.3.2 冒号表达式 冒号表达式可以产生一个行向量,一般格式是:e1:e2:e3 其中e1为初始值,e2为步长,e3为终止值。 在MATLAB中,还可以用linspace函数产生行向量。其调用格式为:linspace(a,b,n)其中a和b是生成向量的第一个和最后一个元素,n是元素总数。显然,linspace(a,b,n)与a:(b-a)/(n-1):b等价。1

8、72.3.3 2.3.3 矩阵的拆分矩阵的拆分lA(m, n)提取第提取第m行,第行,第n列元素列元素lA(:, n)提取第提取第n列元素列元素lA(m, :)提取第提取第m行元素行元素lA(m1:m2, n1:n2) 提取第提取第m1行到第行到第m2行和第行和第n1列到第列到第n2列的所有元素列的所有元素lA(m:end, n)提取从第提取从第m行到最末行和第行到最末行和第n列的子块列的子块lA(:)得到一个长列矢量,该矢量的元素按矩得到一个长列矢量,该矢量的元素按矩阵的列进行排列阵的列进行排列18例:例: 修改矩阵A中元素的数值A=1 2 3 4; 5 6 7 8; 9 10 11 12;

9、 13 14 15 16;A(1,1)=0;A(2,2)=A(1,2)+A(2,1);A(4,4)=cos(0);则矩阵变为:A = 0 2 3 4 5 7 7 8 9 10 11 12 13 14 15 1192.4 MATLAB数据的运算l1矩阵的加减运算:矩阵的加减运算:(加加)、(减减)l2矩阵乘法:矩阵乘法:*(乘乘)l3矩阵除法:矩阵除法:/ (右除右除)、 (左除左除)l4矩阵的乘方:矩阵的乘方:(乘方乘方)l5矩阵转置:矩阵转置: (转置运算符转置运算符)20 矩阵乘(矩阵乘( )运算运算lA矩阵的列数必须等于矩阵的列数必须等于B矩阵的行数矩阵的行数 例例a=1 2 3;4 5

10、 6;7 8 0;b=1;2;3;c=aa=1 2 3;4 5 6;7 8 0;b=1;2;3;c=a* *b bc =14c =14 32 32 23 23l标量可与任何矩阵相乘标量可与任何矩阵相乘 例例 d=-1;0;2;f=pi d=-1;0;2;f=pi* *d df = -3.1416f = -3.1416 0 0 6.2832 6.283221在在MATLAB中矩阵除的运算有两种矩阵除运算中矩阵除的运算有两种矩阵除运算 MATLAB用“/” 代表右除(常用除法)和“”左除运算。这两种运算的差别如下:例如:2/5 表示0.4, 25 表示2.5;对于矩阵,A/B 表示AB-1,即A*

11、inv(B);BA 表示B-1A,即inv(B)*A。矩阵除法可以看作矩阵乘法的逆运算。矩阵除运算、乘方运算 22矩阵的乘方、点运算矩阵的乘方、点运算乘方运算:乘方运算: 一个矩阵的乘方运算可以表示成Ax,要求A为方阵,x为标量。 点运算点运算 在MATLAB中,有一种特殊的运算,因为其运算符是在有关算术运算符前面加点,所以叫点运算。点运算符有.*、./、.和.。两矩阵进行点运算是指它们的对应元素进行相关运算,要求两矩阵的维参数相同。232.1.4矩阵函数函函 数数功功 能能det计算矩阵所对应的行列式的值diag抽取矩阵对角线元素eig求特征值和特征向量inv求矩阵的逆阵Rank求矩阵的秩2

12、43. MATLAB常用数学函数函数使用说明:(1) 三角函数以弧度为单位计算。(2) abs函数可以求实数的绝对值、复数的 模、字符串的ASCII码值。(3) 用于取整的函数有fix、floor、ceil、round,要注意它们的区别。(4) rem与mod函数的区别。rem(x,y)和mod(x,y)要求x,y必须为相同大小的实矩阵或为标量。252.4.2 关系运算 MATLAB提供了6种关系运算符:(小于)、(大于)、=(大于或等于)、=(等于)、=(不等于)。它们的含义不难理解,但要注意其书写方法与数学中的不等式符号不尽相同。26 (1) 当两个比较量是标量时,直接比较两数的大小。若关

13、系成立,关系表达式结果为1,否则为0。 (2) 当参与比较的量是两个维数相同的矩阵时,比较是对两矩阵相同位置的元素按标量关系运算规则逐个进行,并给出元素比较结果。最终的关系运算的结果是一个维数与原矩阵相同的矩阵,它的元素由0或1组成。关系运算符的运算法则为:27 (3) 当参与比较的一个是标量,而另一个是矩阵时,则把标量与矩阵的每一个元素按标量关系运算规则逐个比较,并给出元素比较结果。 最终的关系运算的结果是一个维数与原矩阵相同的矩阵,它的元素由0或1组成。28A =24,35,13,22,63;23,39,47,80,80; .90,41,80,29,10;45,57,85,62,21;37

14、,19,31,88,76 P=rem(A,3)=0 其中,rem(A,3)是矩阵A的每个元素除以3的余数矩阵。此时,0被扩展为与A同维数的零矩阵,P是进行等于(=)比较的结果矩阵。例2.3 建立5阶方阵A,判断A的元素是否能被3整除。29MATLAB提供了3种逻辑运算符:&(与)、|(或)和(非)。 逻辑运算的运算法则为: (1) 在逻辑运算中,确认非零元素为真,用1表示,零 元素为假,用0表示。 (2) 设参与逻辑运算的是两个标量a和b,那么, a&b a,b全为非零时,运算结果为1,否则为0。 a|b a,b中只要有一个非零,运算结果为1。 a 当a是零时,运算结果为1;当a非零时, 运算结果为0。2.4.3 逻辑运算30 (3) 若参与逻辑运算的是两个同维矩阵,那么运算将对矩阵相同位置上的元素按标量规则逐个进行。最终运算结果是一个与原矩阵同维的矩阵,其元素由1或0组成。 (4) 若参与逻辑运算的一个是标量,一个是矩阵,那么运算将在标量与矩阵中的每个元素之间按标量规则逐个进行。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论