matlab数值运算与符号运算.ppt
《matlab数值运算与符号运算.ppt》由会员分享,可在线阅读,更多相关《matlab数值运算与符号运算.ppt(116页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、22.1 矩阵MATLAB = matrix(矩阵)(矩阵)+ laboratory(实验室)(实验室)32.1.1 矩阵的构造1. 通过直接输入矩阵的元素构造矩阵通过直接输入矩阵的元素构造矩阵2. 通过通过M文件创建矩阵文件创建矩阵3. 通过函数构造矩阵通过函数构造矩阵4. 通过数据文件构造矩阵通过数据文件构造矩阵42.1.1 矩阵的构造1. 通过直接输入矩阵的元素构造矩阵:通过直接输入矩阵的元素构造矩阵:(1) 用中括号 把所有矩阵元素括起来(2) 同一行的不同数据元素之间用空格或逗号间隔(3) 用分号(;)指定一行结束(4) 可分成几行进行输入,用回车符代替分号(5) 数据元素可以是表达
2、式、数值、变量或函数5例:输入矩阵例:输入矩阵A、B的值的值A=1 2 3 4; 5 6 7 8; 9 10 11 12; 13 14 15 16B=1,sqrt(25),9,13;2,6,10,7*23+sin(pi),7,11,154,abs(-8),12,1662.1.1 矩阵的构造2. 通过通过M文件创建矩阵:文件创建矩阵:l当矩阵尺寸较大时,可采用在M文件中创建矩阵。l优点:方便修改矩阵元素72.1.1 矩阵的构造3. 通过函数构造矩阵:通过函数构造矩阵:l使用专门的函数l可生成某个特定意义的矩阵l方法一: 初值:步长:终点l若不指定步长,则默认值为1;l最后一个元素不一定是终点,这
3、取决于区间长度是否是步长的整数倍。l该函数用于创建向量。82.1.1 矩阵的构造3. 通过函数构造矩阵:通过函数构造矩阵:【例【例2-3】x=0:pi/4:2*pi;%创建0到2 间隔为 /4的自变量y=sin(x)%得到在自变量范围内的函数值v=0:piv= 0 1 2 392.1.1 矩阵的构造3. 通过函数构造矩阵:通过函数构造矩阵:l方法二: linspace(初值,终点,元素个数)l等分间隔;l该函数用于创建向量。l例如: m=linspace(0,pi,3) m = 0 1.5708 3.1416102.1.1 矩阵的构造3. 通过函数构造矩阵:通过函数构造矩阵:l方法二: lin
4、space(初值,终点,元素个数)例如:n=linspace(0,3,5)n=n = 0 0.7500 1.5000 2.2500 3.0000113. 3. 通过函数构造矩阵:通过函数构造矩阵:方法三方法三: :常见函数创建特殊矩阵常见函数创建特殊矩阵空阵空阵; ; 全全0 0阵阵zeros();zeros();全全1 1阵阵ones();ones();单位阵单位阵eye();eye();随机阵随机阵randn()randn()2.1.1 矩阵的构造123.3.通过函数创建矩阵通过函数创建矩阵 空阵方法: 性质:存在空阵变量; 空阵中不包括任何元素; 用于MATLAB中的运算传递。2.1.1
5、 矩阵的构造133.3.通过函数创建矩阵通过函数创建矩阵 全0阵矩阵元素全部由0组成的矩阵或数组方法:zeros(n,n) % nn方阵 zeros(m,n,p,.) % mnp.维矩阵2.1.1 矩阵的构造143.3.通过函数创建矩阵通过函数创建矩阵全1阵全部元素均为1的矩阵或数组方法: ones(n,n) % nn方阵 ones(m,n,p,.) % mnp.非方阵2.1.1 矩阵的构造153.3.通过函数创建矩阵通过函数创建矩阵 单位阵仅对角线元素为1,其余元素均为0的矩阵或数组方法: eye(n,n) % nn方阵 eye(m,n) % mn非方阵2.1.1 矩阵的构造163.3.通过
6、函数创建矩阵通过函数创建矩阵 随机阵全部元素均为0到1的矩阵或数组方法: randn(n,n) % nn方阵 randn(m,n,p,.) % mnp非方阵2.1.1 矩阵的构造174. 通过数据文件构造矩阵:通过数据文件构造矩阵:lMATLAB可处理的数据格式有: (1) 文本文件 (2) *.mat文件 (3) *.xls文件 (4) 图形文件和声音文件 以上文件均以矩阵存储的。2.1.1 矩阵的构造182.1.2 矩阵下标与子矩阵提取矩阵下标与子矩阵提取(1) A(m, n)%提取第m行,第n列元素(2) A(:, n)%提取第n列元素(3) A(m, :)%提取第m行元素(4) A(m
7、1:m2, n1:n2) %提取第m1行到第m2行和第n1列到 %第n2列的所有元素(5) A(m:end, n) %提取从第m行到最末行和第n列的子块(6) A(:)%得到一个长列矢量,该矢量的元素按 %矩阵的列进行排列19例如:例如: 修改矩阵A中元素的数值A=1 2 3 4; 5 6 7 8; 9 10 11 12; 13 14 15 16;矩阵如图:A(1,1)=0;A(2,2)=A(1,2)+A(2,1);A(4,4)=cos(0);继续执行第1行第4列017202.1.3 矩阵的算术运算1矩阵的加减运算:矩阵的加减运算:(加加)、(减减)2矩阵乘法:矩阵乘法:*(乘乘)3矩阵除法:
8、矩阵除法:/ (右除右除)、 (左除左除)4矩阵的幂:矩阵的幂:(幂幂)5矩阵转置:矩阵转置: (转置运算符转置运算符)矩阵的算数运算应满足算数运算法则!212.1.3 矩阵的算术运算【例2-4】两个矩阵分别为 和 求两者相加a=1 2 3;4 5 6;7 8 9;b=1 1 1;2 2 2;3 3 3;c=a+b结果为 222.1.3 矩阵的算术运算【例2-5】两个矩阵分别为 和 求两者相减a=1 2 3;4 5 6;7 8 9;b=1 1 1;c=a-b结果为 232.1.3 矩阵的算术运算【例2-6】两个矩阵a为 ,b为 求c=a*b和d=b*aa=1 2 3;4 5 6;7 8 9;b
9、=1 2 3;c=a*b结果为 242.1.3 矩阵的算术运算【例2-6】两个矩阵a为 ,b为 求c=a*b和d=b*aa=1 2 3;4 5 6;7 8 9;b=1 2 3;d=b*a结果为 252.1.3 矩阵的算术运算矩阵除法:矩阵除法:/ (右除右除)、 (左除左除) ab等效于矩阵等效于矩阵a的逆左乘矩阵的逆左乘矩阵b,即即a-1 b; a/b等效于矩阵等效于矩阵b的逆右乘矩阵的逆右乘矩阵a, 即即a b-1;262.1.3 矩阵的算术运算矩阵的幂:矩阵的幂:(幂幂)【例】矩阵a为 ,求它的2次幂。a=1 2 ;3 4c=a2c= 7 10 15 22272.1.3 矩阵的算术运算矩
10、阵转置:矩阵转置: (转置运算符转置运算符)【例2-14】矩阵a为 ,求a的转置。a=1 2 3;4 5 6;7 8 9;c=ac= 1 4 7 2 5 8 3 6 9 282.1.3 矩阵的算术运算矩阵转置:矩阵转置: (转置运算符转置运算符)【例2-15】矩阵a为1+2i,3+4i,求a的转置。a=1+2i 3+4i;c=ac= 1.000-2.000i 3.000-4.000ic=a.c= 1.000+2.000i 3.000+4.000i a为复数的共轭转置a.为复数的非共轭转置c=conj(a)292.1.4 矩阵的关系运算l关系运算符:关系运算符:(小于) 、(大于)=(大于或等于
11、)、=(等于)、=(不等于)。l关系运算符的运算法则:关系运算符的运算法则:l关系运算将对两个矩阵的对应元素进行比较。 l关系运算的两个矩阵必须同维。302.1.4 矩阵的关系运算【例2-16】矩阵a和b均为13阶矩阵,进行如下关系运算。a=0 -1 2;b=-3 1 2;aaab;a=b;a=b; 结果为多少呢?1 0 00 0 11 1 0312.1.4 矩阵的关系运算【例】 A=1 5 9;3 4 7;2 6 8A = 1 5 9 3 4 7 2 6 8 B=magic(3)B = 8 1 6 3 5 7 4 9 2C=gt(A,B) %A大于等于B?C = 0 1 1 0 0 0 0
12、0 1322.1.4 矩阵的关系运算【例】 B=magic(3)B = 8 1 6 3 5 7 4 9 2B3ans= 1 0 1 0 1 1 1 1 0B.*(B3)%B中不大于3的元素设为0ans= 8 0 6 0 5 7 4 9 0332.1.4 矩阵的关系运算【例】绘制0到3pi之间的正弦曲线,并截取pi到2pi之间的曲线。x=linspace(0,3*pi); %自变量数组y=sin(x); %函数数组 %逻辑数组 %截断数组plot(x,y1)342.1.4 矩阵的关系运算352.1.4 矩阵的关系运算【综合实例】利用关系运算求近似极限,修补图形缺口t=-2*pi:pi/10:2*
13、pi; %自变量向量y=sin(t)./t; %函数向量tt=t+(t=0)*eps; %修正自变量向量,当t=0时用最小机器数代替y1=sin(tt)./tt; %修正后的函数向量subplot(1,2,1),plot(t,y) %未修正图形subplot(1,2,2),plot(tt,y1) %修正后图形362.1.4 矩阵的关系运算372.1.5 矩阵的逻辑运算l必须是两个同维矩阵或其中一个矩阵为标量才能进行必须是两个同维矩阵或其中一个矩阵为标量才能进行 lMATLAB提供了一些逻辑函数提供了一些逻辑函数逻辑函数逻辑函数功功 能能all如果所有的元素都是非零值,返回1;否则,返回0。an
14、y如果有一个元素为非零值,那么返回1;否则,返回0isempty判断是否空矩阵isequal判断两矩阵是否相同isreal判断是否是实矩阵find返回一个由非零元素的下标组成的向量382.1.5 矩阵的逻辑运算【例2-17】矩阵a和b均为23阶矩阵,进行如下逻辑运算。a=1 0 3;0 -1 6;b=-1 0 0;0 5 0.3;a&bans= 1 0 0 0 1 1c=23; %标量b|cans= 1 1 1 1 1 1392.1.5 矩阵的逻辑运算【例】矩阵a和b均为23阶矩阵,进行如下逻辑运算。a=1 0 3;0 -1 6;b=1 0 3; 1 -1 6;isequal(a,b)ans=
15、 0isreal(a)ans= 1402.1.6 矩阵函数函函 数数功功 能能det计算矩阵所对应的行列式的值diag抽取矩阵对角线元素eig求特征值和特征向量inv求矩阵的逆阵lu三角分解poly求特征多项式rank求矩阵的秩svd奇异值分解411求矩阵的行列式的值 X=1 2 3 0; 5 6 0 8; 9 0 11 12; 0 14 15 16;det(X)ans = -5464422求矩阵的秩 X=1, 2, 3; 2, 3 -5; 4 7 1; rank(X)ans = 2433求逆矩阵 X=1 2 3 0; 5 6 0 8; 9 0 11 12; 0 14 15 16; Y=inv
16、(X)Y = 0.2299 0.0908 0.0351 -0.0717 0.1940 0.0798 -0.0659 0.0095 0.1274 -0.0835 0.0322 0.0176 -0.2892 0.0084 0.0275 0.0377Y*X %矩阵与其逆阵相乘结果是单位矩阵ans = 1.0000 0 0 0 0 1.0000 0 0 0 0 1.0000 0 0 0 0 1.0000443求逆矩阵 %续前页 X*Y %矩阵的逆阵是唯一的ans = 1.0000 0 0 0 0 1.0000 0 0 0 0 1.0000 0 0 0 0 1.0000454求特征值和特征向量【例【例2
17、-18】矩阵】矩阵a= ,计算,计算a的特征值和的特征值和特征矢量特征矢量a=1 2 3;4 5 6;7 8 9;c,d=eig(a)c = -0.2320 -0.7858 0.4082 -0.5253 -0.0868 -0.8165 -0.8187 0.6123 0.4082 %特征矢量d = 16.1168 0 0 0 -1.1168 0 0 0 -0.0000 特征值465矩阵分解 (LU分解)LU分解法分解法是将方阵分解成一个下三角矩阵是将方阵分解成一个下三角矩阵(lower)和一个上三角矩阵和一个上三角矩阵(upper)适用场合:适用场合:简化大矩阵的行列式值的计算过程; 求解逆矩阵
18、; 求解方程组。475矩阵分解 (LU分解)【例【例2-22】 a=1 2 3;4 5 6;7 8 9; l,u=lu(a)l = 0.1429 1.0000 0 0.5714 0.5000 1.0000 1.0000 0 0u = 7.0000 8.0000 9.0000 0 0.8571 1.7143 0 0 -0.0000486求解线形方程组例:求下列方程式的根。例:求下列方程式的根。 2x1+x2-x3=5 3x1-2x2+2x3=5 5x1-3x2-x3=16 求解上述的联立方程,可以使用左除,即求解AX=b,X=Ab496求解线形方程组 A=2 1 -1;3 -2 2;5 -3 -
19、1; b=5;5;16; X=AbX = 2.1429 -1.1429 -1.8571 2x1+x2-x3=5 3x1-2x2+2x3=5 5x1-3x2-x3=16507矩阵的特殊操作 重新排列重新排列方法:方法:reshape(a,m,n,p,.)性质:将矩阵或数组a重新排列为mnp. 排列按照先排列、再排行、然后排列第三维、第四维.517矩阵的特殊操作 重新排列重新排列reshape例例2-25 矩阵矩阵a为为44矩阵,将其重新排列为矩阵,将其重新排列为116的一维矢量和的一维矢量和242三维数组。三维数组。a=pascal(4)a= 1 1 1 1 1 2 3 4 1 3 6 10 1
20、 4 10 20 c=reshape(a,1,16)c= 1 1 1 1 1 2 3 4 1 3 6 10 1 4 10 20 527矩阵的特殊操作 重新排列重新排列reshape例例2-25 矩阵矩阵a为为44矩阵,将其重新排列为矩阵,将其重新排列为116的一维矢量和的一维矢量和242三维数组。三维数组。a=pascal(4)a= 1 1 1 1 1 2 3 4 1 3 6 10 1 4 10 20 c=reshape(a,2,4,2)c(:,:,1)= 1 1 1 3 1 1 2 4c(:,:,2)= 1 6 1 10 3 10 4 20 537矩阵的特殊操作 矩阵的翻转和旋转矩阵的翻转和
21、旋转方法:方法:fliplr(a) % 矩阵a左右翻转 left&right flipud(a) % 矩阵a上下翻转 up&down flipdim(a,n) %矩阵a 的第n维翻转 rot90(a) %矩阵a 逆时针旋转90o 547矩阵的特殊操作 矩阵的翻转和旋转矩阵的翻转和旋转A=magic(3)A= 8 1 6 3 5 7 4 9 2ans= 4 9 2 3 5 7 8 1 6557矩阵的特殊操作 矩阵的翻转和旋转矩阵的翻转和旋转A=magic(3)A= 8 1 6 3 5 7 4 9 2ans= 6 1 8 7 5 3 2 9 4567矩阵的特殊操作 矩阵的翻转和旋转矩阵的翻转和旋转
22、A=magic(3)A= 8 1 6 3 5 7 4 9 2ans = 6 7 2 1 5 9 8 3 4577矩阵的特殊操作 矩阵的抽取矩阵的抽取方法:方法:c=diag(a,n) % c为矩阵a的第n条对角线 %所创建的元素矢量,n=0或不指定时抽取主对角线。 a=diag(c,n) %创建对角矩阵a,矢量c作为a的第n条 %对角线元素。a= 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16n0n=0n=0% %这两条命令中这两条命令中的的c c为列向量为列向量587矩阵的特殊操作 矩阵的抽取矩阵的抽取方法:方法:c=tril(a,n) % 抽取矩阵a的n条对角
23、线下面的部分。 c=triu(a,n) % 抽取矩阵a的n条对角线上面的部分。 %这两条命令中的c为与a同维矩阵597矩阵的特殊操作例例2-27 矩阵矩阵a为为pascal矩阵矩阵,分别抽取对角线元素、分别抽取对角线元素、创建对角矩阵创建对角矩阵,抽取上三角矩阵和下三角矩阵。抽取上三角矩阵和下三角矩阵。a=pascal(4)a= 1 1 1 1 1 2 3 4 1 3 6 10 1 4 10 20 c=diag(a,1)c= 1 3 10607矩阵的特殊操作例例2-27 矩阵矩阵a为为pascal矩阵,分别抽取对角线元素、矩阵,分别抽取对角线元素、创建对角矩阵、抽取上三角矩阵和下三角矩阵。创建
24、对角矩阵、抽取上三角矩阵和下三角矩阵。a=pascal(4)a= 1 1 1 1 1 2 3 4 1 3 6 10 1 4 10 20 b=diag(c,1)b= 0 1 0 0 0 0 3 0 0 0 0 10 0 0 0 0c=tril(a)c= 1 0 0 0 1 2 0 0 1 3 6 0 1 4 10 20 d=triu(a,-1)d= 1 1 1 1 1 2 3 4 0 3 6 10 0 0 10 20 612.2 向量l向量是矢量运算的基础向量是矢量运算的基础l行向量l列向量 622.2.1 向量的构造l1逐个输入逐个输入a=1 3 9 10 15 16%采用空格和逗号分隔构成行
25、向量b=1; 3; 9; 10; 15; 16 %采用分号隔开构成列向量l2利用冒号表达式利用冒号表达式“:”生成向量生成向量x=1:2:9%初值=1,终值=9,步长=2z=1:5%初值=1,终值=5,默认步长=1l3利用函数生成向量利用函数生成向量 x=linspace(1, 9, 5)%初值=1,终值=9,元素数目=5632.2.2 向量的运算l1点积:点积:dot函数函数l2叉积:叉积:cross函数函数 例例 a = 1 2 3; b = 4 5 6; c = dot(a, b) d = cross(a, b) c = 32d = -3 6 -3 642.3 数组l数组运算方式是一种元
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- matlab 数值 运算 符号
限制150内