MATLAB基本运算.ppt
《MATLAB基本运算.ppt》由会员分享,可在线阅读,更多相关《MATLAB基本运算.ppt(75页珍藏版)》请在三一办公上搜索。
1、1,第2章 MATLAB基本运算,2.1 数据类型 2.2 数组2.3矩阵2.4 字符串2.5 日期和时间2.6 结构体和元胞数组2.7 多维数组2.8 关系运算和逻辑运算2.9 数组的信息获取2.10 多项式,2,2.1数据类型,MATLAB 定义了15种基本的数据类型,包括整型、浮点型、字符型和逻辑型等,用户可以定义自己的数据类型。任何类型的数据均按数组的形式进行存储和运算。,3,常数和变量,1.常数:采用十进制表示,可用带小数点的形式直接表示或用科学计数法表示。2.变量MATLAB的变量命名规则如下:变量名区分字母的大小写。例如,“a”和“A”是不同的变量。变量名不能超过63个字符,第6
2、3个字符后的字符被忽略。变量名必须以字母开头,变量名的组成可以是任意字母、数字或者下划线,但不能含有空格和标点符号(如,。%等)。关键字(如if、while等)不能作为变量名。,练习,4,赋值语句(1)变量=表达式(2)表达式其中表达式是用运算符将有关运算量连接起来的式子,其结果是一个矩阵。预定义的特殊变量 在MATLAB工作空间中,还驻留几个由系统本身定义的变量。例如,用pi表示圆周率的近似值,用i,j表示虚数单位。预定义变量有特定的含义,在使用时,应尽量避免对这些变量重新赋值。,5,特殊变量表,6,例2-1 计算表达式的值,并显示计算结果。在MATLAB命令窗口输入命令:x=1+2i;y=
3、3-sqrt(17);z=(cos(abs(x+y)-sin(78*pi/180)/(x+abs(y)其中pi和i都是MATLAB预先定义的变量,分别代表代表圆周率和虚数单位。输出结果是:z=-0.3488+0.3286i,7,练习a=5+3ib=2+4jc=2*pid=2/02*d1/d,8,整数和浮点数,1.整数,练习,9,2.浮点数,10,2.1.3 复数,Matlab 把复数作为一个整体处理(而不必像其他程序语言,将实部和虚部分开处理)。虚数单位用预定义变量i或j表示。复数z=a+bi 直角坐标表示和极坐标表示之间转换的matlab指令如下:Real(z)给出复数z的实部 Imag(z
4、)给出复数z的虚部Abs(z)给出复数z的模Angle(z)给出复数z的相角,11,2.2 数组,空数组(empty array):没有元素的数组;标量(scalar):是指11的矩阵,即为只含一个数的矩阵;向量(vector):是指1n或n1的矩阵,即只有一行或者一列的矩阵;矩阵(matrix):是一个矩形的mn数组,即二维数组;数组(array):是指多维数组mnk,其中矩阵和向量都是数组的特例。,12,2.2.1 创建简单的数组,x=a b c d e f 创建包含指定元素的行向量,x=first:last 创建从first开始,加1计数,到last结束的行向量,x=first:incr
5、ement:last 创建从first开始,加increment计数,last结束的行向量,x=linspace(first,last,n)创建从first开始,到last结束,有n个元素的行向量 y=1:7y=1 2 3 4 5 6 7,13,例如:,z=3:2:9z=3 5 7 9 v=y,zv=1 2 3 4 5 6 7 3 5 7 9 u=linspace(2,9,11)u=Columns 1 through 6 2.0000 2.7000 3.4000 4.1000 4.8000 5.5000 Columns 7 through 11 6.2000 6.9000 7.6000 8.3
6、000 9.0000,14,2.2.2 对数组元素的访问,(3)直接使用元素编址序号.x(a b c d)表示提取数组x的第a、b、c、d个元素构成一个新的数组 x(a)x(b)x(c)x(d).,(2)访问一块元素:x(a:b:c)表示访问数组x的从第a个元素开始,以步长为b到第c个元素(但不超过c),b可以为负数,b缺损时为1.,(1)访问一个元素:x(i)表示访问数组x的第i个元素.,例如:x=1:2:9x=1 3 5 7 9 y=x(2:1:5)y=3 5 7 9 z=x(1 3 5)z=1 5 9,15,前面例子中的数组都是一行数列,是行方向分布的.称之为行向量.数组也可以是列向量,
7、它的数组操作和运算与行向量是一样的,唯一的区别是结果以列形式显示.,产生列向量有两种方法:直接产生 例 c=1;2;3;4 转置产生 例 b=1 2 3 4;c=b 说明:以空格或逗号分隔的元素指定的是不同列的元素,而以分号分隔的元素指定了不同行的元素.,2.2.3 数组的方向,16,2.2.4 数组的运算,(1)标量-数组运算 数组对标量的加、减、乘、除、乘方是数组的每个元素对该标量施加相应的加、减、乘、除、乘方运算.,设:a=a1,a2,an,c=标量,则:a+c=a1+c,a2+c,an+c a.*c=a1*c,a2*c,an*c a./c=a1/c,a2/c,an/c(右除)a.c=c
8、/a1,c/a2,c/an(左除)a.c=a1c,a2c,anc c.a=ca1,ca2,can,17,(2)数组-数组运算 当两个数组有相同维数时,加、减、乘、除、幂运算可按元素对元素方式进行的,不同大小或维数的数组是不能进行运算的.,设:a=a1,a2,an,b=b1,b2,bn,则:a+b=a1+b1,a2+b2,an+bn a.*b=a1*b1,a2*b2,an*bn a./b=a1/b1,a2/b2,an/bn a.b=b1/a1,b2/a2,bn/an a.b=a1b1,a2b2,anbn,18,例2-14 使用数组算术运算法则进行向量的运算。t=0:pi/3:2*pi;%t为行向
9、量 x=sin(t)*cos(t)?Error using=mtimesInner matrix dimensions must agree.x=sin(t).*cos(t)x=0 0.4330-0.4330-0.0000 0.4330-0.4330-0.0000 y=sin(t)./cos(t)y=0 1.7321-1.7321-0.0000 1.7321-1.7321-0.0000,19,2.2.5 数组元素的删除 在MATLAB中可以对数组中的单个元素、子矩阵和所有元素进行删除操作,删除就是将其赋值为空矩阵(用表示)。,20,2.3 矩 阵,逗号或空格用于分隔某一行的元素,分号用于区分不
10、同的行.除了分号,在输入矩阵时,按Enter键也表示开始一新行.输入矩阵时,严格要求所有行有相同的列.例 m=1 2 3 4;5 6 7 8;9 10 11 12 p=1 1 1 1 2 2 2 2 3 3 3 3,2.3.1 矩阵的建立,21,特殊矩阵的建立:,d=eye(m,n)产生一个m行、n列的单位矩阵,c=ones(m,n)产生一个m行、n列的元素全为1的矩阵,b=zeros(m,n)产生一个m行、n列的零矩阵,a=产生一个空矩阵,当对一项操作无结果时,返回空矩阵,空矩阵的大小为零.,22,2.3.2 矩阵中元素的操作,(1)矩阵A的第r行:A(r,:),(2)矩阵A的第r列:A(:
11、,r),(4)取矩阵A的第i1i2行、第j1j2列构成新矩阵:A(i1:i2,j1:j2),(5)以逆序提取矩阵A的第i1i2行,构成新矩阵:A(i2:-1:i1,:),(6)以逆序提取矩阵A的第j1j2列,构成新矩阵:A(:,j2:-1:j1),(7)删除A的第i1i2行,构成新矩阵:A(i1:i2,:)=,(8)删除A的第j1j2列,构成新矩阵:A(:,j1:j2)=,(9)将矩阵A和B拼接成新矩阵:A B;A;B,(3)依次提取矩阵A的每一列,将A拉伸为一个列向量:A(:),23,(2)矩阵-矩阵运算 a)元素对元素的运算:与数组-数组运算相同.*./.,2.3.3 矩阵的运算,(1)标
12、量-矩阵运算 与标量-数组运算规则相同。,b)矩阵对矩阵运算:矩阵加减法:A+B A-B 矩阵乘法:A*B,矩阵除法:矩阵左除:AX=B,求 X。MATLAB 求解:X=AB若A为非奇异方阵,则 X=A-1B最小二乘解(若A不是方阵)矩阵右除:XA=B,求 X。MATLAB求解:X=B/A若A为非奇异方阵,则 X=BA-1最小二乘解(若A不是方阵),24,例2-12 用矩阵除法求方程组的解,已知方程组:解:X=AB是方程A*X=B的解,将该方程变换成A*X=B的形式。其中:A=2-3 1;1-1 1;1 3 1;B=8;7;6;X=AB,练习,25,2.3.4 矩阵分析 2.3.4.1 对角阵
13、与三角阵1对角阵只有对角线上有非0元素的矩阵称为对角矩阵,对角线上的元素相等的对角矩阵称为数量矩阵,对角线上的元素都为1的对角矩阵称为单位矩阵。,26,提取矩阵的对角线元素设A为mn矩阵,diag(A)函数用于提取矩阵A主对角线元素,产生一个具有min(m,n)个元素的列向量。diag(A)函数还有一种形式diag(A,k),其功能是提取第k条对角线的元素。构造对角矩阵设V为具有m个元素的向量,diag(V)将产生一个mm对角矩阵,其主对角线元素即为向量V的元素。diag(V)函数也有另一种形式diag(V,k),其功能是产生一个nn(n=m+k)对角阵,其第k条对角线的元素即为向量V的元素。
14、,27,例2-10 先建立55矩阵A,然后将A的第一行元素乘以1,第二行乘以2,第五行乘以5。,A=17,0,1,0,15;23,5,7,14,16;4,0,13,0,22;10,12,19,21,3;.11,18,25,2,19;D=diag(1:5);D*A%用D左乘A,对A的每行 乘以一个指定常数,28,2三角阵三角阵又进一步分为上三角阵和下三角阵,所谓上三角阵,即矩阵的对角线以下的元素全为0的一种矩阵,而下三角阵则是对角线以上的元素全为0的一种矩阵。,29,上三角矩阵求矩阵A的上三角阵的MATLAB函数是triu(A)。triu(A)函数也有另一种形式triu(A,k),其功能是求矩阵
15、A的第k条对角线以上的元素。例如,提取矩阵A的第2条对角线以上的元素,形成新的矩阵B。下三角矩阵在MATLAB中,提取矩阵A的下三角矩阵的函数是tril(A)和tril(A,k),其用法与提取上三角矩阵的函数triu(A)和triu(A,k)完全相同。,30,2.3.4.2 矩阵的转置与旋转1矩阵的转置转置运算符是单撇号()。2矩阵的旋转利用函数rot90(A,k)将矩阵A旋转90的k倍,当k为1时可省略。,31,3矩阵的左右翻转对矩阵实施左右翻转是将原矩阵的第一列和最后一列调换,第二列和倒数第二列调换,依次类推。MATLAB对矩阵A实施左右翻转的函数是fliplr(A)4矩阵的上下翻转MAT
16、LAB对矩阵A实施上下翻转的函数是flipud(A)。,32,2.3.4.3 矩阵的逆对于一个方阵A,如果存在一个与其同阶的方阵B,使得:AB=BA=I(I为单位矩阵)则称B为A的逆矩阵,当然,A也是B的逆矩阵。求一个矩阵的逆是一件非常烦琐的工作,容易出错,但在MATLAB中,求一个矩阵的逆非常容易。求方阵A的逆矩阵可调用函数inv(A)。例2-11 用求逆矩阵的方法解线性方程组。Ax=b其解为:x=A-1b,33,2.3.4.4 方阵的行列式把一个方阵看作一个行列式,并对其按行列式的规则求值,这个值就称为矩阵所对应的行列式的值。在MATLAB中,求方阵A所对应的行列式的值的函数是det(A)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB 基本 运算

链接地址:https://www.31ppt.com/p-6511849.html