资源预览内容
第1页 / 共119页
第2页 / 共119页
第3页 / 共119页
第4页 / 共119页
第5页 / 共119页
第6页 / 共119页
第7页 / 共119页
第8页 / 共119页
第9页 / 共119页
第10页 / 共119页
亲,该文档总共119页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第二讲 MATLAB的基本运算, matlab 具有出色的数值计算能力,占据世界上数值计算软件的主导地位,矩阵和数组,MATLAB提供了一种计算机高级编程语言M语言 MATLAB提供了不同类型的数据 MATLAB专门以矩阵作为基本的运算单位 MATLAB提供了关于数组和矩阵不同的运算方法,在M语言中最常用的数据类型表现手段和形式就是变量和常量 M语言的基本处理单位是数值矩阵或者数值向量 回顾有关概念 变量和常量 数组 向量 矩阵,变量和常量 变量:程序运行过程中需要改变数值的量 每一个变量都具有一个名字 变量在内存中占据一定的空间 变量必须以字母开头,后面可以是字母、数字或者下划线的组合 MATLAB仅识别前面N个字符,在不同的操作系统下可以识别的字符个数不同 常量:在程序运行的过程中不需要改变数值的量 常量具有名字 在M语言中不存在常量的定义,只在MATLAB中提供一些常用的常数作为常量,MATLAB的常量,数组 是有序数据的集合 数组的每一个成员(元素)都属于同一种数据类型,它们使用同一个数组名称和不同的下标来唯一确定数组中的成员(元素)。 在MATLAB中元胞数组比较特殊,数组中的元素可以是不同的数据类型。,向量 从编程语言的角度上看,向量其实就是一维数组 从数学的角度上看,向量就是1N或者N1的矩阵,即行向量或列向量b1,1b2,1B= b3,1 和B=b1,1 b1,2 b1,3 b1,nbn,1,矩阵 是用一对圆括号或方括号括起来,符合一定规则的数学对象b11 b12 b13B= b21 b22 b23 b31 b32 b33 对于编程语言,矩阵就是二维的数组,创建向量,1. 在命令窗口逐个输入元素例1:X= 1 3 pi 3+5i 2. 利用冒号运算符创建向量X=J:INC:K J为向量的第一个元素,K为向量的最后一个元素,INC为向量元素递增的步长 J、INC、K之间必须用“:”间隔 若忽略INC,则默认的递增步长为1 INC可以为正数,也可以为负数例2:X=1:10例3:X=1:0.01:1.1,创建向量(续),3. 定数线性采样法:在设定的“总点数”下,均匀采样生成向量(一维“行”数组) 使用函数linspace 和logspace linspace是用来创建线性间隔向量的函数 linspace 的基本语法X=linespace(X1,X2,n)X1为向量的第一个元素,X2为向量的最后一个元素,n为向量具有的元素个数,函数将根据n的数值平均计算元素之间的间隔,间隔计算公式为若在表达式中忽略参数n,则系统默认地将向量设置为100个元素,创建向量(续),例4 使用linspace函数创建向量 X=linspace(1,2,5) X=1.0000 1.2500 1.5000 1.7500 2.0000,创建向量(续),logspace是用来创建对数空间的向量 logspace 的基本语法X=logspace(X1,X2,n) 该函数创建的向量第一个元素值为10X1,而最后一个元素的数值为10X2,n为向量的元素个数,元素彼此之间的间隔按照对数空间的间隔设置 若在表达式中忽略参数n,则系统默认地将向量设置为50个元素,创建向量(续),例5 使用logspace函数创建向量 X=logspace(1,3,3) X=10 100 1000,创建向量(续),创建列向量 使用分号作为元素与元素之间的间隔 使用转置运算符“ ” 例6: A=1;2;3;4;5;6 或 A=(1:6) ,创建矩阵,矩阵的元素可以为任意MATLAB数据类型的数值或对象 创建矩阵的方法 直接输入法 使用数组编辑器,直接输入法,规则: 整个矩阵的元素必须用 括住 同一行的矩阵元素之间必须用逗号或空格分隔 在 内矩阵的行与行之间必须用分号分隔,也可以在需要分行的地方用回车键间隔 矩阵元素可以是任何MATLAB表达式 ,可以是实数 ,也可以是复数,复数用i,j 输入 例2-7:A = 1,2,3 ; 4,5,6;7,8,9 X = 2 pi/2 ; sqrt(3) 3+5i ,逗号和分号的作用 逗号和分号可作为指令间的分隔符,MATLAB允许多条语句在同一行出现。 分号如果出现在指令后,屏幕上将不显示结果。 只要是赋过值的变量,不管是否在屏幕上显示过,都会存储在工作空间中,以后可随时显示或调用。变量名尽可能不要重复,否则会覆盖 。,直接输入法(续),例8: A = 1,2,3;4,5,6;7,8,9,X= 2 pi/2;sqrt(3) 3+5i A =1 2 34 5 67 8 9 X =2.0000 1.5708 1.7321 3.0000 + 5.0000i A = 1,2,3;4,5,6;7,8,9;X= 2 pi/2;sqrt(3) 3+5i X =2.0000 1.5708 1.7321 3.0000 + 5.0000i,直接输入法(续),冒号的作用 用于生成等间隔的向量,默认间隔为1。 例9: y = 1:3;4:6;7:9,直接输入法(续),数组编辑器,调用数组编辑器的方法 选择工作空间浏览器中的变量,然后单击工作栏中的按钮 在工作空间浏览器中直接双击变量 选择工作空间浏览器中的变量,然后单击快捷菜单命令Open 在MATLAB命令行窗口中键入指令“openvar 变量名” 数组编辑器仅能编辑、修改向量或矩阵,对于多维数组,数组编辑器只能察看数组的内容,不能修改多维数组的元素,数组编辑器(续),利用数组编辑器完成矩阵的编辑步骤 在命令行窗口中创建一个新的变量,为其赋任意数值如:A=1 打开数组编辑器,在数组编辑器中加载相应的变量 在数组编辑器的工具栏中,修改矩阵的行数和列数,双击任意元素修改矩阵的元素值,矩阵的修改,直接修改 在命令行窗口中,可用键找到所要修改的矩阵,用键移动到要修改的矩阵元素上即可修改。 在数组编辑器中,可用、键找到所要修改的矩阵元素进行修改。 指令修改:用A(,)= 来修改。 例10: A = 1 2 0; 3 0 5; 7 8 9 A = 1 2 03 0 57 8 9 A (3, 3) = 0A = 1 2 03 0 57 8 0,矩阵元素的访问,访问矩阵的元素需要使用矩阵元素的索引 使用矩阵元素的行列全下标形式A(*,*) 使用全下标形式访问矩阵元素的方法简单、直接,同线性代数的矩阵元素的概念一一对应 使用矩阵元素的单下标形式A(*) 矩阵元素的单下标是矩阵元素在内存中存储的序列号,一般地,同一个矩阵的元素在连续的内存单元中(元素的排列以列元素优先),矩阵元素的访问(续),A(1:4,5) A(:,5) A(:,end) A(17:20),A(2:4,2:3) A(2 3 4,2 3),A(1,2) A(5),例13 A=,矩阵元素的访问(续),使用索引访问矩阵元素的方法,在索引矩阵或数组的元素时,若直接用冒号运算符且不给任何的参数,则表示选择该行或列,或维中的所有元素,矩阵元素的访问(续),例:用不同的方法访问矩阵的元素 A=1:25 A=reshape(A,5,5)A=1 6 11 16 212 7 12 17 223 8 13 18 234 9 14 19 245 10 15 20 25 A(3,1)或A(3) ans =3 A(3,:) ans =3 8 13 18 23, A(end,:) ans =5 10 15 20 25 I=1 3 5;J=2 4; A(I,J) A(1 3 5, 2 4) ans =6 168 1810 20, A(:,4) ans =1617181920,矩阵的基本运算 函数 基本数学运算规则 数组的运算 运算函数 运算指令,矩阵生成函数,例14 矩阵生成函数示例 A=zeros(3) A =0 0 00 0 00 0 0 A=ones(3) A =1 1 11 1 11 1 1,矩阵生成函数(续), A=eye(3) A =1 0 00 1 00 0 1 A=rand(3) A =0.9501 0.4860 0.45650.2311 0.8913 0.01850.6068 0.7621 0.8214, A=randn(3) A =-0.4326 0.2877 1.1892-1.6656 -1.1465 -0.03760.1253 1.1909 0.3273,例14 矩阵生成函数示例 A=magic(3) A =8 1 63 5 7 (15)4 9 2 A=magic(4) A =16 2 3 135 11 10 8 (34)9 7 6 124 14 15 1,矩阵生成函数(续),基本矩阵运算,1. 矩阵加、减运算 (AB、AB) 规则: 相加、减的两矩阵必须有相同的行和列,两矩阵对应元素相加减。 MATLAB允许参与运算的两矩阵之一是标量,标量与矩阵的所有元素分别进行加减操作。 例:A=1 2 3;4 5 6 B=3 4 5;7 8 9 C=3A+B=4 6 8;11 13 15A+C=4 5 6;7 8 9B+C=6 7 8;10 11 12,基本矩阵运算(续),2.矩阵乘运算A*B:A矩阵的列数必须等于B矩阵的行数。s*A 或 A*s:标量可与任何矩阵相乘,标量s分别与矩阵A每个元素相乘。 例: A = 1 2 3; 4 5 6; 7 8 0 ; B= 1; 2; 3 ; C = A*BC = 143223 D = -1; 0; 2 ; F = pi*DF = -3.141606.2832,基本矩阵运算(续),3. 矩阵除运算及线性方程组的解在线性代数中没有矩阵的除运算,只有矩阵逆的运算,在MATLAB中有两种矩阵除运算。A/B 矩阵右除,相当于 Ainv(B)AB 矩阵左除,相当于 inv(A)B因此,x = AB 是线性方程组Ax=B的解。例:求解方程组 3x1 + x2 - x3 = 3.6x1 + 2x2 + 4x3 = 2.1-x1 + 4x2 + 5x3 = -1.4 A = 3 1 -1 ; 1 2 4 ; -1 4 5 ; B = 3.6 ; 2.1 ; -1.4 ; x = ABx =1.4818-0.46060.3848,基本矩阵运算(续),4.矩阵乘方An A自乘n次幂例 a = 1, 2, 3 ; 4, 5, 6 ; 7, 8, 9 ; a2ans = 30 36 4266 81 96102 126 150,
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号