实验02讲评、参考答案_MATLAB矩阵分析与处理(第3章).
MATLAB程序实验参考答案

MATLAB程序设计与应用(第二版)实验参考答案%实验一MATLAB运算基础%第一题%(1)z1=2*sin(85*pi/180)/(1+exp(2))%(2)x=[2,1+2i;-0.45,5];z2=0.5*log(x+sqrt(1+x.^2))%(3)a=-3.0:0.1:3.0;z3=(exp(0.3*a)-exp(-0.3*a))/2.*sin(a+0.3)+log((0.3+a)/2)%(4)t=0:0.5:2.5;z4=t.^2.*(t>=0&t<1)+(t.^2-1).*(t>=1&t<2)+(t.^2-2*t+1).*(t>=2&t<3)%第二题A=[12 34 -4;34 7 87;3 65 7];B=[1 3 -1;2 0 3;3 -2 7];A+6*BA-B+eye(size(A))A*BA.*BA^3A.^3A/BB\A[A,B][A([1,3],:);B^2]%第三题A=[1 2 3 4 5;6 7 8 9 10;11 12 13 14 15;16 17 18 19 20;21 22 23 24 25] B=[3 0 16;17 -6 9;0 23 -4;9 7 0;4 13 11]C=A*BF=size(C)D=C(F(1)-2:F(1),F(2)-1:F(2))whos%第四题%(1):A=100:999;B=rem(A,21);C=length(find(B==0))%(2):A='lsdhKSDLKklsdkl';k=find(A>='A'&A<='Z');A(k)=[]%实验二MATLAB矩阵分析与处理%第一题E=eye(3);R=rand(3,2);O=zeros(2,3);S=diag([2,3]);A=[E,R;O,S];A^2B=[E,(R+R*S);O,S^2]%第二题H=hilb(5)P=pascal(5)Hh=det(H)Hp=det(P)Th=cond(H)Tp=cond(P)%第三题:A=fix(10*rand(5))H=det(A)Trace=trace(A)Rank=rank(A)Norm=norm(A)%第四题:A=[-29,6,18;20,5,12;-8,8,5][V,D]=eig(A)%数学意义略%第五题方法一:%(1):A=[1/2,1/3,1/4;1/3,1/4,1/5;1/4,1/5,1/6];b=[0.95,0.67,0.52]';x=inv(A)*b%(2):B=[0.95,0.67,0.53]';x=inv(A)*B%(3):cond(A)%第五题方法二:A=hilb(4)A(:,1)=[]A(4,:)=[]B=[0.95,0.67,0.52]';X=inv(A)*BB1=[0.95,0.67,0.53]';X1=inv(A)*B1N=cond(B)N1=cond(B1)Na=cond(A) %矩阵A为病态矩阵%第六题A=[1,4,9;16,25,36;49,64,81]B=sqrtm(A)C=sqrt(A) %sqrtm函数是以矩阵为单位进行计算,sqrt函数是以矩阵中的元素进行计算%实验三选择程序结构设计%第一题程序一x=[-5.0,-3.0,1.0,2.0,2.5,3.0,5.0];y=[]; %建立存放所有y值的矩阵for x0=xif x0<0&x0~=-3y=[y,x0*x0+x0-6];elseif x0>=0&x0<5&x0~=2&x0~=3y=[y,x0*x0-5*x0+6];elsey=[y,x0*x0-x0-1];endendx %输出所有xy %输出所有y%第一题程序二x=[-5,-3,1,2,2.5,3,5];y=[];for a=1:7if x(a)<0&x(a)~=-3y=[y,(x(a))^2+x(a)-6];elseif x(a)>=0&x(a)<5&x(a)~=2&x(a)~=3y=[y,(x(a))^2-5*x(a)+6];elsey=[y,x(a)*x(a)-x(a)-1];endend%第二题程序一:x=input('请输入一个百分制成绩:');if x>100|x<0disp('您输入的成绩不是百分制成绩,请重新输入。
实验二MATLAB矩阵分析和处理

实验二 MATLAB 矩阵分析和处理一、实验目的1.掌握生成特殊矩阵的方法。
2.掌握矩阵分析的方法。
4.用矩阵求逆法解线性方程组。
二、实验内容1.设有分块矩阵⎥⎦⎤⎢⎣⎡=⨯⨯⨯⨯22322333S O R E A ,其中E,R,O,S 分别为单位矩阵、随机矩阵、零矩阵和对角矩阵,试通过数值计算验证⎥⎦⎤⎢⎣⎡+=22S ORS R E A 。
解: >> E=eye(3);>> R=rand(3,2);>> O=zeros(2,3);>> S=diag(1:2);>> A=[E R;O S];A =1.0000 0 0 0.9501 0.48600 1.0000 0 0.2311 0.89130 0 1.0000 0.6068 0.76210 0 0 1.0000 00 0 0 0 2.0000>> A^2ans =1.0000 0 0 1.9003 1.45790 1.0000 0 0.4623 2.67390 0 1.0000 1.2137 2.28630 0 0 1.0000 00 0 0 0 4.0000>> [E R+R*S;O S^2] ans =1.0000 0 0 1.9003 1.45790 1.0000 0 0.4623 2.67390 0 1.0000 1.2137 2.28630 0 0 1.0000 00 0 0 0 4.0000所以⎥⎦⎤⎢⎣⎡+=22S O RS R E A .2.产生5阶希尔伯特矩阵H 和5阶帕斯卡矩阵P ,求其行列式的值Hh 和Hp 以及他们的条件数Th 和Tp ,判断哪个矩阵性能更好,为什么?解:H=hilb(5)H =1.0000 0.5000 0.3333 0.2500 0.20000.5000 0.3333 0.2500 0.2000 0.16670.3333 0.2500 0.2000 0.1667 0.14290.2500 0.2000 0.1667 0.1429 0.12500.2000 0.1667 0.1429 0.1250 0.1111>> P=pascal(5)P =1 2 3 4 51 3 6 10 151 4 10 20 351 5 15 35 70>> Hh=det(H)Hh =3.7493e-012>> Hp=det(P)Hp =1>> Th=cond(H)Th =4.7661e+005>> Tp=cond(P)Tp =8.5175e+003由上式看出:帕斯卡矩阵性能更好,因为行列式为1,而希尔伯特矩阵条件数很差,使用一般方法求逆矩阵会因原始数据的微小变动产生不可靠的结果3.建立一个5x5矩阵,求它的行列式的值、迹、秩和范数解:a=magic(5)a =17 24 1 8 154 6 13 20 2210 12 19 21 311 18 25 2 9>> b=det(a)b =5070000>> c=trace(a)c =65>> d=rank(a)d =5>> e=norm(a)e =65.0000>>4.已知⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡--=5881252018629A ,求特征值和特征向量,并分析其数学意义 解:A=[-29 6 18;20 5 12;-8 8 5]A =-29 6 1820 5 12-8 8 5>> b=eig(A)b =-25.3169-10.518216.8351>> [v,b]=eig(A)v =0.7130 0.2803 0.2733-0.6084 -0.7867 0.87250.3487 0.5501 0.4050b =-25.3169 0 00 -10.5182 00 0 16.83515.下面是一个线性方程组⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡52.067.095.06/15/14/15/14/13/14/13/12/1321x x x (1) 求方程的解(2) 将方程右边向量第三个元素0.52改为0.53,并比较解的变化(3) 计算系数矩阵A 的条件数并分析结论解: (1) A=[1/2 1/3 1/4;1/3 1/4 1/5;1/4 1/5 1/6]A =0.5000 0.3333 0.25000.3333 0.2500 0.20000.2500 0.2000 0.1667>> C=[0.95;0.67;0.52]C =0.95000.67000.5200>> B=A\CB =1.20000.60000.6000>>(2)A=[1/2 1/3 1/4;1/3 1/4 1/5;1/4 1/5 1/6]A =0.5000 0.3333 0.25000.3333 0.2500 0.20000.2500 0.2000 0.1667>> C=[0.95;0.67;0.53]C =0.95000.67000.5300>> B=A\CB =3.0000-6.60006.6000(3)cond(A)ans =1.3533e+0036.建立A 矩阵,试比较sqrtm(A )和sqrt(A ),并分析他们的区别解:A=magic(3)A =8 1 63 5 74 9 2>> sqrtm(A)ans =2.7065 + 0.0601i 0.0185 + 0.5347i 1.1480 - 0.5948i0.4703 + 0.0829i 2.0288 + 0.7378i 1.3739 - 0.8207i0.6962 - 0.1430i 1.8257 - 1.2725i 1.3511 + 1.4155i>> sqrt(A)ans =2.8284 1.0000 2.44951.73212.2361 2.64582.00003.0000 1.4142区别:sqrt是求矩阵里每个元素的平方根,并组成一个新的矩阵。
MATLAB矩阵处理

第2讲 MATLAB运算符和矩阵处理(第3章 MATLAB矩阵处理)目的:一、掌握matlab的关系运算与逻辑运算二、掌握矩阵元素的访问三、掌握生成特殊矩阵的方法四、掌握矩阵的相关计算——转置、行列式、秩、逆矩阵、特征值特征向量等------------------------------------------------------------------------------一、掌握matlab的关系运算与逻辑运算1、关系运算:a关系运算符b,运算结果是逻辑值0或1。
(1)= =(双等号,判断是否相等)例1 >>a=5;b=3;>>c=(a==b) %逻辑运算优先级高于赋值运算,所以也可以写成c=a==bc =logical0 %逻辑结果为0表示假,1表示真。
例2 >>a=[1,2,3];b=[3,2,1];>>c=a==b %比较两矩阵c =1×3 logical 数组0 1 0 %将a与b对应位置元素作比较,结果为同型逻辑矩阵例3 >>a=[1,2,3];>>c=a==3 %将矩阵与标量做比较,等同于将矩阵中的每个元素都和标量做比较。
c =1×3 logical 数组0 0 1(2)>(大于号)类似于相等判断。
(3)<(小于号)类似于相等判断。
(4)>=(大于等于)类似于相等判断。
(5)<=(小于等于)类似于相等判断。
例4:将矩阵a=[-1 -3 3 4 -2 4 1]中小于等于2的数字置为0.>>c=a>2 则 c=[0 0 1 1 0 1 0]>>d=a.*c 则 d=[0 0 3 4 0 4 0]2、逻辑运算(1)“&”表示and运算例1 >>x=4;y=1;>> x>1&y<1ans =logical(2)“|” 表示或运算例2 >>x>1|y<1ans =logical1(3)“~” 表示非运算例3 >>~xans =logical3、逻辑运算函数(1)any(A): A中任何一个存在非0则返回1,否则返回0;例1>>a=[1,2,0,1];>>any(a)ans =logical1例2 >>b=[0,0,0,0];>>any(b)ans =logical(2)all(A):A中所有存在都非0则返回1,否则返回0;例3 >> all(a)ans =logical例4 >> c=[1,1,2,3];>> all(c)ans =logical1(3)xor(A,B):如果 A 或者 B(但不是两者同时)在相同的数组位置包含非零元素,则输出数组中的对应元素设置为逻辑值1(true)。
实验二MATLAB的矩阵操作_参考答案

1
5
>> A(k)
ans =
23
10
(2)取出A前3行构成矩阵B,前两列构成矩阵C,右下角 子矩阵构成矩阵D,B与C的乘积构成矩阵E.
>> B=A([1,2,3],:)
B =
23.0000 10.0000 -0.7780 0
41.0000 -45.0000 65.0000 5.0000
32.0000 5.0000 0 32.0000
y =
-128.4271
2.已知 ,
求下列表达式的值:
(1) , (其中I为单位矩阵)
A=[-1,5,-4;0,7,8;3,61,7]
B=[8,3,-1;2,5,3;-3,2,0]
>> A+6*B
ans =
47 23 -10
12 37 26
-15 73 7
&
ans =
-1.2768 -0.4743 0.2411
2.1229 1.3173 -0.2924
3.已知
完成下列操作
(1)输出A在[10,25]范围内的全部元素
A=[23,10,-0.778,0;41,-45,65,5;32,5,0,32;6,-9.54,54,3.14]
>> k=find(A>=10&A<=25)
(2)
(3)
2.已知 ,
求下列表达式的值:
(1) , (其中I为单位矩阵)
(2)A*B、A.*B和B*A
(3)A/B及B/A
3.已知
完成下列操作
(1)输出A在[10,25]范围内的全部元素
(2)取出A前3行构成矩阵B,前两列构成矩阵C,右下角 子矩阵构成矩阵D,B与C的乘积构成矩阵E.
Matlab及应用 - 第3章 矩阵分析与处理

19
对角阵(续)
• 构造对角矩阵
• 设V为具有m个元素的向量,diag(V)将产 生一个m×m对角矩阵,其主对角线元素 即为向量V的元素。
• diag([1,2,3,4])
• diag(V)函数也有另一种形式diag(V,k), 其功能是产生一个n×n(n=m+|k|)对角阵, 其第k条对角线的元素即为向量V的元素
• 例 将101~125等25个数填入一个5行5列的表 格中,使其每行每列及对角线的和均为565。
• M=100+magic(5)
Information Theory & Technology Center(ITTC)
10
用于专门学科的特殊矩阵(续)
• 范德蒙德(Vandermonde)矩阵
• 性质:最后一列全为1,倒数第二列为一个指定的向量, 其他各列是其后列与倒数第二列的点乘积。 • 实例: 64 16 4 1 125 25 5 1 216 36 6 1 343 49 7 1
13
Information Theory & Technology Center(ITTC)源自用于专门学科的特殊矩阵(续)
• 伴随矩阵
• 矩阵中的元素用它们在行列式中的代数余 子式替换后得到的矩阵再转置,这个矩阵 叫A的伴随矩阵。
• 生成伴随矩阵的函数
• compan(p),其中p是一个多项式的系数向 量,高次幂系数排在前,低次幂排在后。 • 例,求多项式x3-7x+6的伴随矩阵 p=[1,0,-7,6]; compan(p)
• 例如:
• rand(1,3) ans = 0.139043482536049 0.734007633362635 0.194791464843949 • rand(1,3) ans = 0.602204766324215 0.937923745019422 0.149285414707192
MATLAB矩阵分析与处理

5
6
0 0 0
2 0 0
0 6 0
Page 8
XI’AN UNIVERSITY OF TECHNOLOGY
3.2 矩阵结构调整变换
例3.6 先建立5×5矩阵A,然后将A的第一行元素乘以1,第二行
乘以2,…,第五行乘以5。
A=[17,0,1,0,15;23,5,7,14,16;4,0,13,0,22;10,12,19,21,3;11,18,25,2 ,19];D=diag(1:5);
Page 7
XI’AN UNIVERSITY OF TECHNOLOGY
3.2 矩阵结构调整变换
A= B= 2 0 C= 0 6
A = [1,2,3;4,5,6]; D = diag(A); D2 = diag(A,1); B = diag(D2); C = diag(D2,1);
1
2
3
4 D=
1 5 D2 = 2 6
3.2 矩阵结构调整变换
length( ) 测出向量长度 size( ) 测出矩阵大小
请同学们上机实践,掌握指令的用法。
Page 14
XI’AN UNIVERSITY OF TECHNOLOGY
3.3 矩阵求逆与线性方程组求解
>> A = [1,-1,1;5,-4,3;2,1,1]; 3.3.1 矩阵的逆 >> B = inv(A) B= 对于一个方阵A,如果存在一个与其同阶的方阵B,使得: -1.4000 0.4000 0.2000 A· B=B· (I为单位矩阵) A=I 0.2000 -0.2000 0.4000 2.6000 -0.6000 则称B为A的逆矩阵,当然,A也是B的逆矩阵。 0.2000 >> A*B ans = 1.0000 0.0000 0.0000 inv(A)。 -0.0000 1.0000 0.0000 -0.0000 0.0000 1.0000 >> B*A ans = 1.0000 0.0000 -0.0000 -0.0000 1.0000 0.0000 0.0000 -0.0000 1.0000
第3章 MATLAB矩阵分析与处理

>> A=[1,1,0.5;1,1,0.25;0.5,0.25,2]
>> [V,D]=eig(A)
• A= • 1.0000 1.0000 0.5000 • 1.0000 1.0000 0.2500 • 0.5000 0.2500 2.0000 • V= • 0.7212 0.4443 0.5315 • -0.6863 0.5621 0.4615 • -0.0937 -0.6976 0.7103 • D= • -0.0166 0 0 • 0 1.4801 0 • 0 0 2.5365
• a=
• • • 8 3 4 1 5 9 6 7 2
• flipud(a) • ans = • • • 4 3 8 9 5 1 2 7 6
3.3 矩阵求逆与线性方程组求解 1. 矩阵的逆与伪逆 对于一个方阵A,如果存在一个与其同阶的方阵B,使 得:A· B=B· (I为单位矩阵),则称B为A的逆矩阵,当 A=I 然,A也是B的逆矩阵。 求一个矩阵的逆是一件非常烦琐的工作,容易出错,但在 MATLAB中,求一个矩阵的逆非常容易。求方阵A的逆矩 阵可调用函数inv(A)。 如果矩阵A不是一个方阵,或者A是一个非满秩的方阵 时,矩阵A没有逆矩阵,但可以找到一个与A的转置矩阵 A‘同型的矩阵B,使得:A· A=A,B· B=B,此时称矩 B· A· 阵B为矩阵A的伪逆,也称为广义逆矩阵。在MATLAB中, 求一个矩阵伪逆的函数是pinv(A)。
对于线性方程组Ax=b,若A为可逆方阵,则其解为
x=inv(A)*b
x 2 y 3z 5 例 解线性方程组 x 4 y 9 z 2 x 8 y 27 z 6
>> A=[1 2 3;1 4 9;1 8 27];b=[5 -2 6]'; >> x=inv(A)*b 当然,也可以用矩阵除法:x=A\b
第3章 MATLAB矩阵分析与处理

3.4.2 矩阵的秩与迹 1.矩阵的秩 rank(A): 求矩阵的秩。 >> A=[1,2,3;4,5,6;7,8,9]; >> rank(A) ans = 2
2.矩阵的迹 trace(A):求矩阵的迹。 >> A=[1,2,3;4,5,6;7,8,9] A= 1 2 3 4 5 6 7 8 9 >> trace(A) ans = 15
如果矩阵A不是一个方阵,或者A是一个非满秩的方 阵时,矩阵A没有逆矩阵,但可以找到一个与A的转置 矩阵A‘同型的矩阵B,使得: A· B· A=A B· A· B=B 此时称矩阵B为矩阵A的伪逆,也称为广义逆矩阵。
pinv(A): 求一个矩阵伪逆的函数是。
>> A=[3,1,1,1;1,3,1,1;1,1,3,1]; >> B=pinv(A) B= 0.3929 -0.1071 -0.1071 -0.1071 0.3929 -0.1071 -0.1071 -0.1071 0.3929 0.0357 0.0357 0.0357 >> A=[0,0,0;0,1,1;0,0,1]; >> B=pinv(A) B= 0 0 0 0 1.0000 -1.0000 0 -0.0000 1.0000
invhilb(n):其功能是求n阶的希尔伯特矩阵 的逆矩阵。
例3.4 求4阶希尔伯特矩阵及其逆矩阵。 format rat %以有理形式输出 H=hilb(4) H=invhilb(4) H= 1 1/2 1/3 1/4 1/2 1/3 1/4 1/5 1/3 1/4 1/5 1/6 1/4 1/5 1/6 1/7 H= 16 -120 240 -140 -120 1200 -2700 1680 240 -2700 6480 -4200 -140 1680 -4200 2800
第3章 MATLAB矩阵分析与处理

例3.2 建立随机矩阵: (1) 在区间[20,50]内均匀分布的5阶随机矩阵。 (2) 均值为0.6、方差为0.1的5阶正态分布随机矩阵。 命令如下: x=20+(50-20)*rand(5) y=0.6+sqrt(0.1)*randn(5) 此外,常用的函数还有reshape(A,m,n),它在矩阵总 元素保持不变的前提下,将矩阵A重新排成m×n的 二维矩阵。
(5) 伴随矩阵
p( x) an x n an1 x n 1 a1 x a0
an 1 a n 1 A an 2 an 1 1 1 an 3 an a1 an a0 an 0
3.2 矩阵结构调整变换 3.2.1 对角阵与三角阵 1.对角阵 只有对角线上有非0元素的矩阵称为对角矩阵; 对角线上的元素相等的对角矩阵称为数量矩阵; 对角线上的元素都为1的对角矩阵称为单位矩阵。
(1) 提取矩阵的对角线元素 设A为m×n矩阵,diag(A)函数用于提取矩阵A主对角 线元素,产生一个具有min(m,n)个元素的列向量。
invhilb(n):其功能是求n阶的希尔伯特矩阵 的逆矩阵。
例3.4 求4阶希尔伯特矩阵及其逆矩阵。 format rat %以有理形式输出 H=hilb(4) H=invhilb(4) H= 1 1/2 1/3 1/4 1/2 1/3 1/4 1/5 1/3 1/4 1/5 1/6 1/4 1/5 1/6 1/7 H= 16 -120 240 -140 -120 1200 -2700 1680 240 -2700 6480 -4200 -140 1680 -4200 2800
(4) 托普利兹矩阵
托普利兹(Toeplitz)矩阵除第一行第一列外,其他每 个元素都与左上角的元素相同。生成托普利兹矩阵 的函数是toeplitz(x,y),它生成一个以x为第一列,y 为第一行的托普利兹矩阵。这里x, y均为向量,两者 不必等长。toeplitz(x)用向量x生成一个对称的托普 利兹矩阵。例如 T=toeplitz(1:6)
实验二 MATLAB矩阵分析和处理

实验二 MATLAB 矩阵分析和处理一、实验目的1.掌握生成特殊矩阵的方法。
2.掌握矩阵分析的方法。
4.用矩阵求逆法解线性方程组。
二、实验内容1.设有分块矩阵⎥⎦⎤⎢⎣⎡=⨯⨯⨯⨯22322333S O R E A ,其中E,R,O,S 分别为单位矩阵、随机矩阵、零矩阵和对角矩阵,试通过数值计算验证⎥⎦⎤⎢⎣⎡+=22S ORS R E A 。
e=eye(3,3)e =1 0 00 1 00 0 1>> r=rand(3,2)r =0.9501 0.48600.2311 0.89130.6068 0.7621>> o=zeros(2,3)o =0 0 00 0 0s=diag(1:2)s =1 00 2a=[e r;o s]a =1.0000 0 0 0.9501 0.48600 1.0000 0 0.2311 0.89130 0 1.0000 0.6068 0.76210 0 0 1.0000 00 0 0 0 2.0000a^2ans =1.0000 0 0 1.9003 1.45790 1.0000 0 0.4623 2.67390 0 1.0000 1.2137 2.28630 0 0 1.0000 00 0 0 0 4.0000[e r+r*s;o s^2]ans =1.0000 0 0 1.9003 1.45790 1.0000 0 0.4623 2.67390 0 1.0000 1.2137 2.28630 0 0 1.0000 00 0 0 0 4.0000所以⎥⎦⎤⎢⎣⎡+=22S ORS R E A 2.产生5阶希尔伯特矩阵H 和5阶帕斯卡矩阵P ,求其行列式的值Hh 和Hp 以及他们的条件数Th 和Tp ,判断哪个矩阵性能更好,为什么?h=hilb(5)h =1.0000 0.5000 0.3333 0.2500 0.20000.5000 0.3333 0.2500 0.2000 0.16670.3333 0.2500 0.2000 0.1667 0.14290.2500 0.2000 0.1667 0.1429 0.12500.2000 0.1667 0.1429 0.1250 0.1111>> p=pascal(5)p =1 1 1 1 11 2 3 4 51 3 6 10 151 4 10 20 351 5 15 35 70hh=det(h)hh =3.7493e-012>> tp=det(p)tp =1th=cond(h)th =4.7661e+005>> tp=(p)tp =1 1 1 1 11 2 3 4 51 3 6 10 151 4 10 20 351 5 15 35 70帕斯卡矩阵性能更好,因为他的行列式为13.建立一个5x5矩阵,求它的行列式的值、迹、秩和范数m=magic(5)m =17 24 1 8 1523 5 7 14 164 6 13 20 2210 12 19 21 311 18 25 2 9值: det(m)ans =5070000秩:rank(m)ans =5迹:trace(m)ans =65范数:norm(m)ans =65.00004.已知⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡--=5881252018629A ,求特征值和特征向量,并分析其数学意义 a=[-29 6 18;20 5 12;-8 8 5]a =-29 6 1820 5 12-8 8 5>> [v,d]=eig(a)v =0.7130 0.2803 0.2733-0.6084 -0.7867 0.87250.3487 0.5501 0.4050d =-25.3169 0 00 -10.5182 00 0 16.83515.下面是一个线性方程组⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡52.067.095.06/15/14/15/14/13/14/13/12/1321x x x (1) 求方程的解a=[1/2 1/3 1/4;1/3 1/4 1/5;1/4 1/5 1/6]a =0.5000 0.3333 0.25000.3333 0.2500 0.20000.2500 0.2000 0.1667>> b=[0.95;0.67;0.52]b =0.95000.67000.5200x=inv(a)*bx =1.20000.60000.6000(2)将方程右边向量第三个元素0.52改为0.53,并比较解的变化 b=[0.95;0.67;0.53]b =0.95000.67000.5300>> x=inv(a)*bx =3.0000-6.60006.6000(3)计算系数矩阵A 的条件数并分析结论cond(a)ans =1.3533e+0036.建立A 矩阵,试比较sqrtm(A )和sqrt(A ),并分析他们的区别 a=10+(50-10)*rand(5)a =28.2587 41.6775 47.4188 24.1147 17.948910.7401 46.8725 46.6762 42.5267 34.1517 42.8563 39.5283 26.4108 10.3945 20.8875 27.7881 17.0506 45.7460 15.5556 17.952634.6173 26.2282 12.3157 18.1106 10.6110 sqrtm(a)ans =4.1096 3.0874 3.6871 1.5960 0.1670-1.8363 6.3436 3.3362 4.4752 2.53924.4063 2.3799 3.5245 -0.9250 2.1392-0.1605 0.2629 5.8547 4.4743 0.61306.2828 1.2539 -2.2354 0.0517 3.3358 >> sqrt(a)ans =5.31596.4558 6.8861 4.9107 4.23663.2772 6.8464 6.8320 6.5212 5.84396.5465 6.2872 5.1391 3.2240 4.57035.2714 4.12926.7636 3.9441 4.23705.8836 5.1214 3.5094 4.2557 3.2574。
矩阵分析第三章课后答案

第三章 内积空间 正规矩阵 Hermite 矩阵3-1(1)证明:),(αβ=H A αβ=H H A )(βα=H A βα ,(βα,k )=),(βαβαk A k H =),(),()(),(γβγαγβγαγβαγβα+=+=+=+H H H A A AH A αααα=),(,因为A 为正定H 矩阵,所以0),(≥αα,当且仅当0),(0==ααα时,由上可知cn是酉空间。
証毕。
(2)解: ∑∑==n jnij ij i Hy a x A |||),(|βαβα∑∑==n jnij ijix ax ),(||||ααα,∑∑==n jnij ijiy ay ),(||||βββ由Cauchy-Schwarz 不等式有:∑∑∑∑∑∑≤n jnij ijin jnin jnij ijij ijiy ay x ax y ax *3-2解:根据核空间的定义知道N(A)是方程组[][][]()1234512312321-113=011-101=0,1,1,0,0=-1,1,01,0=4-5,0,0,1=span{,,}T T Tx x x x x N A αααααα⎡⎤⎢⎥⎢⎥⎡⎤⎢⎥⎢⎥⎢⎥⎣⎦⎢⎥⎢⎥⎣⎦的解空间,解得它的基础解系为,,,,从而[] () ()() ()() ()1121221211131323312312112212311122schmidt==0,1,1,0,0,111=-=-=-1,,-,1,0,222,,-513=--=-+,,257663=,-,,,15555==00,0=TTTTβααββαβαβββαβαββαββαββββββββββγββγβ⎡⎤⎢⎥⎣⎦⎡⎤⎢⎥⎣⎦⎡⎤⎢⎥⎣⎦首先应用正交化方法得到:然后将,,单位化后得到:2333123=--0510105==().TTN Aβγβγγγ⎡⎤⎢⎥⎣⎦,,,所以,,即为的标准正交基3-3(1)解:由|λE-A| = (λ+1)3得λ= -1是A的特征值,当λ=-1时,可得|λE-A|=021于是ε1=(0,1,0)T是A的特征向量。
第03章_MATLAB矩阵分析与处理_参考解答

(6) a=diag(A), B=diag(a)
a= 102 185 168 130 115
B= 102 0 0 0 0 0 185 0 0 0 0 0 168 0 0 0 0 0 130 0 0 0 0 0 115
2. 使用函数,实现方阵左旋 90° 或右旋 90° 的功能。例如,原矩阵为 A ,A 左旋后得到 B , 右旋后得到 C 。
或者用
x=inv(A)*b
x= -6.0000 26.6667 27.3333
5. 求下列矩阵的主对角线元素、上三角阵、下三角阵、秩、范数、条件数和迹。
⎡ 1 −1 2 3⎤
(1)
A
=
⎢ ⎢ ⎢
5 3
1 0
−4 2⎥⎥ 5 2⎥
⎢⎣11 15 0 9⎥⎦
(2)
B
=
⎡ 0.43 ⎢⎣−8.9
43 4
2⎤ 21⎥⎦
第 3 章:MATLAB 矩阵分析与处理
C= 321 654 987 12 11 10
3. 建立一个方阵 A ,求 A 的逆矩阵和 A 的行列式的值,并验证 A 与 A−1 是互逆的。 答:程序设计:
clear all; close all; clc; A=rand(3); B=inv(A)
B= -3.1874 2.5029 2.8322
0.5 ⎤ 0.25⎥⎥
2 ⎥⎦
A= 1.0000 1.0000 0.5000
1.0000 1.0000 0.2500
0.5000 0.2500 2.0000
[V,D]=eig(A)
V= 0.7212 -0.6863 -0.0937
0.4443 0.5621 -0.6976
0.5315 0.4615 0.7103
实验02讲评、参考答案_MATLAB矩阵分析与处理(第3章)

实验02讲评、参考答案_MATLAB矩阵分析与处理(第3章)实验02讲评、参考答案讲评未交实验报告的同学名单批改情况:本实验报告不批改,请参考答案!除第1题稍复杂外,其它题按书上操作即可,注意细心点!答案中有一些操作技巧,供参考!附参考答案:实验02 MATLAB 矩阵分析与处理(第3章 MATLAB 矩阵分析与处理)一、实验目的二、实验内容1. 分块矩阵设有分块矩阵33322322E R A O S=?,其中E 、R 、O 、S 分别为单位矩阵、随机矩阵、零矩阵和对角阵,试通过数值计算验证22E R RS AO S +??=?。
命令窗口中的执行过程:《MATLAB 软件》课内实验王平2. 希尔伯特矩阵、帕斯卡矩阵及其行列式的值和条件数产生5阶希尔伯特矩阵H和5阶帕斯卡矩阵P,且求其行列式的值Hh和Hp以及它们的条件数Th和Tp,判断哪个矩阵性能更好。
为什么?条件数越接近1,矩阵的性能越好。
H 的条件数更大于1,所以P 比H 性能好。
3. 求矩阵的行列式值、迹、秩和范数建立一个5×5矩阵,求它的行列式值、迹、秩和范数。
4. 求A 的特征值及特征向量已知2961820512885A -??=??-??命令窗口中的执行过程:5. 解线性方程组下面是一个线性方程组:1231112340.951110.673450.52111456x x x ??=(1) 求方程的解。
(2) 将方程右边向量元素b 3改为0.53再求解,并比较b 3的变化和解的相对变化。
(3) 计算系数矩阵A 的条件数并分析结论。
b 只做微小的变化,但两个解变化很大。
A 的条件数>>1。
6. 建立A 矩阵,计算sqrtm(A)和sqrt(A),注意其区别命令窗口中的执行过程:三、实验提示1. 分块矩阵提示设有分块矩阵33322322E R A O S=?,其中E 、R 、O 、S 分别为单位矩阵、随机矩阵、零矩阵和对角阵,试通过数值计算验证22E R RS A O S +??=。
实验二matlab矩阵分析与处理

《MATLAB及应用A》第二次上机作业一、一球从100米高度自由落下,每次落地后反弹回原高度的一半,再落下。
求它在第10次落下时共经过多少米?第10次反弹多高?MATLAB源程序:MATLAB运行结果:二、有如下一段MATLAB程序,请解释说明每个语句的功能,必要时用数学表达式(不是在MATLAB中的输入形式);并给出y1、y2、y3的值(可从MATLAB中复制)。
MATLAB源程序:x=linspace(0,6);y1=sin(2*x);y2=sin(x.^2);y3=(sin(x)).^2;各条命令语句的功能如下:y1、y2、y3的值分别为:三、教材第55页习题三,第3题。
MATLAB源程序:MATLAB运行结果:四、选择题(1) i=2; a=2i; b=2*i; c=2*sqrt(-1); 程序执行后,a, b, c的值分别是多少?()(A) a=4, b=4, c=2.0000i(B) a=4, b=2.0000i, c=2.0000i(C) a=2.0000i, b=4, c=2.0000i(D) a=2.0000i, b=2.0000i, c=2.0000i(2) 求解方程x4-4x3+12x-9 = 0 的所有解,其结果为()(A) 1.0000, 3.0000, 1.7321, -1.7321(B) 1.0000, 3.0000, 1.7321i, -1.7321i(C) 1.0000i, 3.0000i, 1.7321, -1.7321(D) -3.000-0i, 3.0000i, 1.7321, -1.7321五、求[100,1000]之间的全部素数(选做)。
MATLAB源程序: MATLAB运行结果:一、一球从100米高度自由落下,每次落地后反弹回原高度的一半,再落下。
求它在第10次落下时共经过多少米?第10次反弹多高?MATLAB源程序:>> a=(0:-1:-9) %产生一个行向量aa =0 -1 -2 -3 -4 -5 -6 -7 -8 -9>> b=pow2(a) %对行向量a中的每一个元素分别求幂函数b =1.0000 0.5000 0.2500 0.1250 0.0625 0.0313 0.0156 0.007 8 0.0039 0.0020>> h=100*b %对行向量b中的每一个元素分别乘以100h =100.0000 50.0000 25.0000 12.5000 6.2500 3.1250 1.5625 0. 7813 0.3906 0.1953>> s1=sum(h) %对行向量h中的元素求和s1 =199.8047>> s=s1*2-100 %求出第10次落下时经过的高度s =299.6094>> h10=h(10)/2 %求出第10次反弹的高度h10 =0.0977二、有如下一段MATLAB程序,请解释说明每个语句的功能,必要时用数学表达式(不是在MATLAB中的输入形式);并给出y1、y2、y3的值(可从MATLAB 中复制)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验02讲评、参考答案讲评未交实验报告的同学名单批改情况:本实验报告不批改,请参考答案!除第1题稍复杂外,其它题按书上操作即可,注意细心点!答案中有一些操作技巧,供参考!附参考答案:实验02 MATLAB 矩阵分析与处理(第3章 MATLAB 矩阵分析与处理)一、实验目的二、实验内容1. 分块矩阵设有分块矩阵33322322E R A O S ⨯⨯⨯⨯⎡⎤=⎢⎥⎣⎦,其中E 、R 、O 、S 分别为单位矩阵、随机矩阵、零矩阵和对角阵,试通过数值计算验证22E R RS AO S +⎡⎤=⎢⎥⎣⎦。
命令窗口中的执行过程:《MATLAB 软件》课内实验王平2. 希尔伯特矩阵、帕斯卡矩阵及其行列式的值和条件数产生5阶希尔伯特矩阵H和5阶帕斯卡矩阵P,且求其行列式的值Hh和Hp以及它们的条件数Th和Tp,判断哪个矩阵性能更好。
为什么?条件数越接近1,矩阵的性能越好。
H 的条件数更大于1,所以P 比H 性能好。
3. 求矩阵的行列式值、迹、秩和范数建立一个5×5矩阵,求它的行列式值、迹、秩和范数。
4. 求A 的特征值及特征向量已知2961820512885A -⎡⎤⎢⎥=⎢⎥⎢⎥-⎣⎦命令窗口中的执行过程:5. 解线性方程组下面是一个线性方程组:1231112340.951110.673450.52111456x x x ⎡⎤⎢⎥⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎢⎥⎢⎥⎣⎦(1) 求方程的解。
(2) 将方程右边向量元素b 3改为0.53再求解,并比较b 3的变化和解的相对变化。
(3) 计算系数矩阵A 的条件数并分析结论。
b 只做微小的变化,但两个解变化很大。
A 的条件数>>1。
6. 建立A 矩阵,计算sqrtm(A)和sqrt(A),注意其区别命令窗口中的执行过程:三、实验提示1. 分块矩阵提示设有分块矩阵33322322E R A O S ⨯⨯⨯⨯⎡⎤=⎢⎥⎣⎦,其中E 、R 、O 、S 分别为单位矩阵、随机矩阵、零矩阵和对角阵,试通过数值计算验证22E R RS A O S +⎡⎤=⎢⎥⎣⎦。
提示1:注意!此处的运算是代数(矩阵)运算,不是数组点运算。
用eye, rand, zeros 函数,可以用diag 函数。
第1步,分别求出E, R, O, S ;第2步,拼接出A ;第3步,计算A 2;第4步,拼接⎥⎦⎤⎢⎣⎡+2S O RS R E ; 比较。
%需要显示结果的,行后不加分号2. 希尔伯特矩阵、帕斯卡矩阵及其行列式的值和条件数提示 产生5阶希尔伯特矩阵H 和5阶帕斯卡矩阵P ,且求其行列式的值Hh 和Hp 以及它们的条件数Th 和Tp ,判断哪个矩阵性能更好。
为什么?提示1:条件数越接近1,矩阵的性能越好。
四、教程:第3章 MATLAB矩阵分析与处理3.1 特殊矩阵p393.1.1 通用的特殊矩阵表产生通用特殊矩阵的函数及其含义p39例3.1 分别建立3×3、3×2和与矩阵A同样大小的零矩阵p39例3.2 建立随机矩阵p40(1) 在区间[20,50]内均匀分布的4阶随机矩阵。
3.1.2 用于专门学科的特殊矩阵p40 表产生专门学科特殊矩阵的函数及其含义(1) 魔方矩阵每行、每列及两条对角线上的元素和都相等。
magic(n)求n阶魔方矩阵,其元素由1,2,3,…,n2共n2个整数组成。
例3.3 将101~125等25个数填入一个5行5列的表格中,使其每行每列及对角线的和均为565。
最后一列全为1;倒数第二列为一个指定的向量;其他各列是其后列与倒数第二列的点乘积。
vander(V)生成指定向量为V的范得蒙矩阵。
例元素11 ijhi j=+-hilb(n)生成n阶希尔伯特矩阵。
条件数很差,用一般方法求逆会因为原始数据的微小扰动而产生不可靠的计算结果。
invhilb(n) 求n阶希尔伯特矩阵的逆。
例3.4 求4阶希尔伯特矩阵及逆矩阵。
(4) 托普利兹矩阵除第一行第一列外,其他每个元素都与左上角的元素相同。
toeplitz(x,y) 生成一个以x为第一列,y为第一行的托普利兹矩阵。
这里x, y均为向量,两者不必等长。
取前者为T(1,1)(5) 伴随矩阵compan(p) 生成伴随矩阵的函数其中p是一个多项式的系数向量,高次幂系数排在前,低次幂排在后。
例求多项式的x3-7x+6的伴随矩阵。
(6) 帕斯卡(Pascal)矩阵二次项(x+y)n展开后的系数随n的增大组成一个三角形表,称为杨辉三角形。
由杨辉三角形表组成的矩阵称为帕斯卡矩阵。
pascal(n) 生成一个n阶帕斯卡矩阵。
例3.5 求(x+y)5的展开式。
矩阵次对角线上的元素1,5,10,10,5,1即为展开式的系数。
3.2 矩阵结构变换p43表矩阵结构变换函数及其含义3.2.1 对角阵与三角阵1.对角阵只有对角线上有非0元素。
数量矩阵—对角线上的元素相等的对角阵。
单位矩阵—对角线上的元素为1的对角阵。
(1) 提取矩阵的对角线元素设A为m×n矩阵。
diag(A) 提取主对角线元素,产生有min(m,n)个元素的列向量。
(2) 构造对角矩阵V为m个元素的向量。
diag(V) 产生m×m对角矩阵,主对角线元素为V。
diag(V,k) 产生n×n(n=m+|k|)对角阵,第k条对角线元素为V。
(注)例3.6 先建立5×5矩阵A,然后将A的第一行元素乘以1,第二行乘以2,…,第五行乘以5。
三角阵分为上三角阵和下三角阵。
上三角阵对角线以下的元素全为0。
下三角阵对角线以上的元素全为0。
(1) 上三角矩阵triu(A)求矩阵A的上三角阵。
triu(A,k)求矩阵A的第k条对角线以上的元素。
(2) 下三角矩阵tril(A) 求矩阵A的下三角阵。
tril(A,k)求矩阵A的第k条对角线以下的元素。
3.2.2 矩阵的转置与旋转1.矩阵的转置2.矩阵的旋转rot90(A,k)将矩阵A旋转90º的k倍,按逆时针方向。
当k为1时可省略。
对矩阵实施左右翻转是将原矩阵的第一列和最后一列调换;第二列和倒数第二列调换;…,依次类推。
%每一行逆序4.矩阵的上下翻转3.3 矩阵求逆与线性方程组求解p46 3.3.1 矩阵的逆与伪逆表求矩阵的逆与伪逆函数及其含义1.矩阵的逆对于方阵A,若存在与其同阶的方阵B,使:A·B=B·A=I (I为单位矩阵)则称B为A的逆矩阵,A也是B的逆矩阵。
inv(A)求方阵A的逆矩阵。
例3.7 求方阵A的逆矩阵若A 不是方阵,或A 是非满秩的方阵时,A 没有逆矩阵。
但可找到与A '同型的矩阵B ,使得:A·B·A=A B·A·B=B称B 为矩阵A 的伪逆,也称为广义逆矩阵。
3.3.2 用矩阵求逆方法求解线性方程组Ax=b其解为:x=A -1b例3.8 解线性方程组2354928276x y z x y z x y z ++=⎧⎪++=-⎨⎪++=⎩3.4 矩阵求值 p48 表 矩阵求值函数及其含义3.4.1 方阵的行列式值把方阵看作行列式,对其按行列式规则求值,该值称矩阵所对应的行列式的值。
3.4.2 矩阵的秩与迹1.矩阵的秩矩阵线性无关的行数与列数称为矩阵的秩。
等于矩阵的对角线元素之和,也等于矩阵的特征值之和。
3.4.3 向量和矩阵的范数矩阵或向量的范数用来度量矩阵或向量在某种意义下的长度。
范数有多种方法定义,其定义不同,范数值也就不同。
1.向量的3种常用范数及其计算函数 V 为n 维向量(1) norm(V)或norm(V,2):计算2—范数。
2V=(2) norm(V,1):计算1—范数。
11||ni i V v ==∑(3) norm(V,inf):计算∞—范数。
1max{||}i i nVv ∞≤≤=2.矩阵的范数及其计算函数 A 为m ×n 矩阵,V 为n 维向量(1) norm(A)或norm(A,2):计算2—范数。
22211max{}'V A A V A A λ==⋅=为最大特征值(2) norm(A,1):计算1—范数。
111111max{}max{||}mij V j ni A A V a =≤≤==⋅=∑(3) norm(A,inf):计算∞—范数。
111max{}max{||}nij Vi mj A A V a ∞∞∞=≤≤==⋅=∑3.4.4 矩阵A 的条件数 p51(1) cond(A,1):计算1—范数下的条件数。
111(,1)cond A A A -=⋅(2) cond(A)或cond(A,2):计算2—范数下的条件数。
122()cond A A A -=⋅(3) cond(A,inf):计算∞—范数下的条件数。
1(,inf)cond A A A -∞∞=⋅3.5 矩阵的特征值与特征向量p52 表求特征值与特征向量函数及其含义例3.9 用求特征值的方法解方程。
5423.6 矩阵的超越函数p53直接作用于矩阵(方阵)的超越函数。
表矩阵的超越函数及其含义。