MATLAB6.0数学手册

上传人:沈*** 文档编号:222846314 上传时间:2023-07-13 格式:PDF 页数:246 大小:38.07MB
收藏 版权申诉 举报 下载
MATLAB6.0数学手册_第1页
第1页 / 共246页
MATLAB6.0数学手册_第2页
第2页 / 共246页
MATLAB6.0数学手册_第3页
第3页 / 共246页
资源描述:

《MATLAB6.0数学手册》由会员分享,可在线阅读,更多相关《MATLAB6.0数学手册(246页珍藏版)》请在装配图网上搜索。

1、MATLAB6.0数学手册第 1 章 矩阵及其基本运算MATLAB,即“矩阵实验室”,它是以矩阵为基本运算单元.因此,本书从最基本的运算单元出发,介 绍MATLAB的命令及其用法。1.1 矩阵的表示1.1.1 数值矩阵的生成1.实数值矩阵输入MATLAB的强大功能之一体现在能直接处理向量或矩阵。当然首要任务是输入待处理的向量或矩阵。不管是任何矩阵(向量),我们可以直接按行方式输入每个元素:同一行中的元素用逗号(,)或者用空格符来分隔,且空格个数不限;不同的行用分号(;)分隔。所有元素处于一方 括 号()内;当矩阵是多维(三维以上),且方括号内的元素是维数较低的矩阵时,会有多重的方括号。如:Ti

2、me=11Time=12 1 2 3 4 5 6 7 8 9 1011 12 123456789 10 X_Data=2.32X_Data=2.434.37 vect_a=1 23.43;4.37 5.983.435.983 4 5vect_a=1 2 3 4 Matrix_B=11 2 3;2 3 4:3Matrix_B=1 2 32 3 43 4 5 Null_M=2.复数矩阵输入54 5%生成一个空矩阵复数矩阵有两种生成方式:第一种方式例1-1 a=2.7;b=13/25;C=1,2*a+i*b,b*sqrt(a);sin(pi/4),a+5*b,3.5+1 C=1.0000 5.400

3、0+0.5200i 0.85440.7071 5.3000 4.5000第2种方式例1-2 R=l 2 3;4 5 6,M=|ll 12 13;I4 15 16R=1 2 34 5 6M=11 12 1314 15 16 CN=R+i*MCN=1.0000+11.0000i 2.0000+12.0000i 3.0000+13.0000i4.0000+14.0000i 5.0000+15.0000i 6.0000+16.0000i1.1.2 符号矩阵的生成在 MATLAB中输入符号向量或者矩阵的方法和输入数值类型的向量或者矩阵在形式上很相像,只不过要用到符号矩阵定义函数sy m,或者是用到符号定

4、义函数sy m s,先定义一些必要的符号变量,再像定义普通矩阵一样输入符号矩阵。1.用命令sym定义矩阵:这时的函数sym 实际是在定义一个符号表达式,这时的符号矩阵中的元素可以是任何的符号或者是表达式,而且长度没有限制,只是将方括号置于用于创建符号表达式的单引号中。如下例:例 1-3 sym_matrix=sym(a b e;Jack Help Me!NO W AY!,)sym_matrix=a b cJack Help Me!NOWAY!sym_digits=sym(1 2 3;a b c;sin(x)cos(y)tan(z)sym_digits=1 2 引a b csin(x)cos(y

5、)tan(z)2.用命令syms定义矩阵先定义矩阵中的每一个元素为一个符号变量,而后像普通矩阵一样输入符号矩阵。例 1-4syms a b c;M1 =sym(Classical);M2=sym(Jazz);M3=sym(Blues)syms_matrix=a b c:M l,syms_matrix=a bClassical Jazz 2 3M2,M3:int2str(2 3 5)cBlues5把数值矩阵转化成相应的符号矩阵。数值型和符号型在MATLAB中是不相同的,它们之间不能直接进行转化。MATLAB提供了一个将数值型转化成符号型的命令,即 sym。例 1-5 Digit_Matrix=1

6、/3 sqrt(2)3.4234;exp(0.23)log(29)23A(-11.23)Syms_Matrix=sym(Digit_Matrix)结果是:Digit_Matrix=0.3333 1.4142 3.42341.2586 3.3673 0.0000Syms_Matrix=1/3,sqrt(2),17117/50005668230535726899*2人(-52),7582476122586655*2A(-51),5174709270083729*2A(-1 0 3)注意:矩阵是用分数形式还是浮点形式表示的,将矩阵转化成符号矩阵后,都将以最接近原值的有理数形式表示或者是函数形式表示。

7、1.1.3 大矩阵的生成对于大型矩阵,一般创建M 文件,以便于修改:例 1-6 用 M 文件创建大矩阵,文件名为example.mexm=456468873257955216875448881365456788982154566845896545987548810963377在 MATLAB窗口输入:example;size(exm)%显示exm 的大小ans=5 6%表示exm有 5 行 6 列。1.1.4 多维数蛆的创建函 数 cat格式 A=cat(n,A 1,A2,Am)说 明 n=l和 n=2时分别构造Al;A2和Al,A 2,都是二维数组,而 n=3时可以构造出三维数组。例 1 7

8、 A1 =1,2,3:4,5,6;7,8,9;A2=A F;A3=A 1-A2;A4=cat(3,Al,A2,A3)A4(:,:,l)=123456789A4(:,:,2)=147258369A4(:,:,3)=0-2-420-2420或用另一种原始方式可以定义:例 1-8 A1=1,2,3;4,5,6;7,8,9;A2=Ar;A3=A 1-A2;A5(:,:,1)=A1,A5(:,:,2)=A2,A5(:,:,3)=A3A5(:,:,l)=1 2 34 5 67 8 9A5(:,:,2)二1 4 72 5 83 6 9A5(:,:,3)=0-2-42 0-24 2 01.1.5 特殊矩阵的生

9、成rand(*state,sum(100*clock)%每次重置到不同状态例 1 9产生一个3X 4 随机矩阵 R=rand(3,4)命令全零阵函数zeros格式命令函数B=zeros(n)%生成nxn全零阵B=zeros(m,n)%生成 mxn 全零阵B=zeros(m n)%生成 mxn 全零阵B=zeros(dl,d2,d3-)%生成 dlxd2xd3x全零阵或数组B=zeros(dl d2 d3)%生成dlxd2xd3x全零阵或数组B=zeros(size(A)%生成与矩阵A 相同大小的全零阵单位阵eye格式命令函数Y=eye(n)%生成nxn单位阵Y=eye(m,n)%生成mxn单位

10、阵Y=eye(size(A)%生成与矩阵A 相同大小的单位阵全 1 阵ones格式命令函数Y=ones(n)%生成 nxn 全 1 阵Y=ones(m,n)%生成 mxn 全 1 阵Y=ones(m n)%生成 mxn 全 1 阵Y=ones(dl,d2,d3-)%生成 dlxd2xd3x全 1 阵或数组Y=ones(dl d2 d3)%生成dlxd2xd3x全 1 阵或数组Y=ones(size(A)%生成与矩阵A 相同大小的全1 阵均匀分布随机矩阵rand格式Y=rand(n)%生成nxn随机矩阵,其元素在(0,1)内Y=rand(m,n)%生成mxn随机矩阵Y=rand(m n)%生成m

11、 xn随机矩阵Y=rand(m,n,p,)生成mxnxpx随机矩阵或数组Y=rand(m n p)%生成mxnxpx随机矩阵或数组Y=rand(size(A)%生成与矩阵A 相同大小的随机矩阵rand%无变量输入时只产生一个随机数s=rand(fstate)%产生包括均匀发生器当前状态的35个元素的向量rand(state,s)%使状态重置为srandCstate,0)%重置发生器到初始状态rand(state,J)%对整数j重置发生器到第j个状态0.95010.48600.45650.44470.23110.89130.01850.61540.60680.76210.82140.7919例

12、1-1 0 产生一个在区间10,20内均匀分布的4 阶随机矩阵 a=10;b=20;x=a+(b-a)*rand(4)命 令 正态分布随机矩阵19.218119.354710.578911.388917.382119.169013.528712.027711.762714.102718.131711.987214.057118.936510.098616.0379函数 randn格式 Y=randn(n)Y=randn(m,n)Y=randn(m n)Y=randn(m,n,p,-)Y=randn(m n p)Y=randn(size(A)randns=randn(,state,)s=rand

13、nCtate,s)s=randn(*state 0)s=randn(,state,j)%生成nxn正态分布随机矩阵%生成m xn正态分布随机矩阵%生成m xn正态分布随机矩阵%生成mxnxpx正态分布随机矩阵或数组%生成mxnxpx正态分布随机矩阵或数组%生成与矩阵A 相同大小的正态分布随机矩阵%无变量输入时只产生一个正态分布随机数%产生包括正态发生器当前状态的2 个元素的向量%重置状态为s%重置发生器为初始状态%对于整数j重置状态到第j状态s=randn(state,sum(100*clock)%每次重置到不同状态例 1-1 1 产生均值为0.6,方差为0.1的 4 阶矩阵 mu=0.6;s

14、igma=0.1;x=mu+sqrt(sigma)*randn(4)0.83110.77990.13351.05650.78270.51920.52600.48900.61270.48060.63750.79710.81410.50640.69960.8527命 令 产生随机排列函数 randperm格式 p=randperm(n)%产 生 1 n 之间整数的随机排列例 1-12 randperm(6)3 2 15 4 6命 令 产生线性等分向量函数 linspace格 式 y=linspace(a,b)%在 9,b)上产生100个线性等分点y=linspace(a,b,n)%在(,b)上产生

15、n 个线性等分点命 令 产生对数等分向量函数 logspace格 式 y=logspace(a,b)%在(10、10人)之间产生50个对数等分向量y=logspace(a,b,n)y=logspace(a,pi)命令 计算矩阵中元素个数n=numel(a)%返回矩阵A 的元素的个数命 令 产生以输入元素为对角线元素的矩阵函数 blkdiag格 式 out=blkdiag(a,b,c,d,-)%产生以a,b,c,d,.为对角线元素的矩阵例 1-13 out=blkdiag(1,2,34)out=1 0 00 2 00 0 30 0 0命 令 友矩阵函数 compan格式 A=compan(u)0

16、004%u 为多项式系统向量,A 为友矩阵,A 的 第 1 行元素为-u(2:n)/u(l),其中u(2:n)为 u 的第2 到第n 个元素,A 为特征值就是多项式的特征根。例 1-1 4 求多项式(工一1)(工一2)(工+3)=/-7 工+6 的友矩阵和根 u=l 0-7 6;A=compan(u)A=0 71 0%求多项式的友矩阵-600 1 0 eig(A)%A的特征值就是多项式的根-3.00002.00001.0000命 令 hadamard矩阵函数 hadamard格式 H=hadamard(n)例 115%返回n 阶 hadamard矩阵 h=hadamard(4)h=1 1 11

17、 -1 11 1 -11 -1-11命 令 Hankel方阵函数 hankel格式 H=hankel(c)%第 1列元素为c,反三角以下元素为0。H=hankel(c,r)%第 1 列元素为c,最后一行元素为r,如果c 的最后一个元素与 r 的第一个元素不同,交叉位置元素取为c 的最后一个元素。例 1-16 c=l:3,r=7:101 2 37 8 9 h=hankel(c,r)h=1 2 32 3 83 8 9命 令 Hilbert矩阵108910函 数 hilb格式 H=hilb(n)%返回n 阶 Hilbert矩阵,其元素为H(ij)=l/(i+j-l)o例 1-17 产生一个3 阶 H

18、ilbert矩阵 format rat%以有理形式输出 H=hilb(3)H=1 1/2 1/31/2 1/3 1/41/3 1/4 1/5命令 逆 Hilbert矩阵函数 invhilb格式 H=invhilb(n)%产生n 阶逆Hilbert矩阵命 令 Magic(魔方)矩阵函数 magic格式 M=magic(n)例 1-18%产生n 阶魔方矩阵 M=magic(3)M=834命 令 Pascal矩阵函数 pascal格式 A=pascal(n)159672%产生n 阶 Pascal矩阵,它是对称、正定矩阵,它的元素由Pascal三角组成,它的逆矩阵的所有元素都是整数。A=pascal(

19、n,l)A=pascal(n,2)%返回由下三角的Cholesky系数组成的Pascal矩阵%返回Pascal(n,l)的转置和交换的形式例 1-19 A=pascal(4)A=1111123413610141020 A=pascal(3,1)A=1001i-10ii A=pascal(3,2)A=1-L1i1i-21-1i0100命 令 托普利兹矩阵函数 toeplitz格式 T=toeplitz(c,r)%生成一个非对称的托普利兹矩阵,将 c 作为第1 歹 U,将 r作为第1 行,其余元素与左上角相邻元素相等。T=toeplitz(r)%用向量r 生成一个对称的托普利兹矩阵例 1-20命

20、令 Wilkinson特征值测试阵 c=|1 2 3 45;r=1.5 2.5 3.5 4.5 5.5;T=toeplitz(c,r)T=1 5/27/29/211/2215/27/29/23215/27/243215/254321函数 wilkinson格式 W=wilkinson(n)%返回n阶Wilkinson特征值测试阵例 1-21 W=w i l ki n s o n(4)W=3/210 011/21 0011/2 1001 3/2 W=w i l ki n s o n(7)W=3 10 00 0 01 21 00 0 00 11 10 0 00 01 01 0 00 00 11 1

21、 00 00 01 2 10 00 00 1 31.2矩阵运算1.2.1 力 口、减运算运算符:“+”和“一”分别为加、减运算符。运算规则:对应元素相加、减,即按线性代数中矩阵的“十”,“一”运算进行。例 1-22 A=1,1,1;1,2,3;1,3,6 B=|8,1,6;3,5,7;4,9,2 A+B=A+BA-B=A-B结果显示:A+B=9 2 74 7 1 05 1 2 8A-B=-7 0 -5-2 -3 -4-3 -6 41.2.2 乘法运算符:*运算规则:按线性代数中矩阵乘法运算进行,即放在前面的矩阵的各行元素,分别与放在后面的矩阵的各列元素对应相乘并相加。1.两个矩阵相乘例 1-2

22、3X=2 3 4 5;12 2 1 :Y=0 1 1;1 1 0;0 0 1;1 0 0 ;Z=X*Y结果显示为:z=8 5 63 3 32.矩阵的数乘:数乘矩阵上例中:a=2*X则显示:a=4 6 8 102 4 4 2向量的点乘(内积):维数相同的两个向量的点乘。数组乘法:A.*B表示A 与 B 对应元素相乘。3.向量点积函 数 dot格 式 C=dot(A,B)%若 人、B 为向量,则返回向量A 与 B 的点积,A 与 B 长度相同;若为矩阵,则 A 与 B 有相同的维数。C=dot(A,B,dim)%在 dim维数中给出A 与 B 的点积例 X=-1 0 2;Y=-2-1 1;Z=do

23、t(X,Y)则显示:Z=4还可用另一种算法:sum(X.*Y)ans=44.向量叉乘在数学上,两向量的叉乘是一个过两相交向量的交点且垂直于两向量所在平面的向量。在 Matlab中,用函数cross实现。函数 cross格式 C=cross(A,B)%若 A、B 为向量,则返回A 与 B 的叉乘,A、B必须是3 个元素的向量:若 A、B 为矩阵,则返回一个3Xn矩阵,其中的列是A 与 B 对应列的叉积,A、B 都是3X n 矩阵。C=cross(A,B,dim)%在 dim维数中给出向量A 与 B 的叉积。A 和 B 必须具有相同的维数,size(A,dim)和 size(B,dim)必须是3。

24、例 1-2 4 计算垂直于向量(1,2,3)和(4,5,6)的向量。a=1 2 3;b=|4 5 6;c=cross(a,b)结果显示:-3 6-3可得垂直于向量(1,2,3)和(4,5,6)的向量为(-3,6,-3)5.混合积混合积由以上两函数实现:例 1-2 5 计算向量a=(l,2,3)、b=(4,5,6)和 c=(-3,6,3)的混合积a(bxc)解:a=I 2 3;b=4 5 6;c=-3 6-3;x=dot(a,cross(b,c)结果显示:x=54注意:先叉乘后点乘,顺序不可颠倒。6.矩阵的卷积和多项式乘法函数 conv格式 w=conv(u,v)%u、v 为向量,其长度可不相同

25、。说明 长度为m 的向量序列u 和长度为n 的向量序列v 的卷积(Convolution)定义为:kw(k)=Z M j)v(k+l-j)式中:w 向量序列的长度为(m+n-1),当 m=n时,j=iw(l)=u(l)*v(l)w(2)=u(1 )*v(2)+u(2)*v(1)w(3)=u(1 )*v(3)+u(2)*v(2)+u(3)*v(1)w(n)=u(1 )*v(n)+u(2)*v(n-1)+u(n)*v(l)w(2*n-l)=u(n)*v(n)例 1-26 展开多项式(J+2S+2)(S+4)(S+1)解:w=c o n v(1,2,2 ,c o n v(1,4 ,1 J)w=1 7

26、 1 6 1 8 8 P=p o l y 2 s t r(w/s )%将w表示成多项式P =sA4 +7 sA3 +1 6 s A2+跳 +87.反褶积(解卷)和多项式除法运算函数 deconv格 式 q,r=deconv(v,u)%多项式v 除以多项式u,返回商多项式q 和余多项式r。注意:v、u、q、r 都是按降幕排列的多项式系数向量。(x3+2%2+3x+4)(1 Ox2+20 x+30)例 1-27,则其卷积为u=l 2 3 4 v=1 0 2 0 3 0 c=c o n v(u,v)c =1 0 4 0 1 0 0 1 6 0 1 7 0 1 2 0则反褶积为|q,r =d e c

27、o n v(c,u)q =1 0 2 0 3 0r =0 0 0 0 0 08.张量积函 数 kron格式 C=kron(A,B)%人 为 1 1 1 乂 11矩阵,B 为 pxq矩阵,则 C 为 mpxnq矩阵。说明A 与 B 的张量积定义为:C=A B=aiiBa2iBaB S|nBa22B ,a2nBA B 与 BO Aam|BamzB amnB_均为mpxnq矩阵,但一般地A BB Ao例 1-2 8 A258369141 23 4B =求 A G)B。7 A=l 2;3 4|;B=|1 2 3;4 5 6;7 8 9;C=kron(A,B)C=12324645681012789141

28、61836948121215181620242124272832361.2.3集合运算1.两个集合的交集函数 intersect格式 c =i n t e r s e c t(a,b)c =i n t e r s e c t(A,BJr o w s )c,i a,i b =i n t e r s e c t(a,b)%返回向量a、b的公共部分,即c=aGb。%A、B为相同列数的矩阵,返回元素相同的行。%c为a、b的公共元素,i a表示公共元素在a中的位置,i b表示公共元素在b中位置。例 1-2 9A=1 2 3 4;1 2 4 6;6 7 1 4A=116227341464 B=l 2 3

29、8;1 1 4 6;6 7 1 4B=1 21 16 7341864 C=intersect(A,B,Yows)C=6 7 14例 1-3 0 A=1 9 6 20;B=l 2 3 46 10 20;c,ia,ib=intersect(A,B)1ia=1ib=163520472.检测集合中的元素函数 ismember格式 k=i s m e m b e r(a,S)k=i s m e m b e r(A,S,Yo w s )%当2中元素属于S时,k取1,否则,k取0。%A、S有相同的列,返回行相同k取1,不相同取0的列向量。例 1-3 1S=0 2 4 6a=l 2 3 4 k=ismembe

30、r(a,S)8 10 125 6;14 16 18 20;0 100 I%1表示相同元素的位置例 1 32 A=1 2 3 4;1 2 4 6;6 7 1 4 B=l 2 3 8;1 1 4 6;6 7 1 4 k=ismember(A.B,rows)k=001%1表示元素相同的行3.两集合的差函数 setdiff格式 c=setdiff(a,b)c=setdiff(A,B,Tows)c,i=setdiff()%返回属于a 但不属于b 的不同元素的集合,C=a-bo%返回属于A 但不属于B 的不同行%c与前面一致,i 表示c 中元素在A 中的位置。例 1-33A=1 7 96 20;B=l 2

31、 3 4 6 10 20;c=setdiff(A,B)c=7 9例 1-34 A=1 2 3 4;1 2 4 6;6 7 1 4 B=1 23 8;1 I 4 6;6 7 1 4 c=setdiff(A,B,rows,)1 2 31 2 4464.两个集合交集的非(异或)函数 setxor格式 c=setxor(a,b)c=setxor(A,B/rows*)c,ia,ib=setxor()例 1 35%返回集合a、b 交集的非%返回矩阵A、B 交集的非,A、B 有相同列数。%ia、ib 表示c 中元素分别在a(或 A)、b(或 B)中位置 A=1 2 3 4;B=2 4 5 8;C=setxo

32、r(A,B)C=13 5 8例 1 36 A=1 2 3 4;1 2 4 6;6 7 1 4A=12 3 412 4 66 7 14 B=l 2 3 8;1 1 4 6;6 7 1 41B=12 3 8114 66 7 14 C,ia,ib=setxor(A,B,rows)C=114 612 3 412 3 812 4 612ib215.两集合的并集函数 union格式 c=union(a,b)c=union(A,Blows)c,ia,ib=union()例 1-37 A=l 2 3 4:B=2 4 5 8;c=union(A,B)则结果为%返回a、b 的并集,即 c=aUb。%返回矩阵A、B

33、 不同行向量构成的大矩阵,其中相同行向量只取其一。%ia ib 分别表示c 中行向量在原矩阵(向量)中的位置1 2例 1-38 A=l 2 3 4;1 2 4 6A=1 21 2 B=1 23 8;1 I 4 6B=1 21 1345 834463486 c,ia,ib=union(A,B,Yows)c=1111ia=12ib=211222433464866.取集合的单值元素函数格式 b=unique(a)b=unique(A,rows)bj,j =unique(,)例 1 39%取集合a 的不重复元素构成的向量%返回A、B 不同行元素组成的矩阵%i、j体现b 中元素在原向量(矩阵)中的位置A

34、=1 1 22446A=1 1 c,i,j=unique(A)4 62244646c=1i=2j=14264892233434例 1-40A=1 2 2 4;1 1 4 6;1 1 4 6A=1 2 21 1 446114 6 c,i,j=unique(A,rows)c=114 612 2 4i=31j =2111.2.4 除法运算M a t l a b 提供了两种除法运算:左 除()和 右 除(/)一般情况下,x=a b 是方程a*x =b的解,而 x=b/a 是方程x*a=b 的解。例:a=l 2 3;4 2 6;7 4 9b=4;1;2;x=ab则显示:x=-1.50002.00000.

35、5000如果a 为非奇异矩阵,则 a b 和 b/a 可通过a 的逆矩阵与b阵得到:ab=inv(a)*bb/a=b*inv(a)数组除法:A./B表示A 中元素与B 中元素对应相除。1.2.5 矩阵乘方运算符:八运算规则:(1)当 A 为方阵,P为大于0的整数时,A”表示A 的 P次方,即 A 自乘P次:P为小于0的整数时,A*表示A 的 P次方。(2)当 A为方阵,p为非整数时,则A P =V V-i 其中V为 A的特征向d 8du量,为特征值对角矩阵。如果有重根,以上指令不成立。dnnd(1P(3)标量的矩阵乘方p A,标量的矩阵乘方定义为p A=v V-I式 中 V,Dpd取 自特征值

36、分解A V=A D。(4)标量的数组乘方P.AA,标量的数组乘方定义为P J A =PP数组乘方:A JP:表示A 的每个元素的P 次乘方。1.2.6 矩阵函数命令函数格式方阵指数命令函数格式expmY=expm(A)Y=expml(A)Y=expm2(A)Y=expm3(A)矩阵的对数logmY=logm(X)%使用Pade近似算法计算eA,这是一个内部函数,A 为方阵。%使 用一个M 文件和内部函数相同的算法计算eA%使用泰勒级数计算%使用特征值和特征向量计算eAY,esterr=logm(X)%计算矩阵X 的对数,它是expm(X)的反函数。%esterr 为相对残差的估计值:norm(

37、expm(Y)-X)/norm(X)例 1-41 A=1 1 0;0 0 2;0 0-l|;Y=expm(A)Y=2.71831.71831.086201.00001.2642000.3679 A=logm(Y)A=1.00001.00000.0000002.000000-1.0000命 令 方阵的函数函 数 funm格式 F=funm(A,fun)%A 为方阵,计算由fun指定的A 的矩阵函数,fun可以 是 任 意 基 本 函 数,如 sin、c o s 等 等,例 如:funm(A,exp,)=expm(A)oEesterr=funm(A,fun)%esterr为结果所产生的相对误差的估

38、计值。命令函数格式矩阵的方根sqrtmX=sqrtm(A)%矩阵A 的平方根A 1%相当于X*X=A,求 X。若 A 的特征值有非负实部,则 X 是唯一的;若 A 的特征值有负的实部,则 X为复矩阵;若 A 为奇异矩阵,则 X 不存在。X,resnorm=sqrtm(A)%resnorm为结果产生的相对误差X,alpha,condest=sqrtm(A)%alpha 为稳定因子,condest 为结果的条件数的估计值。命令函数格式矩阵A 的多项式polyvalmpolyvalm(P,A)%P为多项式系数向量,方阵A 为多项式变量,返回多项式值。1.2.7 矩阵转置运算符:运算规则:若矩阵A 的

39、元素为实数,则与线性代数中矩阵的转置相同。若 A 为复数矩阵,则 A 转置后的元素由A 对应元素的共扼复数构成。若仅希望转置,则用如下命令:A.。1.2.8方阵的行列式函 数 det格 式 d=det(X)%返回方阵X 的多项式的值例 1-42 A=12 3;4 5 6;7 8 9 A=1 2 34 5 67 8 9 D=d e t(A)D=01.2.9逆与伪逆命 令 逆函 数 inv格式 Y=inv(X)%求方阵X的逆矩阵。若X为奇异阵或近似奇异阵,将给出警告信息。2 3、例 1 43求 4=2 2 1 的逆矩阵,3 4 3方法一 A=1 2 3;2 2 1;34 3 ;Y=i n v(A)

40、或 Y=AA(-1)则结果显示为Y=1.0 0 0 03.0 0 0 0-2.0 0 0 0-1.5 0 0 0-3.C X X X)2.5 0 0 01.0 0 0()1.0 0 0 0-1.0 0 0 01 2 3 1 0 0、方法二:由增广矩阵8=2 2 1 0 10进行初等行变换 3 4 3 0 0 LZ B=1,2,3,1,0,0;2,2,1,0,1,0;3,4,3,0,0,1 ;C=r r e f(B)%化行最简形 X=C(:,4:6)%取矩阵C中的A N-1)部分显示结果如下:C=1.0 0 0 000 1.0 0 0 0 3.0 0 0()-2.0 0 0 001.0 0 0

41、00 -1.5 0 0 0 -3.0 0 0 0 2.5 0 0 0001.0 0 0 0 1.0 0 0 0 1.0 0 0 0 -1.0 0 0 0 x=1.0 0 0 03.0 0 0 0-2.0 0 0 0-1.5 0 0 0-3.0 0 0 02.5 0 0 01.0 0 0 01.0 0 0 0-1.0 0 0 0例 1-44 A=2 1 -1;2 1 2;1 -1 1 :f o r m a t r a t D=i n v(A)D=%用有理格式输出1/301/301/3-2/3-1/31/30命 令 伪逆函 数 pinv格式 B =p i n v(A)%求矩阵A的伪逆B =p i

42、n v(A,t o l)%t o l 为误差:m a x(s i z e(A)*n o r m(A)*e p s说明 当矩阵为长方阵时,方程A X=I和X A=I至少有一个无解,这时A的伪逆能在某种程度上代表矩阵的逆,若A为非奇异矩阵,则p i n v(A)=i n v(A)。例 1-4 5 A=magic(5);%产生5 阶魔方阵。A=A(:,1:4)%取 5 阶魔方阵的前4 列元素构成矩阵AoA=1724 1 8235 7 1446 13 201012 19 211118 25 2 X=pinv(A)%计 算 A 的伪逆X=-0.00410.0527-0.0222-0.0132 0.006

43、90.0437-0.0363 0.0040 0.0033 0.0038-0.03050.0027-0.0004 0.0068 0.03550.0060-0.0041 0.0314 0.0211-0.03151.2.1 0矩阵的迹函数 trace格 式b=t r a c e (A)%返回矩阵A的迹,即A的对角线元素之和。1.2.1 1矩阵和向的范数命 令 向量的范数函数 norm格式 n =n o r m(X)%乂为向量,求欧几里德范数,即11X112=7。n =n o r m(X,i n f)%求8-范数,即 I I X1 1=m a x (a b s (X)。n =n o r m(X,l)%

44、求 1-范数,即 I I X 1 1尸X k I。kn =n o r m(X,-i n f)%求向量X的元素的绝对值的最小值,即IIX 1 1=m i n (a b s(X)。n =n o r m(X,p)%求p-范数 即 IIX IIp=y y x klp,J?r t t n o r m(X,2)=n o r m(X)o命令函数格式矩阵的范数normn =n o r m(A)n =n o r m(A J)n =n o r m(A,2)n =n o r m(A,i n f)%人为矩阵,求欧几里德范数I I A I*等于A的最大奇异值。%求A的列范数IIA%,等于A的列向量的1-范数的最大值。%

45、求A的欧几里德范数IIA的,和n o r m(A)相同。%求行范数I I AL,等于A的行向量的1 .范数的最大值即:m a x(s u m(a b s(A*)。n =n o r m(A,f r o1)%求矩阵 A 的 F r o b e n i u s 范数I I A l lF=,即s q r t(s u m(d i a g(A,*A),不能用矩阵p-范数的定义来求。命 令 范数的估计值函数 normest格 式n r m =n o r m e s t(A)%矩阵A的2-范数(欧几里德范数)的估计值,相对误差小于1 06onrm=normest(A,tol)%U)1 为指定相对误差nrm,c

46、ount=normest()%count给出计算估计值的迭代次数1.2.1 2条件数命 令 矩阵的条件数函 数 cond格 式 c=cond(X)%求*的 2-范数的条件数,即 X 的最大奇异值和最小奇异值的商。c=cond(X,p)%求 p-范数的条件数,p 的值可以是1、2、inf或者,fro,。说明 线性方程组AX=b的条件数是一个大于或者等于1 的实数,用来衡量关于数据中的扰动,也就是A/或 b 对解X 的灵敏度。一个差条件的方程组的条件数很大。条件数的定义为:cod(A)I A Illi A I I命 令 1-范数的条件数估计函数 condest格 式 c=condest(A)%方阵

47、A 的 1-范数的条件数的下界估值。c,v=condest(A)%v 为向量,满足 II Avll=4,即 norm(A*vJ)c=norm(A,1 )*norm(v,I)/coc,v=condest(A,t)%求上面的c 和 v,同时显示出关于计算的步骤信息。如果 t=l,则计算的每步都显示出来;如果t=-l,则给出商c/rcond(A)。命 令 矩阵可逆的条件数估值函 数 rcond格 式 c=rcond(A)%对于差条件矩阵A 来说,给出一个接近于0 的数;对于好条件矩阵A,则给出一个接近于1 的数。命 令 特征值的条件数函数 condeig格 式 c=condeig(A)%返回矩阵A

48、的特征值的条件数V,D,c=condeig(A)%口 为 A 的特征值对角阵,V 为 A 的特征向量。1.2.1 3 矩阵的秩函 数 rank格 式 k=rank(A)%求矩阵A 的秩k=rank(A,tol)%tol 为给定误差1.2.1 4 特殊运算1.矩阵对角线元素的抽取函 数 diag格式 X=diag(v,k)%以向量v 的元素作为矩阵X 的第k 条对角线元素,当 k=0时,v 为 X 的主对角线;当 k0时,v 为上方第k 条对角线;当 kvO时,v 为下方第k 条对角线。X=diag(v)%以丫为主对角线元素,其余元素为0 构成X。v=diag(X,k)%抽 取*的 第 k 条对

49、角线元素构成向量v。k=0:抽取主对角线元素;k0:抽取上方第k 条对角线元素;k0为主对角线以上;k0为主对角线以上;kA=1 2 34 5 6:67 8 90 1A=1 2 3 4 5 66 7 8 9 0 1 B=ones(3,4)B=111111111111 B(:)=A(:)B=17 4 06 3 9 62 8 5 1(2)Reshape函数变维格式 B=reshape(A,m,n)%返回以矩阵A 的元素构成的mxn矩阵BB=reshape(A,m,n,p,)%将矩阵A 变维为mxnxpx.B=reshape(A,m n p)%同上B=reshape(A,siz)%由 siz决定变维

50、的大小,元素个数与A 中元素个数相同。例 1-4 9 矩阵变维a=l:12;b=reshape(a,2,6)b=1 3 52 4 64.矩阵的变向(1)矩阵旋转7 9 118 10 12函数格式B=rot90(A)B=rot90(A,k)%将矩阵A 逆时针方向旋转90%将矩阵A 逆时针方向旋转(kx90),k 可取正负整数。例 1-50A=1 2 3;4 5 6;7 8 9A=1 2 34 5 67 8 9 Y1 =rot90(A),Y2=rot90(A,-1)Y1=%逆时针方向旋转3 6 92 5 81 4 7Y2=%顺时针方向旋转7 4 18 5 29 6 3(2)矩阵的左右翻转函 数 f

51、liplr格式 B=fliplr(A)%将矩阵A 左右翻转(3)矩阵的上下翻转函 数 flipud格式 B=flipud(A)%将矩阵A 上下翻转例 1-51A=1 2 3:4 5 6A=1 2 34 5 6 B l=fliplr(A),B2=flipud(A)Bl=362514B2=4 5 6I 2 3(4)按指定维数翻转矩阵函数 flipdim格式 B =f l i p d i m(A,d i m)%f l i p d i m(A,l)=f l i p u d(A),并且 f l i p d i m(A,2)=f l i p l r(A)o例 1-5 2A=1 2 3;4 5 6A=1 2

52、 34 5 6 B l=flipdim(A,1 ),B2=flipdim(A,2)Bl=4 5 61 2 3B2=3 2 16 5 4(5)复制和平铺矩阵函数 repmat格式 B =r e p m a t(A,m,n)%将矩阵A复制mxn块 即B由mxn块A平铺而成。B =r e p m a t(A,m n )%与上面一致B =r e p m a t(A,m n p )%B由m x n x p x个A块平铺而成r e p m a t(A,m,n)%当A是一个数a时,该命令产生一个全由a组成的mxn矩阵。例 1-5 3A=1 2;5 6A=1 25 6 B=repmat(A,3,4)B=121

53、212 1 2565656 5 6121212 1 2565656 5 6121212 1 2565656 5 65.矩阵的比较关系矩阵的比较关系是针对于两个矩阵对应元素的,所以在使用关系运算时,首先应该保证两个矩阵的维数一致或其中一个矩阵为标量。关系运算是对两个矩阵的对应运算进行比较,若关系满足,则将结果矩阵中该位置元素置为1,否则置0。MATLAB的各种比较关系运算有见表l-l o表1-1运算符含义运算符含义大于关系=大于或等于关系=B,C3=A=BCl=0 10 10 0 10C2=Illi10 11C3=10 10110 16.矩阵元素的数据变换对于小数构成的矩阵A 来说,如果我们想对

54、它取整数,有以下几种方法:(1)按-8 方向取整函 数 floor格 式 floor(A)%将 A 中元素按-8 方向取整,即取不足整数。(2)按+8方向取整函 数 ceil格 式 ceil(A)%将 A 中元素按+8方向取整,即取过剩整数。(3)四舍五入取整函数 round格 式 round(A)%将 A 中元素按最近的整数取整,即四舍五入取整。(4)按离0 近的方向取整函 数 fix格 式 fix(A)%将 A 中元素按离0 近的方向取整例 1-55 A=-1.5+4*rand(3)A=2.3005 0.4439 0.3259-0.5754 2.0652-1.42600.9274 1.54

55、84 1.7856 B1 =floor(A),B2=ceil(A),B3=round(A),B4=fix(A)Bl=2 0 0-1 2-20 1 1B2=3 1 10 3-11 2 2B3=2 0 0-1 2-11 2 2B4=2 0 00 2-10 1 1(5)矩阵的有理数形式函 数 rat格 式 n,d=rat(A)%将 A 表示为两个整数矩阵相除,即 A=n./d。例 1-5 6 对于上例中的A n,d=rat(A)44495131-2252059-47216648149119321440239199733117931835(6)矩阵元素的余数函数 rem格式 C =r e m (A,x

56、)%表示A矩阵除以模数x后的余数。若 x=0,则定义r e m(A,O)=N a N,若 x W O,则整数部分由f i x(A./x)表示,余数C=A-x.*f i x(A./x)o 允许模x为小数。7.矩阵逻辑运算设矩阵A和 B 都是m x n 矩阵或其中之一为标量,在 M A T L A B 中定义了如下的逻辑运算:(1)矩阵的与运算格式 A&B 或 a n d(A,B)说明 A与 B 对应元素进行与运算,若两个数均非0,则结果元素的值为1,否则为0。(2)或运算格式 A IB 或 o r(A,B)说 明 A与 B 对应元素进行或运算,若两个数均为0,则结果元素的值为0,否则为1。(3)

57、非运算格 式 A或 n o t (A)说明 若 A的元素为0,则结果元素为1,否则为0。(4)异或运算格式 x o r (A,B)说明 A与 B 对应元素进行异或运算,若相应的两个数中一个为0,一个非0,则结果为 0,否则为1。例 1-5 7 A=0 2 3 4;l 3 5 0,B=1 05 3;1 5 05 A =0 2 3 413 5 0B=10 5 315 0 5 C l=A&B,C 2=A IB,C 3=A,C 4=x o r(A,B)C l =0 0 11110 0C 2=11111111C 3=10 0 00 0 0 1C 4=110 00 0 111.2.15符号矩阵运算1.符号

58、矩阵的四则运算Ma t l a b 6.x 抛弃了在4.2版中为符号矩阵设计的复杂函数形式,把符号矩阵的四则运算简化为与数值矩阵完全相同的运算方式,其运算符为:加(+)、减(一)、乘(义)、除(/、)等 或:符号矩阵的和(s ym a d d)、差(s ym s u b)、乘(s ym m u l)o例 1-5 8 A =symCll/x,l/(x +l);l/(x +2),l/(x +3)y);=1;x +2,0 );C=B-AD=ab则显示:C=x-l/x l-J/(x+l)x+2-l/(x+2)-l/(x+3)D=-6*x-2*xA3-7*xA2 l/2*xA3+x+3/2*xA26+2

59、*xA3+10*xA2+14*x-2*xA2-3/2*x-1 /2*xA32.其他基本运算符号矩阵的其他一些基本运算包括转置()、行 列 式(d e t)、逆(i n v)、秩(r a n k)、第S)和 指 数(e x p 和 e x p m)等都与数值矩阵相同3.将数值矩阵转化为符号矩阵函 数 sym格 式 B=s ym(A)%将人转化为符号矩阵B例 1-5 9 A=2/3,sqrt(2),0.222;1.4,1/0.23,Iog(3)A=0.6667 1.4142 0.22201.4000 4.3478 1.0986 B=sym(A)B=2/3,sqrt ,111/500 7/5,100

60、/23,4947709893870346*2A(-52)4.符号矩阵的索引与修改符号矩阵的索引与修改同数值矩阵的索引与修改完全相同,即用矩阵的坐标括号表达式实现。例 1-6 0 对上例中的矩阵B B(2,3)%矩阵的索引ans=4947709893870346*2八(52)B(2,3)=log(7y%矩阵的修改B=2/3,sqrt(2),111/500 7/5,100/23,log(7)5 .符号矩阵的简化符号工具箱中提供了符号矩阵因式分解、展开、合并、简化及通分等符号操作函数。(1)因式分解函 数 factor格 式 f a c t o r(s)%符号表达式s 的因式分解函数说 明 S 为符

61、号矩阵或符号表达式,常用于多项式的因式分解。例 1-6 1 将 x X i 分解因式在 Ma t l a b 命令窗口键入:syms xfactor(xA9-l)则显75:ans=(x-l)*(xA2+x+1)*(X6+XA3+1)(1 X)x j 2工2+4/3=0例 1-6 2 问“入”取何值时,齐次方程组42汨+(3-入W+国=0 有非0 解?为+工2+(1 一九)工3=0解:在 Ma t l a b 编辑器中建立M 文件:syms kA=l-k-2 4;2 3-k 1;1 1 1-k;D=det(A)factor(D)其结果显示如下:D=-6*k+5*kA2-kA3ans=-k*(k-

62、2)*(-3+k)从而得到:当 k=0、k=2或 k=3时,原方程组有非0 解。(2)符号矩阵的展开函数 expand格式:expand(s)%符号表达式s 的展开函数说明:s 为符号矩阵或表达式。常用在多项式的因式分解中,也常用于三角函数,指数函数和对数函数的展开中。例 1-63 将(x+l、sin(x+y)展开在 Matlab编辑器中建立M 文件:syms x yp=expand(x+1)A3)q=expand(sin(x+y)则结果显示为P=xA3+3*xA2+3*x+lqsin(x)*cos(y)+cos(x)*sin(y)(3)函数格式同类式合并CollectCollects,v)C

63、ollect(s)%将 S 中的变量V的同事项系数合并%s 是矩阵或表达式,此命令对由命令findsym函数返回的默认变量进行同类项合并。(4)函数格式说明Pretty o格式符号简化simple 或 simplifysimple(s)R,how=simple(s)Simple(s)将表达式%寻找符号矩阵或符号表达式的最简型%S是矩阵或表达式%R为返回的最简形,how为简化过程中使用的主要方法。;的长度化到最短。若还想让表达式更加精美,可使用函数Pretty(s)%使表达式s 更加精美1111例 1-6 4 计算行列式“,A 幺 的 值。a b-c a/c4 d4在 Matlab编辑器中建立M

64、 文件:syms abedA=l 1 1 l;a b c d;aA2 bA2 cA2 dA2;aA4 bA4 cA4 dA4;d 1 =det(A)d2=simple(dl)%化简表达式 dlpretty(d2)%让表达式d 2符合人们的书写习惯则显示结果如下:(11=b*cA2*dA4-b*dA2*cA4-bA2*c*dA4+bA2*d*cA4+bA4*c*dA2-bA4*d*cA2-a*cA2*dA4+a*dA2*cA4+a*bA2*dA4-a*bA2*cA4-a*bA4*dA2+a*bA4*cA2+aA2*c*dA4-aA2*d*cA4-aA2*b*dA4+aA2*b*cA4+aA2*b

65、A4*d-aA2*bA4*c-aA4*c*dA2+aA4*d*cA2+aA4*b*dA2-aA4*b*cA2-aA4*bA2*d+aA4*bA2*cd2=(-d+c)*(b-d)*(b-c)*(-d+a)*(a-c)*(a-b)*(a+c4-d+b)(-d+c)(b-d)(b-c)(-d+a)(a-c)(a-b)(a+c+d+b)1.2.1 6矩阵元素个数的确定函数 numel格 式 n=numel(a)%计算矩阵A 中元素的个数例 1 65 A=l 2 3 4;5 6 7 8;n=numel(A)n=81.3 矩阵分解1.3.1 Cholesky 分解函 数 chol格式 R=chol(X)

66、R,p=chol(X)%如果X 为 n 阶对称正定矩阵,则存在一个实的非奇异上三角阵 R,满足R*R=X:若 X 非正定,则产生错误信息。%不产生任何错误信息,若 X 为正定阵,则 p=0,R 与上相同;若 X 非正定,则 p 为正整数,R 是有序的上三角阵。例 1-66 X=pascaK4)%产生 4 阶 pascal 矩阵X=11111234136101 4R,p=chol(X)R=10201111012300130001P=01.3.2 LU 分解矩阵的三角分解又称LU 分解,它的目的是将一个矩阵分解成一个下三角矩阵L 和一个上三角矩阵U 的乘积,即人=111。函 数 hi格 式 L,U=lu(X)%U为上三角阵,L 为下三角阵或其变换形式,满足LU=X。L,U,P=lu(X)%U为上三角阵,L 为下三角阵,P 为单位矩阵的行变换矩阵,满足LU=PX。例 1-67A=1 2 3;4 5 6;7 8 9;L,U=lu(A)L=0.14291.000000.57140.50001.00001.000000U=7.00008.00009.000000.85711.7143000.000

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