matlab answer.docx
《matlab answer.docx》由会员分享,可在线阅读,更多相关《matlab answer.docx(16页珍藏版)》请在冰豆网上搜索。
![matlab answer.docx](https://file1.bdocx.com/fileroot1/2023-4/27/3b466470-db96-43bc-98b8-d4163454b8e9/3b466470-db96-43bc-98b8-d4163454b8e91.gif)
matlabanswer
%Chapter3
%Exercise1
>>a=[1,2,3];b=[2,4,3];a./b,a.\b,a/b,a\b
ans=
0.50000.50001.0000
ans=
221
ans=
0.6552%一元方程组x[2,4,3]=[1,2,3]的近似解
ans=
000
000
0.66671.33331.0000
%矩阵方程[1,2,3][x11,x12,x13;x21,x22,x23;x31,x32,x33]=[2,4,3]的特解
%Exercise2
(1)
>>A=[41-1;32-6;1-53];b=[9;-2;1];
>>rank(A),rank([A,b])%[A,b]为增广矩阵
ans=
3
ans=
3%可见方程组唯一解
>>x=A\b
x=
2.3830
1.4894
2.0213
%Exercise2
(2)
>>A=[4-33;32-6;1-53];b=[-1;-2;1];
>>rank(A),rank([A,b])
ans=
3
ans=
3%可见方程组唯一解
>>x=A\b
x=
-0.4706
-0.2941
0
%Exercise2(3)
>>A=[41;32;1-5];b=[1;1;1];
>>rank(A),rank([A,b])
ans=
2
ans=
3%可见方程组无解
>>x=A\b
x=
0.3311
-0.1219%最小二乘近似解
%Exercise2(4)
>>a=[2,1,-1,1;1,2,1,-1;1,1,2,1];b=[123]';%注意b的写法
>>rank(a),rank([a,b])
ans=
3
ans=
3%rank(a)==rank([a,b])<4说明有无穷多解
>>a\b
ans=
1
0
1
0%一个特解
%Exercise3
>>a=[2,1,-1,1;1,2,1,-1;1,1,2,1];b=[1,2,3]';
>>ksi=null(a),x0=a\b
ksi=
-0.6255
0.6255
-0.2085
0.4170
x0=
1
0
1
0
%通解x=k*ksi+x0
另一种解法
>>rref([a,b])
ans=
1.0000001.50001.0000
01.00000-1.50000
001.00000.50001.0000
%前4列分别对应x1-x4,通解x=k*[-1.5,1.5,-0.5,1]'+[1,0,1,0]'
%Exercise4
%一年后城市=上年城市×99%+上年农村×5%;
%一年后农村=上年城市×1%+上年农村×95%
>>x0=[0.20.8]';a=[0.990.05;0.010.95];
>>x1=a*x0,x2=a^2*x0,x10=a^10*x0
>>x=x0;fori=1:
1000,x=a*x;end,x
x=
0.8333
0.1667
>>x0=[0.70.3]';
>>x=x0;fori=1:
1000,x=a*x;end,x
x=
0.8333
0.1667%注意结果不受x0改变的影响
>>[v,e]=eig(a)
v=
0.9806-0.7071
0.19610.7071
e=
1.00000
00.9400
>>v(:
1)./x
ans=
1.1767
1.1767
%v(:
1)与x成比例,说明x也是最大特征值1对应的特征向量
%Exercise5
%用到公式(3.11)(3.12)
>>B=[6,2,1;2.25,1,0.2;3,0.2,1.8];x=[25520]';
>>C=B/diag(x)%第1列除以x
(1),以此类推
C=
0.24000.40000.0500
0.09000.20000.0100
0.12000.04000.0900
>>A=eye(3,3)-C
A=
0.7600-0.4000-0.0500
-0.09000.8000-0.0100
-0.1200-0.04000.9100
>>D=[171717]';x=A\D%D变了,但假设C,A不变
x=
37.5696
25.7862
24.7690
%Exercise6
(1)
>>a=[41-1;32-6;1-53];det(a),inv(a),[v,d]=eig(a)
ans=
-94
ans=
0.2553-0.02130.0426
0.1596-0.1383-0.2234
0.1809-0.2234-0.0532
v=
0.0185-0.9009-0.3066
-0.7693-0.1240-0.7248
-0.6386-0.41580.6170
d=
-3.052700
03.67600
008.3766
%Exercise6
(2)
>>a=[11-1;02-1;-120];det(a),inv(a),[v,d]=eig(a)
ans=
1
ans=
2.0000-2.00001.0000
1.0000-1.00001.0000
2.0000-3.00002.0000
v=
-0.57730.5774+0.0000i0.5774-0.0000i
-0.57730.57740.5774
-0.57740.5773-0.0000i0.5773+0.0000i
d=
1.000000
01.0000+0.0000i0
001.0000-0.0000i
%Exercise6(3)
>>A=[5765;71087;68109;57910]
A=
5765
71087
68109
57910
>>det(A),inv(A),[v,d]=eig(A)
ans=
1
ans=
68.0000-41.0000-17.000010.0000
-41.000025.000010.0000-6.0000
-17.000010.00005.0000-3.0000
10.0000-6.0000-3.00002.0000
v=
0.83040.09330.39630.3803
-0.5016-0.30170.61490.5286
-0.20860.7603-0.27160.5520
0.1237-0.5676-0.62540.5209
d=
0.0102000
00.843100
003.85810
00030.2887
%Exercise6(4)(以n=5为例,n=50或500类似)
%关键是矩阵的定义,当n很大时不能直接写出。
%方法一(三个for)
n=5;
fori=1:
n,a(i,i)=5;end
fori=1:
(n-1),a(i,i+1)=6;end
fori=1:
(n-1),a(i+1,i)=1;end
a
%方法二(一个for)
n=5;a=zeros(n,n);
a(1,1:
2)=[56];
fori=2:
(n-1),a(i,[i-1,i,i+1])=[156];end
a(n,[n-1n])=[15];
a
%方法三(不用for)
n=5;a=diag(5*ones(n,1));
b=diag(6*ones(n-1,1));
c=diag(ones(n-1,1));
a=a+[zeros(n-1,1),b;zeros(1,n)]+[zeros(1,n);c,zeros(n-1,1)]
%下列计算
>>det(a)
ans=
665
>>inv(a)
ans=
0.3173-0.58651.0286-1.62411.9489
-0.09770.4887-0.85711.3534-1.6241
0.0286-0.14290.5429-0.85711.0286
-0.00750.0376-0.14290.4887-0.5865
0.0015-0.00750.0286-0.09770.3173
>>[v,d]=eig(a)
v=
-0.7843-0.7843-0.92370.9860-0.9237
0.5546-0.5546-0.3771-0.00000.3771
-0.2614-0.26140.0000-0.16430.0000
0.0924-0.09240.0628-0.0000-0.0628
-0.0218-0.02180.02570.02740.0257
d=
0.75740000
09.2426000
007.449500
0005.00000
00002.5505
%Exercise7
(1)
>>a=[41-1;32-6;1-53];[v,d]=eig(a)
v=
0.0185-0.9009-0.3066
-0.7693-0.1240-0.7248
-0.6386-0.41580.6170
d=
-3.052700
03.67600
008.3766
>>det(v)
ans=
-0.9255%v行列式正常,特征向量线性相关,可对角化
>>inv(v)*a*v%验算
ans=
-3.05270.0000-0.0000
0.00003.6760-0.0000
-0.0000-0.00008.3766
>>[v2,d2]=jordan(a)%另一方法:
用jordan
v2=
0.07980.00760.9127
0.1886-0.31410.1256
-0.1605-0.26070.4213%用jordan特征向量不同
d2=
8.376600
0-3.0527-0.0000i0
003.6760+0.0000i
>>v2\a*v2
ans=
8.376600.0000
0.0000-3.05270.0000
0.00000.00003.6760
>>v(:
1)./v2(:
2)%对应相同特征值的特征向量成比例,说明两种方法结果本质上相同
ans=
2.4491
2.4491
2.4491
%Exercise7
(2)
>>a=[11-1;02-1;-120];[v,d]=eig(a)
v=
-0.57730.5774+0.0000i0.5774-0.0000i
-0.57730.57740.5774
-0.57740.5773-0.0000i0.5773+0.0000i
d=
1.000000
01.0000+0.0000i0
001.0000-0.0000i
>>det(v)
ans=
-5.0566e-028-5.1918e-017i%v的行列式接近0,特征向量线性相关,不可对角化
>>[v,d]=jordan(a)
v=
101
100
1-10
d=
110
011
001%jordan标准形不是对角的,所以不可对角化
%Exercise7(3)
>>A=[5765;71087;68109;57910]
A=
5765
71087
68109
57910
>>[v,d]=eig(A)
v=
0.83040.09330.39630.3803
-0.5016-0.30170.61490.5286
-0.20860.7603-0.27160.5520
0.1237-0.5676-0.62540.5209
d=
0.0102000
00.843100
003.85810
00030.2887
>>inv(v)*A*v
ans=
0.01020.0000-0.00000.0000
0.00000.8431-0.0000-0.0000
-0.00000.00003.8581-0.0000
-0.0000-0.0000030.2887
%但本题用jordan不行,原因未知
%Exercise7(4)参考6(4)和7
(1),略
%Exercise8只有(3)对称且特征值全部大于零,所以只有(3)是正定矩阵.
%Exercise9
>>a=[4-313;2-135;1-1-1-1;3-234;7-6-70]
>>rank(a)
ans=
3
>>rank(a(1:
3,:
))
ans=
2
>>rank(a([124],:
))%1,2,4行为最大无关组
ans=
3
>>b=a([124],:
)';c=a([35],:
)';
>>b\c%线性表示的系数
ans=
0.50005.0000
-0.50001.0000
0-5.0000
%Exercise10
>>a=[1-22;-2-24;24-2]
>>[v,d]=eig(a)
v=
0.33330.9339-0.1293
0.6667-0.3304-0.6681
-0.66670.1365-0.7327
d=
-7.000000
02.00000
002.0000
>>v'*v
ans=
1.00000.00000.0000
0.00001.00000
0.000001.0000%可见v确实是正交矩阵
%正交变换为y=vx,标准型-7*y1^2+2*y2^2+2*y3^2
%Exercise11
%设经过6个电阻的电流分别为i1,...,i6.列方程组如下
%20-2i1=a;5-3i2=c;a-3i3=c;a-4i4=b;c-5i5=b;b-3i6=0;
%i1=i3+i4;i5=i2+i3;i6=i4+i5;
%计算如下
>>A=[100200000;001030000;10-100-3000;1-10000-400;
0-110000-50;01000000-3;00010-1-100;0000-1-1010;
000000-1-11];
>>b=[2050000000]';A\b
ans=
13.3453
6.4401
8.5420
3.3274
-1.1807
1.6011
1.7263
0.4204
2.1467
%Exercise12
>>A=[123;456;780];
>>left=sum(eig(A)),right=sum(trace(A))
left=
6.0000
right=
6
>>left=prod(eig(A)),right=det(A)%原题有错,(-1)^n应删去
left=
27.0000
right=
27
>>fA=(A-p
(1)*eye(3,3))*(A-p
(2)*eye(3,3))*(A-p(3)*eye(3,3))
fA=
1.0e-012*
0.08530.14210.0284
0.14210.14210
-0.0568-0.11370.1705
>>norm(fA)
ans=
2.9536e-013%f(A)范数接近0,也就是说fA是0矩阵。