当前位置:文档之家› MATLAB作业3 - 答案

MATLAB作业3 - 答案

解:>>A=[6,1,4,-7,-3;-2,-7,-8,6,0;-4,5,1,-6,8;-34,36,9,-21,49;-26,-12,-27,27,17]; >>b=[0 0 0 0 0]’; >>x=A\b;x’ 2、试求下面线性代数方程的解析解与数值解,并检验解的正确性。
2 10 8 5
解: (1)Jacobi 迭代法: function y=jacobi(a,b,x0) D=diag(diag(a)); U=-triu(a,1); L=-tril(a,-1); B=D\(L+U); f=D\b; y=B*x0+f; n=1;
while norm(y-x0)>=1.0e-6 x0=y; y=B*x0+f; n=n+1; end n >>a=[10 -1 -2;-1 10 -2;-1 -1 5]; >>b=[72 83 42]; >>jacobi(a,b,[0;0;0]) (2)Gauss-Seidel 迭代法 function y=seidel(a,b,x0) D=diag(diag(a));U=-triu(a,1);L=-tril(a,-1); G=(D-L)\U ;f=(D-L)\b; y=G*x0+f; n=1; while norm(y-x0)>=1.0e-6 x0=y; y=G*x0+f; n=n+1; end n >>a=[10 -1 -2;-1 10 -2;-1 -1 5]; >>b=[72 83 42]; >>seidel(a,b,[0;0;0])
2 1 1 4 0 3 8 4 1 10 5 0 X 0 3 3 2 4 6 3 6 6 8 4 9 5 3
9
3
解 : >>A=[2,-9,3,-2,-1;10,-1,10,5,0;8,-2,-4,-6,3;-5,-6,-6,-8,-4];B=[-1,-4,0;-3,-8,-4;0,3,3;9,-5,3];% 空格换成逗号 >>C=[A B];rank(A),rank(C) >>x=inv(A)*B >>norm(A*x-B) >>x1=inv(sym(A))*B >>norm(double(A*x1-B)) 3、求解下面的联立方程,并检验得出的高精度数值解(准解析解)的精度。
x12 x2 1 0 2 2 ( x1 2) ( x2 0.5) 1 0
解: >>[x1,x2]=solve(‘x1^2-x2-1=0’,’(x1-2)^2+(x2-0.5)^2-1=0’,’x1’,’x2’) >>norm(x1^2-x2-1)
10x1 x2 2 x3 72 4、用 Jacobi 、 Gauss-Seidel 迭 代 法 求 解 方 程 组 x1 10 x2 2 x3 83 , 给 定 初 值 为 x x பைடு நூலகம் 5x 42 3 1 2 x (0) (0, 0, 0)T 。
MATLAB 作业三
1、试求下面齐次方程的基础解系。
6 x1 x2 4 x3 7 x4 3 x5 0 2 x1 7 x2 8 x3 6 x4 0 4 x1 5 x2 x3 6 x4 8 x5 0 34 x 36 x 9 x 21x 49 x 0 1 2 3 4 5 26 x1 12 x2 27 x3 27 x4 17 x5 0
5、 取 1.4, x
(0)
1 2 x1 x2 (1,1,1) , 用超松弛法解方程组 x 1 2 x 2 x 3 0 x 2 x 1.8 2 3
T
解:function y=sor(a,b,w,x0) D=diag(diag(a));U=-triu(a,1);L=-tril(a,-1); M=(D-w*L)\((1-w)*D+w*U); f=(D-w*L)\b*w; y=M*x0+f; n=1; while norm(y-x0)>=1.0e-6 x0=y; y=M*x0+f; n=n+1; end n >>a=[2 -1 0;-1 2 -1;0 -1 2]; >>b=[1;0;1.8]; >>sor(a,b,1.4,[1;1;1])
相关主题