MATLAB程序设计与教程课件MATLAB矩阵及其运算

上传人:豆浆 文档编号:53556884 上传时间:2018-09-02 格式:PPT 页数:50 大小:244KB
返回 下载 相关 举报
MATLAB程序设计与教程课件MATLAB矩阵及其运算_第1页
第1页 / 共50页
MATLAB程序设计与教程课件MATLAB矩阵及其运算_第2页
第2页 / 共50页
MATLAB程序设计与教程课件MATLAB矩阵及其运算_第3页
第3页 / 共50页
MATLAB程序设计与教程课件MATLAB矩阵及其运算_第4页
第4页 / 共50页
MATLAB程序设计与教程课件MATLAB矩阵及其运算_第5页
第5页 / 共50页
点击查看更多>>
资源描述

《MATLAB程序设计与教程课件MATLAB矩阵及其运算》由会员分享,可在线阅读,更多相关《MATLAB程序设计与教程课件MATLAB矩阵及其运算(50页珍藏版)》请在金锄头文库上搜索。

1、第2章 矩阵运算基础,2.1 Matlab数据 2.2 变量和赋值2.2.1 变量的命名2.2.2 赋值语句2.2.3 数据的输出格式2.2.4 预定义变量2.2.5 内存变量的管理,2.3 Matlab矩阵2.3.1 矩阵的建立2.3.2 冒号表达式2.3.3 矩阵的操作 2.4.1 矩阵和数组的算术运算 2.4.2 关系运算 2.4.3 逻辑运算 2.5矩阵和数组函数,2.1数据-特点,矩阵是MATLAB最基本、最重要的数据对象。向量可以看成是仅有一行或一列的矩阵。单个数据(标量)可以看成是矩阵的特例。一般情况下,矩阵的每个元素必须具有相同的数据类型,在实际应用中,有时需要将不同类型的数据

2、构成矩阵的元素,也就是结构体(Structure)和元胞(Cell)数据类型。,2.1数据-类型,MATLAB 7.3定义了15种基本的数据类型,包括整型、浮点型、字符型和逻辑型等,用户甚至可以定义自己的数据类型。,2.2 变量和赋值,变量是数值计算的基本单元。MATlab语言与其他高级语言不同, 变量使用时无需事先定义,其名称就 是第一次合法出现时的名称,因此使 用起来很便捷。,练习,2.2.1 变量的命名,MATLAB的变量命名规则如下: 变量名区分字母的大小写。例如,“a”和“A”是不同的变量。 变量名不能超过63个字符,第63个字符后的字符被忽略。 变量名必须以字母开头,变量名的组成可

3、以是任意字母、数字或者下划线,但不能含有空格和标点符号(如,。%等)。 不合法例子:1 1 a/b a-1 变量1 关键字(如if、while等)不能作为变量名。 MATLAB提供的标准函数名以及命令名必须用小写字母。,2.2.2赋值语句,(1) 变量=表达式 (2) 表达式 一般地,运算结果在命令窗口中显示出来。如果在语句的最后加分号,那么,MATLAB仅仅执行赋值操作,不再显示运算的结果。 在MATLAB语句后面可以加上注释,注释以%开头,后面是注释的内容。例 计算表达式的值,并将结果赋给变量x,然后显示出结果。在MATLAB命令窗口输入命令:x=(5+cos(47*pi/180)/(1+

4、sqrt(7)-2*i) %计算表达式的值,2.2.3 数据的输出格式,MATLAB用十进制数表示一个常数,具体可采用日常记数法和科学记数法两种表示方法。 在命令窗口中,默认情况下当数值为整数时,数值计算的结果以整数显示;当数值为实数时,以小数点后四位的精度近似显示,即以短(short)格式显示;如果数值超过这一范围,则以科学技术法显示结果。,例:a=1a=1 b=3.1416 b=3.1416 c=0.00005 c=5.0000e-005,数值计算结果的显示格式 :,数据输出时用户可以用format命令设置或改变数据输出格式。format命令的格式为: format 格式符注意,forma

5、t命令只影响数据输出格式,而不影响数据的计算和存储。,2.2.4 预定义变量,在MATLAB工作空间中,还驻留几个由系统本身定义的变量。它们有特定的含义,在使用时,应尽量避免对这些变量重新赋值。,3. 内存变量文件 利用MAT文件(.mat)可以把当前MATLAB工作空间中的一些有用变量长久地保留下来。MAT文件是MATLAB保存数据的一种标准格式二进制文件,扩展名一定是.mat MAT文件的生成和装入由save和load命令来完成。常用格式为:save 文件名 变量名表 -append-asciiload 文件名 变量名表 -ascii 假定系统存在am D两个变量,可以将其存放到mydat

6、a.mat save mydata am D load mydata am D save d:lxmmydata am D load d:lxmmydata am D,2.3 Matlab矩阵,Matlab中的数组可以说是无处不在,任何变量都是以数组型式存储和运算的,在Matlab运算中,经常要用到标量、向量、矩阵和数组,关于名称的定义如下: 空数组(empty array):没有元素的数组; 标量(scalar):是指11的矩阵,即为只含一个数的矩阵; 向量(vector):是指1n或n1的矩阵,即只有一行或者一列的矩阵; 矩阵(matrix):是一个矩形的mn数组,即二维数组; 数组(ar

7、ray):是指多维数组mnk,其中矩阵和向量都是数组的特例。,2.3.1 矩阵的建立,在MATLAB中矩阵的创建应遵循以下基本常规: 矩阵元素应用方括号()括住 每行内的元素间用逗号(,)或空格隔开 行与行之间用分号(;)或回车键隔开; 元素可以是数值或表达式。,(一)直接输入法,将矩阵的元素用方括号括起来,按矩阵行的顺序输入各元素,同一行的各元素之间用空格或逗号分隔,不同行的元素之间用分号分隔。 例如A=1 2 3;4 5 6;7 8 9 也可以用回车键代替分号。,MATLAB提供对复数的操作与管理功能,虚数单位用i或j表示,例如:6+5*i与6+5*j表示同一个复数。 复数的产生可以有几种

8、方式:z=a+b*i或z=a+b*jz=a+bi或z=a+bj(当b为常数时)复数矩阵还可以采用另一种输入方式R=1,2,3;4,5,6;Q=2,3,4;7,8,9;z=R+i*Q,(二)利用M文件建立矩阵,对于比较大且比较复杂的矩阵,可以为它专门建立一个M文件。例 利用M文件建立MYMAT矩阵。(1)启动有关编辑程序或MATLAB文本编辑器,并输入待建矩阵.(2)把输入的内容以纯文本方式存盘(设文件名为mymatrix.m)。(3)输入文件名,运行该M文件,就会自动建立一个名为MYMAT的矩阵,可供以后使用。,(三)利用MATLAB函数建立矩阵,几个产生特殊矩阵的函数: zeros 产生全0

9、矩阵(零矩阵) ones 产生全1矩阵 (么矩阵) eye 产生单位矩阵 rand 产生01间均匀分布的随机矩阵 randn 产生01间正态分布的随机矩阵,这几个函数的调用格式相似,下面以产生零矩阵的zeros函数为例进行说明。其调用格式是:zeros(m) 产生mm零矩阵zeros(m,n) 产生mn零矩阵。 zeros(size(A) 产生与矩阵A同样大小的零矩阵 相关的函数有:size(A) 返回包含2个元素的向量,分别是A的行数、列数length(A) 给出行数和列数中的较大者,即 length(A)=max(size(A);ndims(A) 给出A的维数。reshape(A,m,n)

10、 它在矩阵总元素保持不变的前提下,将矩阵A重新排成mn的二维矩阵。,例 分别建立33、32和与矩阵A同样大小的零矩阵。 (1)建立一个33零矩阵:zeros(3) (2)建立一个32零矩阵:zeros(3,2) (3)建立与矩阵A同样大小零矩阵:zeros(size(A) (4)将矩阵xv重新排成25、52矩阵 xv=23,34,65,67,54,38,78,76,32,56;ym=reshape(xv,2,5)newym=reshape(xv,5,2),2.3.2 冒号表达式,(1)使用冒号表达式生成向量 冒号表达式的一般格式:e1:e2:e3 其中e1为初始值, e2为步长, e3为终止值

11、。冒号表达式可产生一个由e1开始到e3结束,以步长e2自增的行向量。 在冒号表达式中如果省略e2不写,则步长为1。,(2)使用linspace和logspace函数生成向量linspace(a,b,n) %生成线性等分向量logspace(a,b,n) %生成对数等分向量 说明: a、b、n三个参数分别表示开始值、结束值和元素个数; linspace函数生成从a到b之间线性分布的n个元素的行向量,n如果省略则默认值为100; linspace(a,b,n)与a:(b-a)/(n-1):b等价。 logspace函数生成从10a到10b之间按对数等分的n个元素的行向量,n如果省略则默认值为50。

12、,2.4.1 矩阵和数组的算术运算,1基本的矩阵算术运算 矩阵的基本运算是+、-、和乘方()等。 (1)矩阵的加、减运算:A和B矩阵必须大小相同才可以进行加减运算。如果A和B中有一个是标量,则该标量与矩阵的每一个元素进行运算。 A+B 和A-B (2)矩阵的乘法运算: A的列数必须和B的行数相等,除非其中有一个是标量。 A*B 例: A=1 2 3;4 5 6 B=eye(2,3)计算:c=A+B,d=A*B,d=B*A,(3)矩阵的除法运算 矩阵的除法运算表达式有两种: AB %左除,A*X=B的解 A/B %右除,X*B=A的解 注:A/B=A*B-1 ,B-1是B的逆矩阵,也可用inv(

13、b)来表示。 练习:计算方程组的解。 (4)矩阵的乘方: AB (5)矩阵的转置 A %矩阵A的转置,2点运算 点运算符号为矩阵的相应运算符前面加“.” ,两矩阵进行点运算是指它们的对应元素进行相关运算,要求两矩阵的维参数相同。 格式如下: A.*B %数组A和数组B对应元素相乘 A./B %数组A除以数组B的对应元素 A.B %数组B除以数组A的对应元素 A.B %数组A和数组B对应元素的乘方,练习,%【例2-4】两个矩阵分别为1 2 3;4 5 6;7 8 9和1 1 1;2 2 2;3 3 3, % 求两者相加的和。 a=1 2 3;4 5 6;7 8 9; b=1 1 1;2 2 2;

14、3 3 3; c=a+b,% 【例2-5】两个矩阵分别为1 2 3;4 5 6;7 8 9和1 1 1,阶数不同, % 求两者相减的差。a=1 2 3;4 5 6;7 8 9; b=1 1 1; c=a-b,%【例2-6】两个矩阵相乘,矩阵a为 ,矩阵b为,分别计算c=a*b和d=b*a。a=1 2 3;4 5 6;7 8 9; b=1 2 3; c=a*b % 将第三句c=a*b改成d=b*a,再运行一次,% 【例2-7】两个数组相乘,数组a为 ,数组b为 ,求两数组的乘法。 % 在命令窗口输入两数组,计算c=a.*b:a=1 2 3; b=4 5 6; c=a.*b,% 【例2-8】两个矩

15、阵相除,矩阵a和b均为33阶矩阵。a=rand(3) b=rand(3) c=a/b d=ba,% 【例2-9】数组a为 ,数组b为 ,求两数组的除法。 a=1 2 3; b=4 5 6; c=a.b c=b./a% 【例2-10】矩阵a为1 2;3 4,求它的1.5次幂。 a=1 2;3 4; c=a1.5,% 【例2-11】数组a为1 2 3,数组b为4 5 6,求数组的幂c=a.b。 a=1 2 3; b=4 5 6; c=a.b% 【例2-12】数组a为1 2 3,求数组的幂c=a.2。 a=1 2 3; c=a.2,% 【例2-13】数组a为1 2 3,求数组的幂运算c=2.a。 a=1 2 3; c=2.a% 【例2-14】矩阵a为1 2 3;4 5 6;7 8 9,计算a的转置。 a=1 2 3;4 5 6;7 8 9; c=a,% 【例2-15】矩阵a为1+2i 3+4i,计算a的转置。a=1+2i 3+4i; c=a c=a.,(1) 关系操作符,关系操作符及其功能,(2) 逻辑操作符,逻辑操作符及其功能,(3) 关系与逻辑函数,关系与逻辑函数及其功能,各种运算符的优先级,% 【例2-16】矩阵a和b均为13阶矩阵,使用关系运算符对对应元素进行比较。 a=0 -1 2; b=-3 1 2; ab a=b a=b a=b,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号