You are on page 1of 12

ĐẠI HỌC QUỐC GIA

TRƯỜNG ĐẠI HỌC BÁCH KHOA TP.HCM


KHOA KHOA HỌC ỨNG DỤNG

BÁO CÁO BÀI TẬP LỚN

PHƯƠNG PHÁP TÍNH

GVHD: Thầy Trịnh Quốc Lương

Nhóm 10

Ho ̣ và tên MSSV

Võ Phi Sơn 1612995

Đặng Thị Hồng Linh 1611796


Vũ Thi ̣Ngân Thảo 1613235
Mai Nữ Gia Tài 1613011

Tp.HCM, 7 tháng 12 năm 2017


ĐỀ BÀI :
Lập trình giải gần đúng hệ pt tuyến tính

Ax=b

bằng pp Gauss-Seidel với A là ma trận vuông cấp n

 Viết hàm tính chuẩn ma trận

 Viết hàm kiểm tra điều kiện hội tụ

 Viết hàm tính nghiệm xnvới n cho trước và tính sai số

 Viết hàm tìm nghiệm với sai số ε cho trước

 Dùng công thức tiên nghiệm

 Dùng công thức hậu nghiệm

BÀI GIẢI:
Câu 1 : Viết hàm tính chuẩn ma trận

A=input('nhap ma tran A=');


a1=max(sum(abs(A),1));
'chuan mot cua ma tran'
disp(a1);
a2=max(sum(abs(A),2));
'chuan vo cung cua ma tran'
disp(a2);
Câu 2 : Viết hàm kiểm tra điều kiện hội tụ
A=input('nhap A=');
if det(A)>0
disp('ma tran hoi tu');
else
disp('ma tran khong hoi tu');
end

or

A=input('nhap ma tran A=');


B=input('nhap ma tran B=');
b=input('nhap chieu dai ma tran=');
L=zeros(b); D=zeros(b);
x0=input('nhap ma tran x0=');
for i=1:b
D(i,i)=A(i,i);
end
for i=2:b
for j=1:i-1
L(i,j)=-A(i,j);
end
end
U=D-L-A;
Tg=inv(D-L)*U;
a2=max(sum(abs(Tg),2));

if a2<1
disp('ma tran hoi tu');
else
disp('ma tran khong hoi tu');
end
Câu 3 : Viết hàm tính nghiệm xnvới n cho trước và tính sai số
A=input('nhap ma tran A=');
B=input('nhap ma tran B=');
b=input('nhap chieu dai ma tran=');
L=zeros(b);
x0=input('nhap ma tran x0=');
x1=x0;
k=input('nhap k=');
x00=x0;
for i=1:b
D(i,i)=A(i,i);
end
for i=2:b
for j=1:i-1
L(i,j)=-A(i,j);
end
end
U=D-L-A;
Tg=inv(D-L)*U;
Cg=inv(D-L)*B;
k1=1;
while k1<=k
x0=Tg*x0+Cg;
k1=k1+1;
end
'nghiem x(k)cua ma tran la'
disp(x0);
k1=1;
while k1<k
x1=Tg*x1+Cg;
k1=k1+1;
end
b1=max(sum(abs(Tg),1));
b2=max(sum(abs(Tg),2));
x01=Tg*x00+Cg;
'sai so theo CT tien nghiem va chuan mot la'
c1=(b1^k)*(max(sum(abs(x01-x00),1)))/(1-b1)
'lam tron len 4 chu so thap phan'
u1=c1*10000;
a1=(ceil(u1))/10000
'sai so theo CT tien nghiem va chuan vo cung la'
c2=(b2^k)*(max(sum(abs(x01-x00),2)))/(1-b2)
'lam tron len 4 chu so thap phan'
u2=c2*10000;
a2=(ceil(u2))/10000
'sai so theo CT hau nghiem va chuan mot la'
c3=b1*(max(sum(abs(x0-x1),1)))/(1-b1)
'lam tron len 4 chu so thap phan'
u3=c3*10000;
a3=(ceil(u3))/10000
'sai so theo CT hau nghiem va chuan vo cung la'
c4=b2*(max(sum(abs(x0-x1),2)))/(1-b2)
'lam tron len 4 chu so thap phan'
u4=c4*10000;
a4=(ceil(u4))/10000
Câu 4 : Viết hàm tìm nghiệm với sai số ∑ cho trước
A=input('nhap ma tran A=');
B=input('nhap ma tran B=');
b=input('nhap chieu dai ma tran=');
L=zeros(b);
x0=input('nhap ma tran x0=');
x1=x0;
x2=x0;
x3=x0;
x4=x0;
x6=x0;
x7=x0;
x9=x0;
s=input('nhap sigma=');
for i=1:b
D(i,i)=A(i,i);
end
for i=2:b
for j=1:i-1
L(i,j)=-A(i,j);
end
end
U=D-L-A;
Tg=inv(D-L)*U;
Cg=inv(D-L)*B;
b1=max(sum(abs(Tg),1));
b2=max(sum(abs(Tg),2));
x=Tg*x2+Cg;
k2=1;
d1=(b1^k2)*(max(sum(abs(x-x2),1)))/(1-b1);
while s<=d1
d1=(b1^k2)*(max(sum(abs(x-x2),1)))/(1-b1);
k2=k2+1;
end
k1=1;
while k1<=k2-1
x2=Tg*x2+Cg;
k1=k1+1;
end
'theo CT tien nghiem va chuan mot, nghiem la'
disp('k='); disp(k2-1);
disp('xk='); disp(x2);

k2=1;
d1=(b2^k2)*(max(sum(abs(x-x3),2)))/(1-b2);
while s<=d1
d1=(b2^k2)*(max(sum(abs(x-x3),2)))/(1-b2);
k2=k2+1;
end
k1=1;
while k1<=k2-1
x3=Tg*x3+Cg;
k1=k1+1;
end
'theo CT tien nghiem va chuan vo cung, nghiem la'
disp('k='); disp(k2-1);
disp('xk='); disp(x3);
x5=Tg*x4+Cg;
k3=1;
d2=b1*(max(sum(abs(x5-x4),1)))/(1-b1);
while s<=d2
d2=b1*(max(sum(abs(x5-x4),1)))/(1-b1);
k3=k3+1;
x4=x5;
x5=Tg*x5+Cg;
end
k1=1;
while k1<=k3-1
x6=Tg*x6+Cg;
k1=k1+1;
end
'theo CT hau nghiem va chuan mot, nghiem la'
disp('k='); disp(k3-1);
disp('xk='); disp(x5);

x8=Tg*x7+Cg;
k3=1;
d2=b2*(max(sum(abs(x8-x7),2)))/(1-b2);
while s<=d2
d2=b2*(max(sum(abs(x8-x7),2)))/(1-b2);
k3=k3+1;
x7=x8;
x8=Tg*x8+Cg;
end
k1=1;
while k1<=k3-1
x9=Tg*x9+Cg;
k1=k1+1;
end
'theo CT hau nghiem va chuan vo cung, nghiem la'
disp('k='); disp(k3-1);
disp('xk='); disp(x9);

VÍ DỤ:

Ví dụ 1 :

Câu 1:
Tìm chuẩn ma trân
Câu 2: Kiểm tra điều kiện hội tụ

Hoặc

Ví dụ 2
Câu 3: tính nghiệm x2 và sai số theo công thức tiên nghiệm và chuẩn vô cùng
Câu 4: tính nghiệm theo công thức tiên nghiệm và chuẩn vô cùng khi biết sai số s=0.0048

You might also like