收藏 分享(赏)

第1章 ,matlab矩阵及其基本运算.doc

上传人:hskm5268 文档编号:6794892 上传时间:2019-04-22 格式:DOC 页数:65 大小:3.06MB
下载 相关 举报
第1章  ,matlab矩阵及其基本运算.doc_第1页
第1页 / 共65页
第1章  ,matlab矩阵及其基本运算.doc_第2页
第2页 / 共65页
第1章  ,matlab矩阵及其基本运算.doc_第3页
第3页 / 共65页
第1章  ,matlab矩阵及其基本运算.doc_第4页
第4页 / 共65页
第1章  ,matlab矩阵及其基本运算.doc_第5页
第5页 / 共65页
点击查看更多>>
资源描述

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

2、号。如: Time = 11 12 1 2 3 4 5 6 7 8 9 10Time =11 12 1 2 3 4 5 6 7 8 9 10 X_Data = 2.32 3.43;4.37 5.98X_Data =2.43 3.434.37 5.98 vect_a = 1 2 3 4 5vect_a =1 2 3 4 5 Matrix_B = 1 2 3; 2 3 4;3 4 5Matrix_B = 1 2 32 3 43 4 5 Null_M = %生成一个空矩阵2复数矩阵输入复数矩阵有两种生成方式:第一种方式例 1-1 a=2.7;b=13/25; C=1,2*a+i*b,b*sqrt(a

3、); sin(pi/4),a+5*b,3.5+1C=1.0000 5.4000 + 0.5200i 0.8544 0.7071 5.3000 4.5000 MATLAB6.0 数学手册2第 2 种方式例 1-2 R=1 2 3;4 5 6, M=11 12 13;14 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 符号矩阵的生成在

4、MATLAB 中输入符号向量或者矩阵的方法和输入数值类型的向量或者矩阵在形式上很相像,只不过要用到符号矩阵定义函数 sym,或者是用到符号定义函数 syms,先定义一些必要的符号变量,再像定义普通矩阵一样输入符号矩阵。1用命令 sym 定义矩阵:这时的函数 sym 实际是在定义一个符号表达式,这时的符号矩阵中的元素可以是任何的符号或者是表达式,而且长度没有限制,只是将方括号置于用于创建符号表达式的单引号中。如下例:例 1-3 sym_matrix = sym(a b c;Jack,Help Me!,NO WAY!,)sym_matrix =a b cJack Help Me! NO WAY!

5、sym_digits = sym(1 2 3;a b c;sin(x)cos(y)tan (z)sym_digits =1 2 3a b csin(x)cos(y)tan (z)2用命令 syms 定义矩阵先定义矩阵中的每一个元素为一个符号变量,而后像普通矩阵一样输入符号矩阵。例 1-4 syms a b c ; M1 = sym(Classical) ; M2 = sym( Jazz) ; M3 = sym(Blues) syms_matrix = a b c; M1, M2, M3;int2str(2 3 5)syms_matrix = a b cClassical Jazz Blues

6、2 3 5把数值矩阵转化成相应的符号矩阵。数值型和符号型在 MATLAB 中是不相同的,它们之间不能直接进行转化。MATLAB提供了一个将数值型转化成符号型的命令,即 sym。第 1 章 矩阵及其基本运算3例 1-5 Digit_Matrix = 1/3 sqrt(2) 3.4234;exp (0.23) log(29) 23(-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/500

7、05668230535726899*2(-52) ,7582476122586655*2(-51) ,5174709270083729*2(-103)注意:矩阵是用分数形式还是浮点形式表示的,将矩阵转化成符号矩阵后,都将以最接近原值的有理数形式表示或者是函数形式表示。1.1.3 大矩阵的生成对于大型矩阵,一般创建 M 文件,以便于修改:例 1-6 用 M 文件创建大矩阵,文件名为 example.mexm= 456 468 873 2 579 5521 687 54 488 8 1365 4567 88 98 21 5456 68 4589 654 5 987 5488 10 9 6 33 7

8、7在 MATLAB 窗口输入:example;size(exm) %显示 exm 的大小ans=5 6 %表示 exm 有 5 行 6 列。1.1.4 多维数组的创建函数 cat格式 A=cat(n,A1,A2,Am)说明 n=1 和 n=2 时分别构造A1;A2 和A1,A2,都是二维数组,而 n=3 时可以构造出三维数组。例 1-7 A1=1,2,3;4,5,6;7,8,9;A2=A1;A3=A1-A2; A4=cat(3,A1,A2,A3)A4(:,:,1) =1 2 34 5 67 8 9A4(:,:,2) =1 4 72 5 83 6 9A4(:,:,3) =MATLAB6.0 数学

9、手册40 -2 -42 0 -24 2 0或用另一种原始方式可以定义:例 1-8 A1=1,2,3;4,5,6;7,8,9;A2=A1;A3=A1-A2; A5(:,:,1)=A1, A5(:,:,2)=A2, A5(:,:,3)=A3A5(:,:,1) =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 特殊矩阵的生成命令 全零阵函数 zeros格式 B = zeros(n) %生成 nn 全零阵B = zeros(m,n) %生成 mn 全零阵B = zeros(m n) %生成 mn 全

10、零阵B = zeros(d1,d2,d3) %生成 d1d2d3全零阵或数组B = zeros(d1 d2 d3) %生成 d1d2d3全零阵或数组B = zeros(size(A) %生成与矩阵 A 相同大小的全零阵命令 单位阵函数 eye格式 Y = eye(n) %生成 nn 单位阵Y = eye(m,n) %生成 mn 单位阵Y = eye(size(A) %生成与矩阵 A 相同大小的单位阵命令 全 1 阵函数 ones格式 Y = ones(n) %生成 nn 全 1 阵Y = ones(m,n) %生成 mn 全 1 阵Y = ones(m n) %生成 mn 全 1 阵Y = o

11、nes(d1,d2,d3) %生成 d1d2d3全 1 阵或数组Y = ones(d1 d2 d3) %生成 d1d2d3全 1 阵或数组Y = ones(size(A) %生成与矩阵 A 相同大小的全 1 阵命令 均匀分布随机矩阵函数 rand 第 1 章 矩阵及其基本运算5格式 Y = rand(n) %生成 nn 随机矩阵,其元素在(0,1)内Y = rand(m,n) %生成 mn 随机矩阵Y = rand(m n) %生成 mn 随机矩阵Y = rand(m,n,p,) %生成 mnp随机矩阵或数组Y = rand(m n p) %生成 mnp随机矩阵或数组Y = rand(size

12、(A) %生成与矩阵 A 相同大小的随机矩阵rand %无变量输入时只产生一个随机数s = rand(state) %产生包括均匀发生器当前状态的 35 个元素的向量rand(state, s) %使状态重置为 srand(state, 0) %重置发生器到初始状态rand(state, j) %对整数 j 重置发生器到第 j 个状态rand(state, sum (100*clock) %每次重置到不同状态例 1-9 产生一个 34 随机矩阵 R=rand(3,4)R =0.9501 0.4860 0.4565 0.44470.2311 0.8913 0.0185 0.61540.6068

13、0.7621 0.8214 0.7919例 1-10 产生一个在区间10, 20内均匀分布的 4 阶随机矩阵 a=10;b=20; x=a+(b-a)*rand(4)x =19.2181 19.3547 10.5789 11.388917.3821 19.1690 13.5287 12.027711.7627 14.1027 18.1317 11.987214.0571 18.9365 10.0986 16.0379命令 正态分布随机矩阵函数 randn格式 Y = randn(n) %生成 nn 正态分布随机矩阵Y = randn(m,n) %生成 mn 正态分布随机矩阵Y = randn(

14、m n) %生成 mn 正态分布随机矩阵Y = randn(m,n,p,) %生成 mnp正态分布随机矩阵或数组Y = randn(m n p) %生成 mnp正态分布随机矩阵或数组Y = randn(size(A) %生成与矩阵 A 相同大小的正态分布随机矩阵randn %无变量输入时只产生一个正态分布随机数s = randn(state) %产生包括正态发生器当前状态的 2 个元素的向量MATLAB6.0 数学手册6s = randn(state, s) %重置状态为 ss = randn(state, 0) %重置发生器为初始状态s = randn(state, j) %对于整数 j 重

15、置状态到第 j 状态s = randn(state, sum(100*clock) %每次重置到不同状态例 1-11 产生均值为 0.6,方差为 0.1 的 4 阶矩阵 mu=0.6; sigma=0.1; x=mu+sqrt(sigma)*randn(4)x =0.8311 0.7799 0.1335 1.05650.7827 0.5192 0.5260 0.48900.6127 0.4806 0.6375 0.79710.8141 0.5064 0.6996 0.8527命令 产生随机排列函数 randperm格式 p = randperm(n) %产生 1n 之间整数的随机排列例 1-1

16、2 randperm(6)ans =3 2 1 5 4 6命令 产生线性等分向量函数 linspace格式 y = linspace(a,b) %在(a, b) 上产生 100 个线性等分点y = linspace(a,b,n) %在(a, b) 上产生 n 个线性等分点命令 产生对数等分向量函数 logspace格式 y = logspace(a,b) %在( )之间产生 50 个对数等分向量y = logspace(a,b,n)y = logspace(a,pi)命令 计算矩阵中元素个数n = numel(a) %返回矩阵 A 的元素的个数命令 产生以输入元素为对角线元素的矩阵函数 blk

17、diag格式 out = blkdiag(a,b,c,d,) %产生以 a,b,c,d,为对角线元素的矩阵例 1-13 out = blkdiag(1,2,3,4)out =1 0 0 00 2 0 00 0 3 00 0 0 4命令 友矩阵函数 compan格式 A = compan(u) %u 为多项式系统向量,A 为友矩阵,A 的第 1 行元素为 ba10,67)3(2)1( xxx第 1 章 矩阵及其基本运算7-u (2:n)/u(1),其中 u (2:n)为 u 的第 2 到第 n 个元素,A 为特征值就是多项式的特征根。例 1-14 求多项式 的友矩阵和根 u=1 0 -7 6;

18、A=compan(u) %求多项式的友矩阵A =0 7 -61 0 00 1 0 eig(A) %A 的特征值就是多项式的根ans =-3.00002.00001.0000命令 hadamard 矩阵函数 hadamard 格式 H = hadamard(n) %返回 n 阶 hadamard 矩阵例 1-15 h=hadamard(4)h =1 1 1 11 -1 1 -11 1 -1 -11 -1 -1 1命令 Hankel 方阵函数 hankel格式 H = hankel(c) %第 1 列元素为 c,反三角以下元素为 0。H = hankel(c,r) %第 1 列元素为 c,最后一行

19、元素为 r,如果 c 的最后一个元素与 r 的第一个元素不同,交叉位置元素取为 c 的最后一个元素。例 1-16 c=1:3,r=7:10c =1 2 3r =7 8 9 10 h=hankel(c,r)h =1 2 3 82 3 8 93 8 9 10命令 Hilbert 矩阵函数 hilb格式 H = hilb(n) %返回 n 阶 Hilbert 矩阵,其元素为 H(i,j)=1/(i+j-1)。例 1-17 产生一个 3 阶 Hilbert 矩阵 format rat %以有理形式输出 H=hilb(3)MATLAB6.0 数学手册8H =1 1/2 1/3 1/2 1/3 1/4 1

20、/3 1/4 1/5 命令 逆 Hilbert 矩阵函数 invhilb格式 H = invhilb(n) %产生 n 阶逆 Hilbert 矩阵命令 Magic(魔方)矩阵函数 magic格式 M = magic(n) %产生 n 阶魔方矩阵例 1-18 M=magic(3)M =8 1 6 3 5 7 4 9 2 命令 Pascal 矩阵函数 pascal格式 A = pascal(n) %产生 n 阶 Pascal 矩阵,它是对称、正定矩阵,它的元素由Pascal 三角组成,它的逆矩阵的所有元素都是整数。A = pascal(n,1) %返回由下三角的 Cholesky 系数组成的 Pa

21、scal矩阵A = pascal(n,2) %返回 Pascal(n,1)的转置和交换的形式例 1-19 A=pascal(4)A =1 1 1 1 1 2 3 4 1 3 6 10 1 4 10 20 A=pascal(3,1)A =1 0 0 1 -1 0 1 -2 1 A=pascal(3,2)A =1 1 1 -2 -1 0 1 0 0 命令 托普利兹矩阵函数 toeplitz格式 T = toeplitz(c,r) %生成一个非对称的托普利兹矩阵,将 c 作为第 1 列,将 r作为第 1 行,其余元素与左上角相邻元素相等。T = toeplitz(r) %用向量 r 生成一个对称的托

22、普利兹矩阵例 1-20第 1 章 矩阵及其基本运算9 c=1 2 3 4 5; r=1.5 2.5 3.5 4.5 5.5; T=toeplitz(c,r)T =1 5/2 7/2 9/2 11/2 2 1 5/2 7/2 9/2 3 2 1 5/2 7/2 4 3 2 1 5/2 5 4 3 2 1 命令 Wilkinson 特征值测试阵函数 wilkinson格式 W = wilkinson(n) %返回 n 阶 Wilkinson 特征值测试阵例 1-21 W=wilkinson(4)W =3/2 1 0 0 1 1/2 1 0 0 1 1/2 1 0 0 1 3/2 W=wilkins

23、on(7)W =3 1 0 0 0 0 0 1 2 1 0 0 0 0 0 1 1 1 0 0 0 0 0 1 0 1 0 0 0 0 0 1 1 1 0 0 0 0 0 1 2 1 0 0 0 0 0 1 3 1.2 矩阵运算1.2.1 加、减运算运算符:“”和“”分别为加、减运算符。运算规则:对应元素相加、减,即按线性代数中矩阵的“十” , “一”运算进行。例 1-22 A=1, 1, 1; 1, 2, 3; 1, 3, 6B=8, 1, 6; 3, 5, 7; 4, 9, 2AB=A+BA-=A-B结果显示:A+B=9 2 74 7 105 12 8AB=-7 0 -5-2 -3 -4-

24、3 -6 4MATLAB6.0 数学手册101.2.2 乘法运算符:*运算规则:按线性代数中矩阵乘法运算进行,即放在前面的矩阵的各行元素,分别与放在后面的矩阵的各列元素对应相乘并相加。1两个矩阵相乘例 1-23X= 2 3 4 5;1 2 2 1;Y=0 1 1;1 1 0;0 0 1;1 0 0;Z=X*Y结果显示为:Z=8 5 63 3 3 2矩阵的数乘:数乘矩阵上例中:a=2*X则显示:a =4 6 8 102 4 4 2向量的点乘(内积):维数相同的两个向量的点乘。数组乘法:A.*B 表示 A 与 B 对应元素相乘。3向量点积 z=x1*y1+x2*y2函数 dot格式 C = dot

25、(A,B) %若 A、B 为向量,则返回向量 A 与 B 的点积,A 与 B 长度相同;若为矩阵,则 A 与 B 有相同的维数。C = dot(A,B,dim) %在 dim 维数中给出 A 与 B 的点积例 X=-1 0 2;Y=-2 -1 1;Z=dot(X, Y)则显示:Z =4还可用另一种算法:sum(X.*Y)ans=44向量叉乘 z=x1*y2+x2*y1在数学上,两向量的叉乘是一个过两相交向量的交点且垂直于两向量所在平面的向量。在 Matlab 中,用函数 cross 实现。函数 cross格式 C = cross(A,B) %若 A、B 为向量,则返回 A 与 B 的叉乘,即第

26、 1 章 矩阵及其基本运算11C=AB,A、B 必须是 3 个元素的向量;若 A、B 为矩阵,则返回一个 3n 矩阵,其中的列是 A 与 B 对应列的叉积,A、B 都是 3n 矩阵。C = cross(A,B,dim) %在 dim 维数中给出向量 A 与 B 的叉积。A 和 B 必须具有相同的维数,size(A,dim)和 size(B,dim)必须是 3。例 1-24 计算垂直于向量(1, 2, 3)和(4, 5, 6)的向量。a=1 2 3;b=4 5 6;c=cross(a,b)结果显示:c=-3 6 -3可得垂直于向量(1, 2, 3)和(4, 5, 6) 的向量为(-3, 6, -

27、3)5混合积混合积由以上两函数实现:例 1-25 计算向量 a=(1, 2, 3)、b=(4, 5, 6) 和 c=(-3, 6, -3) 的混合积 )cb(a解:a=1 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 为向量,其长度可不相同。说明 长度为 m 的向量序列 u 和长度为 n 的向量序列 v 的卷积(Convolution) 定义为:式中:w 向量序列的长度为(m+n-1),当 m=n 时,k1j )j(v

28、)u)(w(1) = u(1)*v(1)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(1)w(2*n-1) = u(n)*v(n)例 1-26 展开多项式 )1(4)2(ss解: w=conv(1,2,2,conv(1,4,1,1)w =1 7 16 18 8 P=poly2str(w,s) %将 w 表示成多项式P =MATLAB6.0 数学手册12s4 + 7 s3 + 16 s2 + 18 s + 87反褶积(解卷)和多项式除法运算函数

29、 deconv格式 q,r = deconv(v,u) %多项式 v 除以多项式 u,返回商多项式 q 和余多项式 r。注意:v、u、q、r 都是按降幂排列的多项式系数向量。例 1-27 ,则其卷积为u = 1 2 3 4v = 10 20 30c = conv(u,v)c =10 40 100 160 170 120则反褶积为q,r = deconv(c,u)q =10 20 30r =0 0 0 0 0 08张量积函数 kron格式 C=kron (A,B) %A 为 mn 矩阵,B 为 pq 矩阵,则 C 为 mpnq 矩阵。说明 A 与 B 的张量积定义为: A B 与 B AaBaA

30、Cmn21m2n112 均为 mpnq 矩阵,但一般地 A B B A。例 1-28 求 A B。432198765321 A=1 2;3 4;B=1 2 3;4 5 6;7 8 9; C=kron(A,B)C =1 2 3 2 4 64 5 6 8 10 127 8 9 14 16 183 6 9 4 8 1212 15 18 16 20 2421 24 27 28 32 361.2.3 集合运算1两个集合的交集函数 intersect格式 c = intersect(a,b) %返回向量 a、b 的公共部分,即 c= ab。)3021)(4( xx第 1 章 矩阵及其基本运算13c = i

31、ntersect(A,B,rows) %A、B 为相同列数的矩阵,返回元素相同的行。c,ia,ib = intersect(a,b) %c 为 a、b 的公共元素,ia 表示公共元素在 a 中的位置,ib 表示公共元素在 b 中位置。例 1-29 A=1 2 3 4;1 2 4 6;6 7 1 4A =1 2 3 41 2 4 66 7 1 4 B=1 2 3 8;1 1 4 6;6 7 1 4B =1 2 3 81 1 4 66 7 1 4 C=intersect(A,B,rows)C =6 7 1 4例 1-30 A = 1 9 6 20; B = 1 2 3 4 6 10 20; c,i

32、a,ib = intersect(A,B)c =1 6 20ia =1 3 4ib =1 5 72检测集合中的元素函数 ismember格式 k = ismember(a,S) %当 a 中元素属于 S 时, k 取 1,否则,k 取 0。k = ismember(A,S,rows) %A、S 有相同的列,返回行相同 k 取 1,不相同取0 的列向量。例 1-31 S=0 2 4 6 8 10 12 14 16 18 20; a=1 2 3 4 5 6; k=ismember(a,S)k =0 1 0 1 0 1 %1 表示相同元素的位置例 1-32 A=1 2 3 4;1 2 4 6;6 7

33、 1 4 B=1 2 3 8;1 1 4 6;6 7 1 4 k=ismember(A,B,rows)k =001 %1 表示元素相同的行3两集合的差函数 setdiffMATLAB6.0 数学手册14格式 c = setdiff(a,b) %返回属于 a 但不属于 b 的不同元素的集合, C = a-b。c = setdiff(A,B,rows) %返回属于 A 但不属于 B 的不同行c,i = setdiff() %c 与前面一致,i 表示 c 中元素在 A 中的位置。例 1-33 A = 1 7 9 6 20; B = 1 2 3 4 6 10 20; c=setdiff(A,B)c =

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

35、1 3 5 8例 1-36 A=1 2 3 4;1 2 4 6;6 7 1 4A =1 2 3 41 2 4 66 7 1 4 B=1 2 3 8;1 1 4 6;6 7 1 4B =1 2 3 81 1 4 66 7 1 4 C,ia,ib=setxor(A,B,rows)C =1 1 4 61 2 3 41 2 3 81 2 4 6ia =12第 1 章 矩阵及其基本运算15ib =215两集合的并集函数 union格式 c = union(a,b) %返回 a、b 的并集,即 c = ab。c = union(A,B,rows) %返回矩阵 A、B 不同行向量构成的大矩阵,其中相同行向量

36、只取其一。c,ia,ib = union() %ia、ib 分别表示 c 中行向量在原矩阵 (向量)中的位置例 1-37 A=1 2 3 4; B=2 4 5 8; c=union(A,B)则结果为c =1 2 3 4 5 8例 1-38 A=1 2 3 4;1 2 4 6A =1 2 3 41 2 4 6 B=1 2 3 8;1 1 4 6B =1 2 3 81 1 4 6 c,ia,ib=union(A,B,rows)c =1 1 4 61 2 3 41 2 3 81 2 4 6ia =12ib =216取集合的单值元素函数格式 b = unique (a) %取集合 a 的不重复元素构成

37、的向量b = unique (A,rows) %返回 A、B 不同行元素组成的矩阵b,i,j = unique () %i、j 体现 b 中元素在原向量(矩阵)中的位置例 1-39 A=1 1 2 2 4 4 6 4 6A =1 1 2 2 4 4 6 4 6MATLAB6.0 数学手册16 c,i,j=unique(A)c =1 2 4 6i =2 4 8 9j =1 1 2 2 3 3 4 3 4例 1-40 A=1 2 2 4;1 1 4 6;1 1 4 6A =1 2 2 41 1 4 61 1 4 6 c,i,j=unique(A,rows)c =1 1 4 61 2 2 4i =3

38、1j =2111.2.4 除法运算Matlab 提供了两种除法运算:左除()和右除(/ ) 。一般情况下,x=ab 是方程 a*x =b的解,而 x=b/a 是方程 x*a=b 的解。例:a=1 2 3; 4 2 6; 7 4 9b=4; 1; 2;x=ab则显示:x=-1.50002.00000.5000如果 a 为非奇异矩阵,则 ab 和 b/a 可通过 a 的逆矩阵与 b 阵得到:ab = inv(a)*bb/a = b*inv(a)数组除法:A./B 表示 A 中元素与 B 中元素对应相除。1.2.5 矩阵乘方运算符:运算规则:(1)当 A 为方阵,P 为大于 0 的整数时,AP 表示

39、 A 的 P 次方,即 A 自乘 P 次;P为小于 0 的整数时,AP 表示 A-1 的 P 次方。第 1 章 矩阵及其基本运算17(2)当 A 为方阵,p 为非整数时,则 其中 V 为 A 的特征向1pnp1dVPA量, 为特征值对角矩阵。如果有重根,以上指令不成立。n1d(3)标量的矩阵乘方 PA,标量的矩阵乘方定义为 式中 V,D1ddApVPn1取自特征值分解 AV=AD。(4)标量的数组乘方 P.A,标量的数组乘方定义为 数组乘方:nm1n1aapA.P A.P:表示 A 的每个元素的 P 次乘方。1.2.6 矩阵函数命令 方阵指数函数 expm格式 Y = expm(A) %使用

40、Pade 近似算法计算 eA,这是一个内部函数,A 为方阵。Y=expm1(A) %使用一个 M 文件和内部函数相同的算法计算 eAY=expm2(A) %使用泰勒级数计算 eAY=expm3(A) %使用特征值和特征向量计算 eA命令 矩阵的对数函数 logm格式 Y = logm(X) %计算矩阵 X 的对数,它是 expm(X)的反函数。Y,esterr = logm(X) %esterr 为相对残差的估计值:norm(expm(Y)-X)/norm(X)例 1-41 A=1 1 0;0 0 2;0 0 -1; Y=expm(A)Y =2.7183 1.7183 1.08620 1.00

41、00 1.26420 0 0.3679 A=logm(Y)A =1.0000 1.0000 0.00000 0 2.00000 0 -1.0000MATLAB6.0 数学手册18命令 方阵的函数函数 funm格式 F = funm(A,fun) %A 为方阵,计算由 fun 指定的 A 的矩阵函数,fun 可以是任意基本函数,如 sin、cos 等等,例如:funm(A, exp)=expm(A)。F,esterr = funm(A,fun) %esterr 为结果所产生的相对误差的估计值。命令 矩阵的方根函数 sqrtm格式 X = sqrtm(A) %矩阵 A 的平方根 A1/2,相当于

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

43、数矩阵,则 A 转置后的元素由 A 对应元素的共轭复数构成。若仅希望转置,则用如下命令:A. 。1.2.8 方阵的行列式函数 det格式 d = det(X) %返回方阵 X 的多项式的值例 1-42 A=1 2 3;4 5 6;7 8 9A =1 2 34 5 67 8 9 D=det(A)D =0第 1 章 矩阵及其基本运算191.2.9 逆与伪逆命令 逆函数 inv格式 Y=inv(X) %求方阵X的逆矩阵。若X为奇异阵或近似奇异阵,将给出警告信息。例 1-43 求 的逆矩阵3412A方法一A=1 2 3; 2 2 1; 3 4 3;Y=inv(A)或 Y=A(-1)则结果显示为Y =1.0000 3.0000 -2.0000-1.5000 -3.0000 2.50001.0000 1.0000 -1.0000方法二:由增广矩阵 进行初等行变换103421BB=1,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报