matlab数值运算与符号运算

上传人:仙*** 文档编号:229949846 上传时间:2023-08-22 格式:PPT 页数:116 大小:1,011.50KB
收藏 版权申诉 举报 下载
matlab数值运算与符号运算_第1页
第1页 / 共116页
matlab数值运算与符号运算_第2页
第2页 / 共116页
matlab数值运算与符号运算_第3页
第3页 / 共116页
资源描述:

《matlab数值运算与符号运算》由会员分享,可在线阅读,更多相关《matlab数值运算与符号运算(116页珍藏版)》请在装配图网上搜索。

1、matlabmatlab数值运算与符号数值运算与符号运算运算2.1 矩阵MATLAB=matrix(矩阵)(矩阵)+laboratory(实验室)(实验室)22.1.1 矩阵的构造1.通过直接输入矩阵的元素构造矩阵通过直接输入矩阵的元素构造矩阵2.通过通过M文件创建矩阵文件创建矩阵3.通过函数构造矩阵通过函数构造矩阵4.通过数据文件构造矩阵通过数据文件构造矩阵32.1.1 矩阵的构造1.通过直接输入矩阵的元素构造矩阵:通过直接输入矩阵的元素构造矩阵:(1)用中括号 把所有矩阵元素括起来(2)同一行的不同数据元素之间用空格或逗号间隔(3)用分号(;)指定一行结束(4)可分成几行进行输入,用回车符

2、代替分号(5)数据元素可以是表达式、数值、变量或函数4例:输入矩阵例:输入矩阵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,1652.1.1 矩阵的构造2.通过通过M文件创建矩阵:文件创建矩阵:l当矩阵尺寸较大时,可采用在M文件中创建矩阵。l优点:方便修改矩阵元素62.1.1 矩阵的构造3.通过函数构造矩阵:通过函数构造矩阵:l使用专门的函数l可生成某个特定意义的矩阵l方法一:初值:步长:终点l若不指定步长,则默认值为1;l最后一个

3、元素不一定是终点,这取决于区间长度是否是步长的整数倍。l该函数用于创建向量。72.1.1 矩阵的构造3.通过函数构造矩阵:通过函数构造矩阵:【例【例2-3】x=0:pi/4:2*pi;%创建0到2 间隔为 /4的自变量y=sin(x)%得到在自变量范围内的函数值v=0:piv=0 1 2 382.1.1 矩阵的构造3.通过函数构造矩阵:通过函数构造矩阵:l方法二:linspace(初值,终点,元素个数)l等分间隔;l该函数用于创建向量。l例如:m=linspace(0,pi,3)m=0 1.5708 3.141692.1.1 矩阵的构造3.通过函数构造矩阵:通过函数构造矩阵:l方法二:lins

4、pace(初值,终点,元素个数)例如:n=linspace(0,3,5)n=n=0 0.7500 1.5000 2.2500 3.0000103.3.通过函数构造矩阵:通过函数构造矩阵:方法三方法三:常见函数创建特殊矩阵常见函数创建特殊矩阵空阵空阵;全全0 0阵阵zeros();zeros();全全1 1阵阵ones();ones();单位阵单位阵eye();eye();随机阵随机阵randn()randn()2.1.1 矩阵的构造113.3.通过函数创建矩阵通过函数创建矩阵 空阵方法:性质:存在空阵变量;空阵中不包括任何元素;用于MATLAB中的运算传递。2.1.1 矩阵的构造123.3.通

5、过函数创建矩阵通过函数创建矩阵 全0阵矩阵元素全部由0组成的矩阵或数组方法:zeros(n,n)%nn方阵 zeros(m,n,p,.)%mnp.维矩阵2.1.1 矩阵的构造133.3.通过函数创建矩阵通过函数创建矩阵全1阵全部元素均为1的矩阵或数组方法:ones(n,n)%nn方阵 ones(m,n,p,.)%mnp.非方阵2.1.1 矩阵的构造143.3.通过函数创建矩阵通过函数创建矩阵 单位阵仅对角线元素为1,其余元素均为0的矩阵或数组方法:eye(n,n)%nn方阵 eye(m,n)%mn非方阵2.1.1 矩阵的构造153.3.通过函数创建矩阵通过函数创建矩阵 随机阵全部元素均为0到1

6、的矩阵或数组方法:randn(n,n)%nn方阵 randn(m,n,p,.)%mnp非方阵2.1.1 矩阵的构造164.通过数据文件构造矩阵:通过数据文件构造矩阵:lMATLAB可处理的数据格式有:(1)文本文件 (2)*.mat文件 (3)*.xls文件 (4)图形文件和声音文件 以上文件均以矩阵存储的。2.1.1 矩阵的构造172.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

7、:end,n)%提取从第m行到最末行和第n列的子块(6)A(:)%得到一个长列矢量,该矢量的元素按%矩阵的列进行排列18例如:例如:修改矩阵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列017192.1.3 矩阵的算术运算1矩阵的加减运算:矩阵的加减运算:(加加)、(减减)2矩阵乘法:矩阵乘法:*(乘乘)3矩阵除法:矩阵除法:/(右除右除)、(左除左除)4矩阵的幂:矩阵的幂:(幂幂)5矩阵转置:矩阵转置:(转置运算符转置运算符)

8、矩阵的算数运算应满足算数运算法则!202.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结果为 212.1.3 矩阵的算术运算【例2-5】两个矩阵分别为 和 求两者相减a=1 2 3;4 5 6;7 8 9;b=1 1 1;c=a-b结果为 222.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结果为 232.1.3 矩阵的算术运算【例2-6】两个矩阵a为 ,b为 求c=a*b和d=b*a

9、a=1 2 3;4 5 6;7 8 9;b=1 2 3;d=b*a结果为 242.1.3 矩阵的算术运算矩阵除法:矩阵除法:/(右除右除)、(左除左除)ab等效于矩阵等效于矩阵a的逆左乘矩阵的逆左乘矩阵b,即即a-1b;a/b等效于矩阵等效于矩阵b的逆右乘矩阵的逆右乘矩阵a,即即ab-1;252.1.3 矩阵的算术运算矩阵的幂:矩阵的幂:(幂幂)【例】矩阵a为 ,求它的2次幂。a=1 2;3 4c=a2c=7 10 15 22262.1.3 矩阵的算术运算矩阵转置:矩阵转置:(转置运算符转置运算符)【例2-14】矩阵a为 ,求a的转置。a=1 2 3;4 5 6;7 8 9;c=ac=1 4

10、7 2 5 8 3 6 9 272.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)282.1.4 矩阵的关系运算l关系运算符:关系运算符:(小于)lt lt、(大于)gtgt=(大于或等于)gege、=(等于)eqeq、=(不等于)nene。l关系运算符的运算法则:关系运算符的运算法则:l关系运算将对两个矩阵的对应元素

11、进行比较。l关系运算的两个矩阵必须同维。292.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 0302.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 0 1312.1.4 矩阵的关系运算【例】B=magic(3)B=8 1 6 3 5 7 4 9 2B3ans=1 0 1 0 1

12、 1 1 1 0B.*(B3)%B中不大于3的元素设为0ans=8 0 6 0 5 7 4 9 0322.1.4 矩阵的关系运算【例】绘制0到3pi之间的正弦曲线,并截取pi到2pi之间的曲线。x=linspace(0,3*pi);%自变量数组y=sin(x);%函数数组x1=(x2*pi);x1=(x2*pi);%逻辑数组y1=x1.*y;y1=x1.*y;%截断数组plot(x,y1)332.1.4 矩阵的关系运算342.1.4 矩阵的关系运算【综合实例】利用关系运算求近似极限,修补图形缺口t=-2*pi:pi/10:2*pi;%自变量向量y=sin(t)./t;%函数向量tt=t+(t=

13、0)*eps;%修正自变量向量,当t=0时用最小机器数代替y1=sin(tt)./tt;%修正后的函数向量subplot(1,2,1),plot(t,y)%未修正图形subplot(1,2,2),plot(tt,y1)%修正后图形352.1.4 矩阵的关系运算362.1.5 矩阵的逻辑运算l必须是两个同维矩阵或其中一个矩阵为标量才能进行必须是两个同维矩阵或其中一个矩阵为标量才能进行lMATLAB提供了一些逻辑函数提供了一些逻辑函数逻辑逻辑函数函数功功 能能all如果所有的元素都是非零值,返回1;否则,返回0。any如果有一个元素为非零值,那么返回1;否则,返回0isempty判断是否空矩阵is

14、equal判断两矩阵是否相同isreal判断是否是实矩阵find返回一个由非零元素的下标组成的向量372.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 1382.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=1392.1.6 矩阵函数函函 数数功功 能能det计算矩阵所对应的

15、行列式的值diag抽取矩阵对角线元素eig求特征值和特征向量inv求矩阵的逆阵lu三角分解poly求特征多项式rank求矩阵的秩svd奇异值分解401求矩阵的行列式的值X=1230;5608;901112;0141516;det(X)ans=-5464412求矩阵的秩X=1,2,3;2,3-5;471;rank(X)ans=2423求逆矩阵 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

16、 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.0000433求逆矩阵%续前页 X*Y%矩阵的逆阵是唯一的ans=1.0000 0 0 0 0 1.0000 0 0 0 0 1.0000 0 0 0 0 1.0000444求特征值和特征向量【例【例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

17、.5253 -0.0868 -0.8165 -0.8187 0.6123 0.4082%特征矢量d=16.1168 0 0 0 -1.1168 0 0 0 -0.0000 特征值455矩阵分解(LU分解)LU分解法分解法是将方阵分解成一个下三角矩阵是将方阵分解成一个下三角矩阵(lower)和一个上三角矩阵和一个上三角矩阵(upper)适用场合:适用场合:简化大矩阵的行列式值的计算过程;求解逆矩阵;求解方程组。465矩阵分解(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.00

18、00 0 0u=7.0000 8.0000 9.0000 0 0.8571 1.7143 0 0 -0.0000476求解线形方程组例:求下列方程式的根。例:求下列方程式的根。2x1+x2-x3=5 3x1-2x2+2x3=5 5x1-3x2-x3=16 求解上述的联立方程,可以使用左除,即求解AX=b,X=Ab486求解线形方程组 A=2 1-1;3-2 2;5-3-1;b=5;5;16;X=AbX=2.1429 -1.1429 -1.8571 2x1+x2-x3=5 3x1-2x2+2x3=5 5x1-3x2-x3=16497矩阵的特殊操作 重新排列重新排列方法:方法:reshape(a,

19、m,n,p,.)性质:将矩阵或数组a重新排列为mnp.排列按照先排列、再排行、然后排列第三维、第四维.507矩阵的特殊操作 重新排列重新排列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 10 20 517矩阵的特殊操作 重新排列重新排列reshape例例2-25 矩阵矩阵a为为44矩阵,将其重新排列为矩阵,将其

20、重新排列为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 527矩阵的特殊操作 矩阵的翻转和旋转矩阵的翻转和旋转方法:方法:fliplr(a)%矩阵a左右翻转 left&right flipud(a)%矩阵a上下翻转 up&down flipdim(a,n)%矩阵a 的第n维翻转 rot90(a)%矩阵a 逆时针旋转90o 537矩阵的特殊操作 矩阵的翻

21、转和旋转矩阵的翻转和旋转A=magic(3)A=8 1 6 3 5 7 4 9 2flipud(A)flipud(A)ans=4 9 2 3 5 7 8 1 6547矩阵的特殊操作 矩阵的翻转和旋转矩阵的翻转和旋转A=magic(3)A=8 1 6 3 5 7 4 9 2fliplr(A)fliplr(A)ans=6 1 8 7 5 3 2 9 4557矩阵的特殊操作 矩阵的翻转和旋转矩阵的翻转和旋转A=magic(3)A=8 1 6 3 5 7 4 9 2rot90(A)rot90(A)ans=6 7 2 1 5 9 8 3 4567矩阵的特殊操作 矩阵的抽取矩阵的抽取方法:方法:c=dia

22、g(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为列向量为列向量577矩阵的特殊操作 矩阵的抽取矩阵的抽取方法:方法:c=tril(a,n)%抽取矩阵a的n条对角线下面的部分。c=triu(a,n)%抽取矩阵a的n条对角线上面的部分。%这两条命令中的c为与a同维矩阵587矩阵的特殊操作例例2-27 矩阵矩阵a为为pascal矩阵矩阵,分别抽取对角线元素

23、、分别抽取对角线元素、创建对角矩阵创建对角矩阵,抽取上三角矩阵和下三角矩阵。抽取上三角矩阵和下三角矩阵。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 10597矩阵的特殊操作例例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

24、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 602.2 向量l向量是矢量运算的基础向量是矢量运算的基础l行向量l列向量 612.2.1 向量的构造l1逐个输入逐个输入a=1 3 9 10 15 16%采用空格和逗号分隔构成行向量b=1;3;9;10;15;16%采用分号隔开构成列向量l2利用冒号表达式利用冒号表达式“:”生成向量生成向量x=1:2:9%初值=1,终值=9,步长=2z=1:5%初值=1,终值=5,默认步长=1l3利用函

25、数生成向量利用函数生成向量 x=linspace(1,9,5)%初值=1,终值=9,元素数目=5622.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 632.3 数组l数组运算方式是一种元素对元素的运算(数组运算方式是一种元素对元素的运算(不按不按照线性代数的规则照线性代数的规则);l除了加、减法的与矩阵相同以外,乘、除、幂除了加、减法的与矩阵相同以外,乘、除、幂的数组运算符都是通过在标准的运算符前面加的数组运算符都是通过在标准的运算符前面加一个圆点

26、来生成,即一个圆点来生成,即.*、./、.、.。64数组运算【例】已知两数组,求两数组的相应运算。【例】已知两数组,求两数组的相应运算。x=1 2 3;4 5 6;7 8 9;y=9 8 7;6 5 4;3 2 1;x+y%数组和矩阵的加法规则相同ans=10 10 10 10 10 10 10 10 10 x.*y%数组乘法:对应元素相乘ans=9 16 21 24 25 2421 16 965数组运算【例】已知两数组,求两数组的相应运算。【例】已知两数组,求两数组的相应运算。x=1 2 3;4 5 6;7 8 9;y=9 8 7;6 5 4;3 2 1;%续前页 x*y%矩阵乘法:按照线性

27、代数理论进行ans=30 24 18 84 69 54 138 114 90662.4 多项式多项式是形如多项式是形如P(x)=aP(x)=a0 0 x xn n+a+a1 1x xn-1n-1+a+an-1n-1x+ax+an n的式子。的式子。在在MATLABMATLAB中,多项式用行向量表示:中,多项式用行向量表示:P=aP=a0 0 a a1 1 a an-1n-1 a an n 672.4.1 多项式的生成与表达1.系数矢量直接输入系数矢量直接输入poly2sym例例3-1创建多项式创建多项式x3-4x2+3x+2poly2sym(1-4 3 2)%将系数矢量转换为符号形式ans=x

28、3-4*x2+3*x+22.特征多项式输入特征多项式输入poly例例3-2求矩阵求矩阵的特征多项式系数,并转换为多项的特征多项式系数,并转换为多项式式a=1 2 3;4 5 6;7 8 9;p=poly(a);%求解特征多项式poly2sym(p)ans=x3-6*x2-72*x-271 2 34 5 67 8 9682.4.1 多项式的生成与表达3.根矢量创建根矢量创建例例3-3根据根矢量根据根矢量-0.5,-0.3+0.4i,-0.3-0.4i创建多项式创建多项式r=-0.5-0.3+0.4i,-0.3-0.4ip=poly(r)p=1.00001.10000.55000.1250pr=r

29、eal(p)%对于含复数根的根矢量需用对于含复数根的根矢量需用real函数滤除虚部函数滤除虚部pr=1.00001.10000.55000.1250ppr=poly2sym(pr)ppr=x3+11/10*x2+11/20*x+1/8692.4.2 多项式的运算1.多项式的算术运算多项式的算术运算参加加减运算的多项式应该具有相同的阶次。多项式乘法采用conv函数,除法由deconv函数完成。2.求根求根 求多项式的根采用roots函数。3.求值求值函数polyval可以将某个特定数值代入多项式函数polyvalm可以求出当多项式中的未知数为方阵时的值。4.求微分求微分 使用polyder函数对

30、多项式求微分。702.4.2 多项式的运算【例【例3-4】求多项式求多项式3x3x2 2+2x+1+2x+1在在5 5、7 7、9 9处的值。处的值。分析分析:求多项式在标量处的值,可采用polyval函数。p=3,2,1;polyval(p,5,7,9)ans=86 162 262712.4.2 多项式的运算【例【例3-5】求多项式求多项式3x3x2 2+2x+1+2x+1对于矩阵对于矩阵 及标量及标量5 5处的值。处的值。分析分析:求多项式在矩阵处的值,可采用polyvalm函数。p=3,2,1;polyvalm(p,2,5;7,9)ans=122 175 245 3672 57 9pol

31、yval m(p,5)ans=86polyval(p,5)polyvalm符合符合矩阵乘法规则矩阵乘法规则722.4.2 多项式的运算【例【例3-6】求多项式求多项式x x5 5-5x-5x4 4+3x+3x3 3-6x-6x2 2+4x-10+4x-10的根。的根。分析分析:采用roots函数。a=1,-5,3,-6,4,-10;r=roots(a)r=4.6130 0.7621+0.9789i 0.7621-0.9787i -0.5685+1.0419i -0.5685-1.0419i 732.4.2 多项式的运算【例【例3-9】求多项式求多项式3x3x4 4-5x-5x3 3+2x+2x

32、2 2-6x+10-6x+10的微分。的微分。分析分析:采用polyder函数。p=3-5 2-6 10;p1=polyder(p)%求解1次微分p1=12 -15 4 -6p2=polyder(p1)p2=36 -30 4poly2sym(p1)%转换为多项式ans=12*x3-15*x2+4*x-6 p3=polyder(p,2)p3=24 -30 8 -12%polyder(A,B)实现的是多项式A*B的一次导数(微分)74应用举例例例:设矩阵设矩阵A和和B满足关系式满足关系式AB=A+2B已知已知A=423求求B110-123分析:由AB=A+2B,可得(A-2E)B=A,故B=(A-

33、2E)-1AA=4 2 3;1 1 0;-1 2 3;B=inv(A-2*eye(3)*AB=3.0000 -8.0000 -6.0000 2.0000 -9.0000 -6.0000 -2.0000 12.0000 9.000075应用举例例例:将将表表达达式式(x-4)(x+5)(x2-6x+9)展展开开为为多多项项式式形形式式,并求其对应的一元并求其对应的一元n次方程的根。次方程的根。分析:采用conv函数和roots函数p=conv(1-4,conv(1 5,1-6 9)px=poly2str(p,x)x=roots(p)762.5 数值运算与符号运算l数值运算在运算前必须先对变量赋值

34、,再参加数值运算在运算前必须先对变量赋值,再参加运算。运算。l符号运算不需要对变量赋值就可运算,运算结符号运算不需要对变量赋值就可运算,运算结果以标准的符号形式表达。果以标准的符号形式表达。772.5 数值运算与符号运算有关符号运算的几个基本概念:有关符号运算的几个基本概念:1.符号对象符号对象用来存储代表非数值的字符符号用来存储代表非数值的字符符号,可以是符号常可以是符号常量、符号变量、符号函数以及各种符号表达式。量、符号变量、符号函数以及各种符号表达式。2.符号常量符号常量形式上是数值形式上是数值,但已是一个符号对象。通过将数但已是一个符号对象。通过将数值常量作为值常量作为sym()函数的

35、输入参量可建立。函数的输入参量可建立。3.符号变量符号变量内容可变的符号对象。内容可变的符号对象。4.符号表达式、符号函数和符号方程符号表达式、符号函数和符号方程由符号常量、符号变由符号常量、符号变量、符号函数用运算符或专用函数连接而成的符号对象。量、符号函数用运算符或专用函数连接而成的符号对象。5.符号矩阵符号矩阵元素是符号对象的矩阵。元素是符号对象的矩阵。782.6 符号变量和符号表达式l符号变量和符号表达式在使用前必须说明符号变量和符号表达式在使用前必须说明1.sym函数f1=sym(ax2+bx+c)%创建符号变量f1和一个符%号表达式2.syms函数 clear syms a b c

36、 x whos Name Size Bytes Class a 1x1 126 sym object b 1x1 126 sym object c 1x1 126 sym object x 1x1 126 sym object792.6 符号变量和符号表达式l默认的符号变量默认的符号变量i和j通常作为虚数单位如a=1+2i a=1+2i802.7 符号表示式的运算l2.7.1算术运算算术运算运运算算符符“”、“-”、“*”、“/”、“”、“”、“.*”、“.”、“./”、“.”分分别别实实现现符符号号对对象象的的加加、减减、乘乘、左左除除、右右除除、符符号号数数组组的的乘乘、左左除除、右右除除

37、、幂幂运运算算812.7 符号表示式的运算l2.7.1算术运算算术运算clearf1=sym(1/(a-b);f2=sym(2*a/(a+b);f3=sym(a+1)*(b-1)*(a-b);f1+f2%符号和ans=1/(a-b)+2*a/(a+b)f1*f3%符号积ans=(a+1)*(b-1)f1/f3%符号商ans=1/(a-b)2/(a+1)/(b-1)822.7 符号表示式的运算l2.7.2关系运算关系运算符符号号对对象象的的关关系系运运算算,没没有有“大大于于”“小小于于”等等的的概念,只有是否概念,只有是否“等于等于”的关系概念。即的关系概念。即=或或符号对象没有逻辑运算。符号

38、对象没有逻辑运算。832.7.3 函数运算1合并、化简、展开等函数合并、化简、展开等函数(1)factor(S):将表达式S因式分解;(2)expand(S):将表达式S展开;(3)collect(S,n):将表达式S中的自变量n合并同次幂项;(4)simplify(S):利用代数中的函数规则化简表达式S;(5)n,d=numden(S):将表示式S转变成分子与分母形式,其中n为分子,d为分母。842.7.3 函数运算2反函数反函数lfinverse(f,v)对指定自变量为v的函数f(v)求反函数3复合函数复合函数lcompose(f,g)求f=f(x)和g=g(y)的复合函数f(g(y)lc

39、ompose(f,g,z)求 f=f(x)和g=g(y)的复合函数f(g(z)4表达式替换函数表达式替换函数(1)subs(S):用赋值语句中给定值替换表达式S中所有同名变量 (2)subs(S,old,new):用符号或数值变量new替换S中的符号变量old85应用举例clear f1=sym(exp(x)+x)*(x+2);f2=sym(a3-1);f3=sym(1/a4+2/a3+3/a2+4/a+5);f4=sym(sin(x)2+cos(x)2);collect(f1)ans=x2+(exp(x)+2)*x+2*exp(x)expand(f1)ans=exp(x)*x+2*exp(x

40、)+x2+2*xfactor(f2)ans=(a-1)*(a2+a+1)m,n=numden(f3)%m为分子,n为分母m=1+2*a+3*a2+4*a3+5*a4n=a4 simplify(f4)ans=186【例【例4-10】将表达式】将表达式f=x(x(x-6)+12)t分别按照分别按照x和和t进行同类合并。进行同类合并。syms x tf=x*(x*(x-6)+12)*t;collect(f)ans=t*x3-6*t*x2+12*t*xcollect(f,t)ans=x*(x*(x-6)+12)*t应用举例%不指明自变量时,默认状态是不指明自变量时,默认状态是x x%指明自变量时,按指

41、定自变量合并。指明自变量时,按指定自变量合并。87clearsymsxyfinverse(1/tan(x)%求反函数,自变量为求反函数,自变量为xans=atan(1/x)f=x2+y;finverse(f,y)%求反函数,自变量为求反函数,自变量为yans=-x2+yclearsymsxyztu;f=1/(1+x2);g=sin(y);h=xt;p=exp(-y/u);compose(f,g)%求求f=f(x)和和g=g(y)的复合函数的复合函数f(g(y)ans=1/(1+sin(y)2)应用举例88【例【例4-15】clearsymsabsubs(a+b,a,4)%用用4替代替代a+b中

42、的中的aans=4+bsubs(cos(a)+sin(b),a,b,sym(alpha),2)%多重替换多重替换ans=cos(alpha)+sin(2)f=sym(x2+3*x+2)f=x2+3*x+2subs(f,x,2)%求解求解f当当x=2时的值时的值ans=12应用举例%当变量当变量newnew为数值形式时,显示的结果仍为符号变量。为数值形式时,显示的结果仍为符号变量。892.8 符号极限、微积分l2.8.1极限极限1.limit(F)计算符号表达式计算符号表达式F F在默认自变量趋于在默认自变量趋于0 0时极限时极限2.limit(F,a)(同上同上)a时极限时极限3.limit(

43、F,x,a)计算符号表达式计算符号表达式F在在xa条件下的极限条件下的极限4.limit(F,x,a,right)和和limit(F,x,a,left)计算符号表达式计算符号表达式F在在xa条件下的右极限和左极限。条件下的右极限和左极限。lim f(x)x 0lim f(x)x alim f(x)x a+lim f(x)x a-lim f(m)m a90应用举例例例:clearsyms a xlimit(1/x,x,0)ans=NaNlimit(1/x,x,0,left)ans=-Inflimit(x+a)/(x-a)x,x,inf)ans=exp(2*a)912.8.2 符号微分 dy/dx

44、1.diff(f)求表达式求表达式f对默认自变量的一次微分值;对默认自变量的一次微分值;2.diff(f,t)对指定自变量对指定自变量t的一次微分值;的一次微分值;3.diff(f,n)对默认自变量的对默认自变量的n次微分值;次微分值;4.diff(f,t,n)对指定自变量对指定自变量t的的n次微分值。次微分值。92应用实例例例:已知已知f(x)=ax2+bx+c,求求f(x)的微分的微分syms a b c xf=a*x2+b*x+cdiff(f)%对默认自变量x 求微分ans=2*a*x+bdiff(f,2)%对x求2次微分ans=2*adiff(f,a)%对自变量a求微分ans=x*2d

45、iff(diff(f),a)%对x和a求偏导ans=2*x932.8.3 积分 1.int(f)对默认自变量的积分值;对默认自变量的积分值;2.int(f,t)对指定自变量对指定自变量t的不定积分值;的不定积分值;3.int(f,a,b)对默认自变量的定积分值,对默认自变量的定积分值,积分区间为积分区间为a,b;4.int(f,t,a,b)对指定自变量对指定自变量t的定积分值,的定积分值,积分区间为积分区间为a,bintint(被积表达式被积表达式,积分变量积分变量,积分下限积分下限,积分上限积分上限)定积定积分分缺省时为不定积分缺省时为不定积分94应用实例例例:已知已知f(x)=ax2+bx

46、+c,求求f(x)的积分的积分syms a b c xf=a*x2+b*x+cint(f)%表达式f的不定积分ans=1/3*a*x3+1/2*b*x2+c*x%表达式表达式f f在在(0,2)(0,2)的定积分的定积分int(f,x,0,2)ans=8/3*a+2*b+2*c95应用实例例例:已知已知f(x)=ax2+bx+c,求求f(x)对对a a的不定积分的不定积分int(f,a)ans=1/2*a2*x3+1/2*b*a*x2+c*a*xint(int(f,a),x)ans=1/6*a2*x3+1/2*b*a*x2+c*a*x 计算二重不定积分计算二重不定积分96应用实例例例:计算二重

47、不定积分计算二重不定积分F=int(int(x*exp(-x*y),x),y)F=1/y*exp(-x*y)972.9 符号求和 1.symsum(S)%计算符号表达式计算符号表达式S对默认自变量对默认自变量的不定和的不定和2.symsum(S,v)%符号表达式符号表达式S对自变量对自变量v的不定和的不定和3.symsum(S,a,b)%符号表达式符号表达式S对默认变量从对默认变量从a到到b的有限和的有限和98应用实例【例例4-19】分别计算表达式分别计算表达式k,和和syms k xsymsum(k)ans=1/2*k21/2*ksymsum(k2,0,10)ans=385symsum(xk

48、/sym(k!),k,0,inf)ans=exp(x)k2010K=0 xkK!992.10 符号方程的求解matlab符号运算能够解一般的线性方程、符号运算能够解一般的线性方程、非线性方程及一般的非线性方程及一般的代数方程、代数方程组代数方程、代数方程组。当方程组不存在符号解时,又无其他自由参当方程组不存在符号解时,又无其他自由参数,则给出数值解。数,则给出数值解。命令格式:命令格式:solve(f)求一个方程的解求一个方程的解solve(f1,f2,fn)求求n个方程的解个方程的解1002.10 符号方程的求解2.10.1代数方程代数方程代数方程的求解由函数solve实现:1.solve(

49、eq)求解符号方程式eq=0,默认自变量 2.solve(eq,var)求解符号方程式eq=0,var为自变量3.solve(eq1,eq2,eqn,var1,var2varn)求解联立方程组eq1=0,eq2=0eqn=0,自变量分别为var1,var2varn101应用实例syms a b c xf=a*x2+b*x+csolve(f)ans=1/2/a*(-b+(b2-4*a*c)(1/2)1/2/a*(-b-(b2-4*a*c)(1/2)计算机格式一般格式f=ax2+bx+c 求解102应用实例solve(f,b)%对指定变量对指定变量b求解求解ans=-(a*x2+c)/xsolve

50、(1+x=sin(x)ans=-1.9345632107520242675632614537689f=ax2+bx+c 求解103应用实例解方程组解方程组x+y+z=1x-y+z=22x-y-z=1g1=sym(x+y+z=1);g2=sym(x-y+z=2);g3=sym(2*x-y-z=1)f=solve(g1,g2,g3)或者或者f=solve(x+y+z=1,x-y+z=2,2*x-y-z=1)104应用实例解方程组解方程组x+y+z=1x-y+z=22x-y-z=1f=solve(x+y+z=1,x-y+z=2,2*x-y-z=1)f=x:1x1symf.xans=2/3y:1x1s

51、ymf.yans=-1/2z:1x1symf.zans=5/61052.10 符号方程的求解2.10.2常微分方程常微分方程使用函数dsolve来求解常微分方程:dsolve(eq1,eq2,.,cond1,cond2,.,v)其中eq1、eq2为微分方程式cond1、cond2为对应微分方程式的初始条件v是指定变量,若不指明为默认自变量1062.10 符号方程的求解2.10.2常微分方程常微分方程或或或y的一阶导数 Dyy的二阶导数 D2yy的 n 阶导数 Dny107应用实例例例:分别求解分别求解 ,,初始条件初始条件y(0)=1,y(0)=1,dydx=xd2ydx=1+dydxdydx

52、X=0=0dsolve(Dy=x,x)%求微分方程y=x的通解,指定x为%自变量。ans=1/2*x2+C1dsolve(D2y=1+Dy,y(0)=1,Dy(0)=0)%求微分方程y=1+y的解,加初始条件ans=-x+exp(x)108应用实例y=dsolve(D2y+2*Dy+2*y=0,y(0)=1,Dy(0)=0)y=exp(-x)*cos(x)+exp(-x)*sin(x)ezplot(y)方程解方程解y(t)的时间曲线图的时间曲线图例:例:109应用实例例:例:110扩展阅读mtaylor(f,n)泰勒级数展开ztrans(f)Z变换invztrans(f)反Z变换laplace

53、(f)拉氏变换invlaplace(f)反拉氏变换fourier(f)付氏变换invfourier(f)反付氏变换111扩展阅读例例:计算计算 f=x*exp(-x*10)f=x*exp(-x*10)的的Z Z变换变换 F=ztrans(f)F=z*exp(-10)/(z-exp(-10)2112应用练习练习练习1 1练习练习2 2提示:利用提示:利用limitlimit函数和函数和symsumsymsum函数函数提示:利用符号矩阵和提示:利用符号矩阵和limitlimit函数函数113应用练习练习练习3 3:求积分求积分练习练习4 4:求微分方程求微分方程114学好计算机的唯一途径是学好计算机的唯一途径是你的编程能力与你在计算机上投入的时间成你的编程能力与你在计算机上投入的时间成结 束 语115结束结束

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!