数学建模实验一 - matlab基础 联系客服

发布时间 : 星期二 文章数学建模实验一 - matlab基础更新完毕开始阅读8abb8cdb360cba1aa811dadc

第1章 矩阵及其基本运算

1.2.6 矩阵函数

命令 方阵指数 函数 expm

格式 Y = expm(A) %使用Pade近似算法计算eA,这是一个内部函数,A为方阵。 Y=expm1(A) %使用一个M文件和内部函数相同的算法计算eA Y=expm2(A) %使用泰勒级数计算eA

Y=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.0862 0 1.0000 1.2642 0 0 0.3679 >> A=logm(Y)

A =

1.0000 1.0000 0.0000 0 0 2.0000 0 0 -1.0000

命令 方阵的函数 函数 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,相当于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 矩阵转置

运算符:′

13 MATLAB6.0数学手册 运算规则:若矩阵A的元素为实数,则与线性代数中矩阵的转置相同。 若A为复数矩阵,则A转置后的元素由A对应元素的共轭复数构成。 若仅希望转置,则用如下命令:A.′。

1.2.8 方阵的行列式

函数 det

格式 d = det(X) %返回方阵X的多项式的值 例1-42

>> A=[1 2 3;4 5 6;7 8 9]

A =

1 2 3 4 5 6 7 8 9 >> D=det(A)

D = 0

1.2.9 逆与伪逆

命令 逆 函数 inv

格式 Y=inv(X) %求方阵X的逆矩阵。若X为奇异阵或近似奇异阵,将给出警告信息。

?123???例1-43 求A??221?的逆矩阵

?343???方法一

>>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.5000 1.0000 1.0000 -1.0000

?123100???方法二:由增广矩阵B??221010?进行初等行变换

?343001???>>B=[1, 2, 3, 1, 0, 0; 2, 2, 1, 0, 1, 0; 3, 4, 3, 0, 0, 1];

>>C=rref(B) %化行最简形

>>X=C(:, 4:6) %取矩阵C中的A^(-1)部分 显示结果如下: C =

1.0000 0 0 1.0000 3.0000 -2.0000 0 1.0000 0 -1.5000 -3.0000 2.5000 0 0 1.0000 1.0000 1.0000 -1.0000 X =

1.0000 3.0000 -2.0000 -1.5000 -3.0000 2.5000

14 第1章 矩阵及其基本运算

1.0000 1.0000 -1.0000

例1-44

>> A=[2 1 -1;2 1 2;1 -1 1];

>> format rat %用有理格式输出 >> D=inv(A)

D =

1/3 0 1/3 0 1/3 -2/3 -1/3 1/3 0

命令 伪逆 函数 pinv

格式 B = pinv(A) %求矩阵A的伪逆

B = pinv(A, tol) %tol为误差:max(size(A))*norm(A)*eps

说明 当矩阵为长方阵时,方程AX=I和XA=I至少有一个无解,这时A的伪逆能在某种程度上代表矩阵的逆,若A为非奇异矩阵,则pinv(A) = inv(A)。

例1-45

>> A=magic(5); %产生5阶魔方阵。

>> A=A(:,1:4) %取5阶魔方阵的前4列元素构成矩阵A。

A =

17 24 1 8 23 5 7 14 4 6 13 20 10 12 19 21 11 18 25 2 >> X=pinv(A) %计算A的伪逆

X =

-0.0041 0.0527 -0.0222 -0.0132 0.0069 0.0437 -0.0363 0.0040 0.0033 0.0038 -0.0305 0.0027 -0.0004 0.0068 0.0355 0.0060 -0.0041 0.0314 0.0211 -0.0315

1.2.10 矩阵的迹

函数 trace

格式 b=trace (A) %返回矩阵A的迹,即A的对角线元素之和。

1.2.11 矩阵和向量的范数

命令 向量的范数 函数 norm

格式 n = norm(X) %X为向量,求欧几里德范数,即||X||2?n = norm(X,inf) %求?-范数,即||X||?max(abs(X))。 n = norm(X,1) %求1-范数,即||X||1??|xk|。

k?|xk|2。

n = norm(X,-inf) %求向量X的元素的绝对值的最小值,即||X||?min(abs(X))。 n = norm(X, p) %求p-范数,即||X||p?p

?|xk|p,所以norm(X,2) = norm(X)。

k15 MATLAB6.0数学手册 1.2.13 矩阵的秩

函数 rank

格式 k = rank (A) %求矩阵A的秩 k = rank (A,tol) %tol为给定误差

1.2.14 特殊运算

1.矩阵对角线元素的抽取 函数 diag

格式 X = diag(v,k) %以向量v的元素作为矩阵X的第k条对角线元素,当k=0时,v为X的主对角线;当k>0时,v为上方第k条对角线;当k<0时,v为下方第k条对角线。

X = diag(v) %以v为主对角线元素,其余元素为0构成X。

v = diag(X,k) %抽取X的第k条对角线元素构成向量v。k=0:抽取主对角线元素;k>0:抽取上方第k条对角线元素;k<0抽取下方第k条对角线元素。

v = diag(X) %抽取主对角线元素构成向量v。 例1-46

>> v=[1 2 3]; >> x=diag(v,-1)

x =

0 0 0 0 1 0 0 0 0 2 0 0 0 0 3 0 >> A=[1 2 3;4 5 6;7 8 9]

A =

1 2 3 4 5 6 7 8 9 >> v=diag(A,1)

v = 2 6

2.上三角阵和下三角阵的抽取 函数 tril %取下三角部分

格式 L = tril(X) %抽取X的主对角线的下三角部分构成矩阵L

L = tril(X,k) %抽取X的第k条对角线的下三角部分;k=0为主对角线;k>0为主对角线以上;k<0为主对角线以下。

函数 triu %取上三角部分

格式 U = triu(X) %抽取X的主对角线的上三角部分构成矩阵U

U = triu(X,k) %抽取X的第k条对角线的上三角部分;k=0为主对角线;k>0为主对角线以上;k<0为主对角线以下。

例1-47

>> A=ones(4) %产生4阶全1阵

A =

1 1 1 1

16