matlab数值运算与符号运算.ppt
《matlab数值运算与符号运算.ppt》由会员分享,可在线阅读,更多相关《matlab数值运算与符号运算.ppt(116页珍藏版)》请在三一办公上搜索。
1、1,本章目标,掌握矩阵、向量、数组和多项式的构造和运算方法能够使用常用的几种函数进行一般的数值问题求解理解符号运算的有关概念掌握使用符号运算解决符号推导、微积分、方程等问题的方法,2,主要内容,2.1 矩阵2.2 向量 2.3 数组 2.4 多项式 2.5 数值运算与符号运算2.6 符号变量和符号表达式2.7 符号表示式的运算2.8 微积分2.9 方程求解,3,2.1 矩阵,MATLAB=matrix(矩阵)+laboratory(实验室),4,2.1.1 矩阵的构造,1.通过直接输入矩阵的元素构造矩阵2.通过M文件创建矩阵3.通过函数构造矩阵4.通过数据文件构造矩阵,5,2.1.1 矩阵的构
2、造,1.通过直接输入矩阵的元素构造矩阵:(1)用中括号 把所有矩阵元素括起来(2)同一行的不同数据元素之间用空格或逗号间隔(3)用分号(;)指定一行结束(4)可分成几行进行输入,用回车符代替分号(5)数据元素可以是表达式、数值、变量或函数,6,例:输入矩阵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,16,7,2.1.1 矩阵的构造,2.通过M文件创建矩阵:当矩阵尺寸较大时,可采用在M文件中创建矩阵。优点:方便修改矩阵元素,8,2.1
3、.1 矩阵的构造,3.通过函数构造矩阵:使用专门的函数可生成某个特定意义的矩阵方法一:初值:步长:终点若不指定步长,则默认值为1;最后一个元素不一定是终点,这取决于区间长度是否是步长的整数倍。该函数用于创建向量。,9,2.1.1 矩阵的构造,3.通过函数构造矩阵:【例2-3】x=0:pi/4:2*pi;%创建0到2 间隔为/4的自变量y=sin(x)%得到在自变量范围内的函数值v=0:piv=0 1 2 3,10,2.1.1 矩阵的构造,3.通过函数构造矩阵:方法二:linspace(初值,终点,元素个数)等分间隔;该函数用于创建向量。例如:m=linspace(0,pi,3)m=0 1.57
4、08 3.1416,11,2.1.1 矩阵的构造,3.通过函数构造矩阵:方法二:linspace(初值,终点,元素个数)例如:n=linspace(0,3,5)n=n=0 0.7500 1.5000 2.2500 3.0000,12,3.通过函数构造矩阵:方法三:常见函数创建特殊矩阵空阵;全0阵zeros();全1阵ones();单位阵eye();随机阵randn(),2.1.1 矩阵的构造,13,3.通过函数创建矩阵 空阵方法:性质:存在空阵变量;空阵中不包括任何元素;用于MATLAB中的运算传递。,2.1.1 矩阵的构造,14,3.通过函数创建矩阵 全0阵矩阵元素全部由0组成的矩阵或数组方
5、法:zeros(n,n)%nn方阵 zeros(m,n,p,.)%mnp.维矩阵,2.1.1 矩阵的构造,15,3.通过函数创建矩阵全1阵全部元素均为1的矩阵或数组方法:ones(n,n)%nn方阵 ones(m,n,p,.)%mnp.非方阵,2.1.1 矩阵的构造,16,3.通过函数创建矩阵 单位阵仅对角线元素为1,其余元素均为0的矩阵或数组方法:eye(n,n)%nn方阵 eye(m,n)%mn非方阵,2.1.1 矩阵的构造,17,3.通过函数创建矩阵 随机阵全部元素均为0到1的矩阵或数组方法:randn(n,n)%nn方阵 randn(m,n,p,.)%mnp非方阵,2.1.1 矩阵的构
6、造,18,4.通过数据文件构造矩阵:MATLAB可处理的数据格式有:(1)文本文件(2)*.mat文件(3)*.xls文件(4)图形文件和声音文件 以上文件均以矩阵存储的。,2.1.1 矩阵的构造,19,2.1.2 矩阵下标与子矩阵提取,(1)A(m,n)%提取第m行,第n列元素(2)A(:,n)%提取第n列元素(3)A(m,:)%提取第m行元素(4)A(m1:m2,n1:n2)%提取第m1行到第m2行和第n1列到%第n2列的所有元素(5)A(m:end,n)%提取从第m行到最末行和第n列的子块(6)A(:)%得到一个长列矢量,该矢量的元素按%矩阵的列进行排列,20,例如:修改矩阵A中元素的数
7、值,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列,0,1,7,21,2.1.3 矩阵的算术运算,1矩阵的加减运算:(加)、(减)2矩阵乘法:*(乘)3矩阵除法:/(右除)、(左除)4矩阵的幂:(幂)5矩阵转置:(转置运算符),矩阵的算数运算应满足算数运算法则!,22,2.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结果为
8、,23,2.1.3 矩阵的算术运算,【例2-5】两个矩阵分别为 和 求两者相减a=1 2 3;4 5 6;7 8 9;b=1 1 1;c=a-b结果为,24,2.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;c=a*b结果为,25,2.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结果为,26,2.1.3 矩阵的算术运算,矩阵除法:/(右除)、(左除)ab等效于矩阵a的逆左乘矩阵b,即a-1 b;a/b等效
9、于矩阵b的逆右乘矩阵a,即a b-1;,27,2.1.3 矩阵的算术运算,矩阵的幂:(幂)【例】矩阵a为,求它的2次幂。a=1 2;3 4c=a2c=7 10 15 22,28,2.1.3 矩阵的算术运算,矩阵转置:(转置运算符),【例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,29,2.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
10、+4.000i,a为复数的共轭转置,a.为复数的非共轭转置,c=conj(a),30,2.1.4 矩阵的关系运算,关系运算符:(大于)gt=(大于或等于)ge、=(等于)eq、=(不等于)ne。关系运算符的运算法则:关系运算将对两个矩阵的对应元素进行比较。关系运算的两个矩阵必须同维。,31,2.1.4 矩阵的关系运算,【例2-16】矩阵a和b均为13阶矩阵,进行如下关系运算。a=0-1 2;b=-3 1 2;aa=bans=0 1 1,ab;a=b;a=b;结果为多少呢?,1 0 0,0 0 1,1 1 0,32,2.1.4 矩阵的关系运算,【例】A=1 5 9;3 4 7;2 6 8A=1
11、5 9 3 4 7 2 6 8 B=magic(3)B=8 1 6 3 5 7 4 9 2,C=gt(A,B)%A大于等于B?C=0 1 1 0 0 0 0 0 1,33,2.1.4 矩阵的关系运算,【例】B=magic(3)B=8 1 6 3 5 7 4 9 2B3ans=1 0 1 0 1 1 1 1 0,B.*(B3)%B中不大于3的元素设为0ans=8 0 6 0 5 7 4 9 0,34,2.1.4 矩阵的关系运算,【例】绘制0到3pi之间的正弦曲线,并截取pi到2pi之间的曲线。x=linspace(0,3*pi);%自变量数组y=sin(x);%函数数组x1=(x2*pi);%逻
12、辑数组y1=x1.*y;%截断数组plot(x,y1),35,2.1.4 矩阵的关系运算,36,2.1.4 矩阵的关系运算,【综合实例】利用关系运算求近似极限,修补图形缺口t=-2*pi:pi/10:2*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)%修正后图形,37,2.1.4 矩阵的关系运算,38,2.1.5 矩阵的逻辑运算,必须是两个同维矩阵或其中一个
13、矩阵为标量才能进行 MATLAB提供了一些逻辑函数,39,2.1.5 矩阵的逻辑运算,【例2-17】矩阵a和b均为23阶矩阵,进行如下逻辑运算。a=1 0 3;0-1 6;b=-1 0 0;0 5 0.3;a%标量b|cans=1 1 1 1 1 1,40,2.1.5 矩阵的逻辑运算,【例】矩阵a和b均为23阶矩阵,进行如下逻辑运算。a=1 0 3;0-1 6;b=1 0 3;1-1 6;isequal(a,b)ans=0isreal(a)ans=1,41,2.1.6 矩阵函数,42,1求矩阵的行列式的值,X=1 2 3 0;5 6 0 8;9 0 11 12;0 14 15 16;det(X
14、)ans=-5464,43,2求矩阵的秩,X=1,2,3;2,3-5;4 7 1;rank(X)ans=2,44,3求逆矩阵,X=1 2 3 0;5 6 0 8;9 0 11 12;0 14 15 16;Y=inv(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.0000,45
15、,3求逆矩阵,%续前页 X*Y%矩阵的逆阵是唯一的ans=1.0000 0 0 0 0 1.0000 0 0 0 0 1.0000 0 0 0 0 1.0000,46,4求特征值和特征向量,【例2-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 特征值,47,5矩阵分解(LU分解),LU分解法是将方阵分解成一个下三角矩阵(lower)
16、和一个上三角矩阵(upper)适用场合:简化大矩阵的行列式值的计算过程;求解逆矩阵;求解方程组。,48,5矩阵分解(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.0000,49,6求解线形方程组,例:求下列方程式的根。2x1+x2-x3=5 3x1-2x2+2x3=5 5x1-3x2-x3=16,求解上述的联立方程,可以使用左除,即求解AX=b,X=Ab,50,6求解线形
17、方程组,A=2 1-1;3-2 2;5-3-1;b=5;5;16;X=AbX=2.1429-1.1429-1.8571,51,7矩阵的特殊操作,重新排列方法:reshape(a,m,n,p,.)性质:将矩阵或数组a重新排列为mnp.排列按照先排列、再排行、然后排列第三维、第四维.,52,7矩阵的特殊操作,重新排列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,1,16)c=1 1 1 1 1 2 3 4 1 3 6 10 1 4 1
18、0 20,53,7矩阵的特殊操作,重新排列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,54,7矩阵的特殊操作,矩阵的翻转和旋转方法:fliplr(a)%矩阵a左右翻转 left&right flipud(a)%矩阵a上下翻转 up&down flipdim(a,n)%矩阵a 的第n维翻转 rot90(a)%矩阵a
19、逆时针旋转90o,55,7矩阵的特殊操作,矩阵的翻转和旋转A=magic(3)A=8 1 6 3 5 7 4 9 2flipud(A)ans=4 9 2 3 5 7 8 1 6,56,7矩阵的特殊操作,矩阵的翻转和旋转A=magic(3)A=8 1 6 3 5 7 4 9 2fliplr(A)ans=6 1 8 7 5 3 2 9 4,57,7矩阵的特殊操作,矩阵的翻转和旋转A=magic(3)A=8 1 6 3 5 7 4 9 2rot90(A)ans=6 7 2 1 5 9 8 3 4,58,7矩阵的特殊操作,矩阵的抽取方法:c=diag(a,n)%c为矩阵a的第n条对角线%所创建的元素矢
20、量,n=0或不指定时抽取主对角线。a=diag(c,n)%创建对角矩阵a,矢量c作为a的第n条%对角线元素。,n0,n=0,n=0,%这两条命令中的c为列向量,59,7矩阵的特殊操作,矩阵的抽取方法:c=tril(a,n)%抽取矩阵a的n条对角线下面的部分。c=triu(a,n)%抽取矩阵a的n条对角线上面的部分。%这两条命令中的c为与a同维矩阵,60,7矩阵的特殊操作,例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
21、3 10,61,7矩阵的特殊操作,例2-27 矩阵a为pascal矩阵,分别抽取对角线元素、创建对角矩阵、抽取上三角矩阵和下三角矩阵。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 0,c=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,62,2.2 向量,向量是矢量运算的基础行向量列向量,63,2.2.1 向量的构造,1逐个
22、输入a=1 3 9 10 15 16%采用空格和逗号分隔构成行向量b=1;3;9;10;15;16%采用分号隔开构成列向量2利用冒号表达式“:”生成向量x=1:2:9%初值=1,终值=9,步长=2z=1:5%初值=1,终值=5,默认步长=13利用函数生成向量 x=linspace(1,9,5)%初值=1,终值=9,元素数目=5,64,2.2.2 向量的运算,1点积:dot函数2叉积:cross函数 例 a=1 2 3;b=4 5 6;c=dot(a,b)d=cross(a,b)c=32d=-3 6-3,65,2.3 数组,数组运算方式是一种元素对元素的运算(不按照线性代数的规则);除了加、减法
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- matlab 数值 运算 符号

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