Professional Documents
Culture Documents
ĐỒ ÁN TOÁN 1
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
2
Đồ án 1
Lời cảm ơn
Trong quá trình thực hiện bài báo cáo đồ án này, nhóm chúng em đã nhận được nhiều sự
giúp đỡ từ các thầy cô trong khoa Toán-Thống kê, trường Đại học Tôn Đức Thắng. Các
thầy cô đã cung cấp cho chúng em những kiến thức, những kinh nghiệm quý báu trong suốt
quá trình học tập, cùng với sự giúp đỡ không ngừng của gia đình và bạn bè. Nhờ đó mà
nhóm chúng em đã hoàn thành được bài báo cáo đồ án như mong muốn. Nay xin cho phép
chúng em được gửi lời cảm ơn đến các thầy cô. Đặc biệt nhóm chúng em xin gửi lời cảm
ơn sâu sắc tới thầy Huỳnh Văn Kha người đã hướng dẫn và chỉ bảo tận tình cho chúng
em, đã tạo mọi điều kiện thuận lợi và là nguồn động lực quan trọng để nhóm chúng em có
thể hoàn thành tốt bài báo cáo đồ án này. Nhóm cũng xin gửi lởi cảm ơn chân thành tới gia
đình và bạn bè đã động viên, khuyến khích nhóm trong những lúc khó khăn nhất. Một lần
nữa nhóm chúng em xin chân thành cảm ơn. Chúc tất cả mọi người sức khỏe và thành đạt.
3
Đồ án 1
dựng cách tính nghiệm chính xác thông qua công thức Cramer, công thức Cramer đối với
các hệ phương trình có số ẩn thấp thì không phức tạp nhưng việc sử dụng công thức
Cramer không phải đơn giản đối với các hệ phương trình có số ẩn lớn. Do đó người ta xây
dựng cách tính các giá trị xấp xỉ của các hệ phương trình với độ chính xác từ thấp đến cao,
từ không thể đến có thể xác định được độ chính xác của tập nghiệm. Phương pháp tính giá
trị xấp xỉ có thể chấp nhận được nếu độ sai lệ giữa giá trị xấp xỉ và nghiệm chính xác của
phương trình bé hơn cho trước nào đó. Từ đó nhóm chúng em quyết định chọn để tài
“tính gần đúng nghiệm của một phương trình đại số tuyến tính” để đi sâu vào tìm hiểu
phương thức tính giá trị xấp xỉ của phương trình đại số tuyến tính.
Cách tính xấp xỉ phương trình đại số tuyến tính có rất nhiều, ở đây chúng em chỉ liệt kê
một số phương pháp thông dụng, có độ chính xác cao và có thể áp dụng ngay vào thực tế.
4
Đồ án 1
Mục Lục
Trang
3. PHÂN RÃ LU ............................................................................................................. 13
5.2.2 Sự hội tụ của phương pháp và sai số của nghiệm xấp xỉ .............................. 27
5
Đồ án 1
5.3.2 Sự hội tụ của phương pháp Seidel và đánh giá sai số của nghiệm xấp xỉ .... 32
6
Đồ án 1
Đặt A aij nn là ma trận hệ số, b là ma trận cột các hệ số tự do cho trước, x
n n
7
Đồ án 1
lượt từng giá trị a11 , a21 ,..., an1 chia cho giá trị lớn nhất của từng hàng vừa tìm được và
có được giá trị lớn nhất trong đó.
b) Hoán vị lên trên dòng 1 nếu giá trị của phép chia giữa a11 , a21 ,..., an1 và giá trị lớn
nhất tương ứng của từng hàng là lớn nhất.
c) Sau đó lần lượt nhân phương trình đó với – a11a 21 , a11a31 , , a11an1 và theo thứ
tự, cộng vào phương trình thứ hai, thứ ba, … thứ n. Bằng cách đó ta khử được x1 ra
khỏi các phương trình của hệ từ phương trình thứ hai trở đi. Bước tiếp theo là ta khử
x2 ra khỏi các phương trình từ thứ ba trở đi… Sau một số hữu hạn bước, ta đưa được
hệ (1.2) về dạng tam giác sau đây:
c11 x1 c12 x2 c1n xn d1
c2 n xn d2
c22 x2
cnn xn dn
Giải:
8
Đồ án 1
8 3 2 20
Ta đưa hệ phương trình về ma trận 4 11 1 33
6 3 12 36
8 3 2 20
8 3 2 20 1
h 2h 2 2 h1 25
4 11 1 33 0 2 23
6 3 12 36 2
6 3 12 36
8 3 2 20 8 3 2 20
3 h 3 h 3 21 h 2
h3 h3 h1 25 25
4
0 2 23 50
0 2 23
2 2
21 21 567 567
0 21 0 0
4 2 50 50
Như vậy hệ đã cho tương đương với hệ:
8 x1 3 x2 2 x3 20
25
x2 2 x3 23
2
567 567
x3
50 50
9
Đồ án 1
integer i, j, k, l
!!!!! rút gon theo hàng
do k=1, n-1
!!!! tim gia tri lon nhat trong hang
do i=k,n
s(i) = 0.0
do j=k,n
s(i) = max(s(i),abs(a(i,j)))
end do
end do
pivot = abs(a(k,k)/s(k))
l=k
do j=k+1,n
if(abs(a(j,k)/s(j)) > pivot) then
pivot = abs(a(j,k)/s(j))
l=j
end if
end do
!!!!!!!!!!
10
Đồ án 1
a(l,j) = store
end do
store = f(k)
f(k) = f(l)
f(l) = store
end if
do i=k+1,n
c=a(i,k)/a(k,k)
a(i,k) = 0.0
f(i)=f(i)- c*f(k)
do j=k+1,n
a(i,j) = a(i,j)-c*a(k,j)
end do
end do
end do
! giai nguoc
x(n) = f(n)/a(n,n)
do i=n-1,1,-1
c=0.0
do j=i+1,n
c= c + a(i,j)*x(j)
end do
x(i) = (f(i)- c)/a(i,i)
end do
write (*,*)'nghiem phuong trinh theo Gauss la'
write (*,201) (x(i),i=1,n)
201 format (6f12.5)! làm tròn chu so thu 5
11
Đồ án 1
Chú thích: Trong chương trình trên có khai báo một số công thức thuật toán sau,
các công thức đó được hiểu:
a(n,n): cấp phát một ma trận vuông ann .
Các chú thích này được áp dụng cho các các thuật toán khác trong đề tài này.
2.3 Chạy thử và nhận xét
Chạy thử:
Hệ phương trình cấp 3
Nhận xét:
Phương pháp giải Gauss đưa cho ta các ưu điểm: thuật toán dễ hiểu, cách thức đơn
giản.
Song thuật toán Gauss cũng có vài nhược điểm của riêng mình: số lượng vòng lập
lớn, độ phức tạp của bài toán cao, thời gian chạy chương trình kéo dài, đối với các ma trận
lớn kết quả tìm được không còn chính xác, nguyên nhân là do sai số chặt cụt có trong máy
tính.
12
Đồ án 1
3. PHÂN RÃ LU
3.1 Thuật toán
Ý tưởng chính của sự phân rã LU là để ghi lại các bước sử dụng trong khử Gauss trên
một ma trận khác mà những phép biến đổi về sau không còn sử dụng nữa.
Ma trận được dùng để ghi lại các phép biến đổi được gọi là ma trận L, ma trận biến đổi
tam giác trên được gọi là ma trận U và dĩ nhiên phép biến đổi LU luôn luôn phải đảm bảo
A LU .
Để ma trận L trở thành ma trận tam giác dưới và LU A thì ta thêm chỉ số L ii 1 trong
ma trận L.
Ta xét ví dụ sau:
1 2 3 1 2 3 1 2 3
h 22 h1 h 3 2 h 2
A 2 5 12 (2) 1 6 (2) 1 6
0 2 10 0 2 10 (0) ( 2) 2
1 0 0 1 2 3
L 2 1 0 ;U 0 1 6
0 2 1 0 0 2
Để kiểm nghiệm lại ta kiểm tra 1 lần nữa:
1 0 0 1 2 3 1 2 3
LU 2 1 0 0 1 6 2 5 12 A
0 2 1 0 0 2 0 2 10
Khi đã đưa ma trận A về dạng tích LU thì phương trình Ax b ta có thể giải theo
phương pháp sau:
Ly b
Ax b LUx b
Ux y
Dùng biến đổi giải ngược đối với ma trận tam giác dưới và ma trận tam giác trên ta sẽ
được kết quả.
Ví dụ: Ta xét lại bài toán giải Gauss ở ví dụ trên:
13
Đồ án 1
8 x1 3x2 2 x3 20
4 x1 11x2 x3 33
6 x 3x 12 x3 36
1 2
8 3 2 8 3 2
8 3 2
h 2 h 2
1
h 1 1 25 h 3 h 3
21
h 2 1 25
A 4 11 1 2
3 2 50
2
6 3 12 4 2 2 2
h 3 h 3 h 1 2
3 21 21 3 21 567
4 4 2 4 50 50
1 0 0 8 3 2
1 25
L 1 0 ;U 0
2
2 2
3 21 567
1 0 0
4 50 50
Ta tiến hành giải:
1 0 0
y1 20
1
Ly b 1 0 y2 33
2
3 21 y3 36
1
4 50
y1 20
y1 20
1
y1 y2 33 y2 23
2 567
3 21 y3
y1 y2 y3 36 50
4 50
8 3 2
1 x 20
25
Ux y 0 2 x2 23
2
567
567 3
x
0
0 50
50
14
Đồ án 1
8 x1 3 x2 2 x3 20
x1 3
25
x2 2 x3 23 x2 2
2
567 567 x3 1
x3
50 50
implicit none
integer n
double precision a(n,n)
double precision L(n,n), U(n,n), f(n), x(n)
double precision coeff
integer i, j, k
real c
L=0.0
U=0.0
15
Đồ án 1
end do
end do
16
Đồ án 1
end do
f(i) = (x(i)- c)/U(i,i)
end do
write (*,*)'nghiem phuong trinh theo phan ra LU la'
write (*,201) (f(i),i=1,n)
201 format (6f12.5)! làm tròn chu so thu 5
end subroutine
3.3 Chạy thử và nhận xét
Chạy thử:
Hệ phương trình cấp 3
Nhận xét:
Đối với thuật toán sử dụng bằng phương pháp phân rã LU hạn chế được khuyết
điểm về thời gian chạy của phương pháp Gauss, thời gian rút ngắn xuống còn một nữa, do
số vòng lặp giảm một nữa đối với thuật toán này.
Thuật toán vẫn mắc phải các lỗi như Gauss về độ chính xác của bài toán đối với ma
trận có hệ số lớn, số vòng lặp tuy có giảm bớt nhưng vẫn còn ở con số cao, ngoài ra do sử
dụng thêm 1 ma trận để lưu các bước khai triển Gauss nên thuật toán còn lãng phí thêm 1
lượng ô nhớ bằng với ma trận đã cho.
17
Đồ án 1
Ví dụ:
b1 c1
a b2 c2
2
a3 b3
cn 1
an bn
Để giải quyết bài toán đại số tuyến tính như trên thay vì ta phải cung cấp 1 ma trận
vuông cấp n n đối với thuật toán Gauss hay là 2 ma trận đối với thuật toán phân rã LU .
Để tránh thực hiện các vòng lặp với hệ số 0, và lượng ô nhớ lưu trữ lớn ta xét thuật toán
tổng quát sau:
b1 c1 x1 f1
a b2 c2 x f
2 2 2
a3 b3 x2 f 3
cn 1
an bn xn f n
18
Đồ án 1
b1 x1 c1 x2 f1
a x b x c x f
2 1 2 2 3 3 2
a3 x2 b3 x3 f3
cn 1 xn
an xn 1 bn xn yn
Nhận xét: ma trận trên ta biến đổi đưa về dạng ma trận tam giác trên bằng cách khử
lần lượt các hệ số ai ra khỏi ma trận như phép khủ Gauss nhưng chỉ thực hiện trên các hệ
Trên thực tế, trong khi tính toán ta chỉ cần tính các giá trị thay đổi trên đường chéo
b1 , b2 ,...,bn . và đường chéo c1 , c2 ,.., cn1.
b 1 x1 1 x2 y1
b2 x2 2 x3 y
2
b3 x3 y3
n 1 xn
bn xn yn
Ta thực hiện giải ngược với ma trận vừa tìm được để tìm ra kết quả.
Ví dụ:
4 1 x1 0
x
1 4 1 2 0
1 4 1 x3 0
1 4 1 x4 0
1 4 1 x5 0
1 4 1 x6 0
1 4 1 x7 0
1 4 x8 16
19
Đồ án 1
4 1
1 15
1
4
56 x 0
1 1 1
15 x2 0
209 x 0
1 1 3
56 x4 0
780
1 1 x5 0
209
x6 0
1
2911
1
780 x7 0
x8 16
10864
1 1
2911
40545
1
10864
x1 0.000395
x 0.001578
2
x3 0.005919
x 0.022099
4
x5 0.082476
x6 0.307806
x7 1.148748
x 4.287187
8
integer::n,i
do i=2,n
20
Đồ án 1
coeff=a(i,1)/a(i-1,2)
a(i,2)=a(i,2)-coeff*a(i-1,3)
f(i)=f(i)-coeff*f(i-1)
end do
!!
x(n) = f(n)/a(n,2)
do i=n-1,1,-1
end do
!!
201 format(6f12.5)
end subroutine
21
Đồ án 1
Nhận xét: Đối với các ma trận ba đường chéo chính thì thuật toán trên giúp cho bài
toán được giải quyết nhanh hơn, không tốn kém bộ nhớ như thuật toán Gauss hay thuật
toán phân rã LU . Do phương pháp biến đổi giống Gauss nên bài toán cũng mắc phải những
khuyết điểm như 2 thuật toán trên.
22
Đồ án 1
thứ i.
1 2 3
Với mỗi k , đặt v k v1 k , v2 k , vn
k
n
ta có dãy vectơ v , v , v
được gọi là giới hạn của dãy v k , và ta cũng nói v k hội tụ tới v .
1 k 1
Ví dụ: Xét ba dãy ; ; 2 thì ta được một dãy vectơ hội tụ đến
k 2k 1 k
1
v 0; ;0 .
2
vectơ v , và ký hiệu
v
max x1 , x2 , xn
Chuẩn vô hạn thỏa mãn ba tích chất sau:
(i) v 0 với dấu "=" xảy ra khi và chỉ khi v 0 .
23
Đồ án 1
Nhờ khái niệm chuẩn vô hạn, ta có định lý về tiêu chuẩn hội tụ.
Định lý: v k hội tụ tới v nếu và chỉ nếu v k v* 0 khi k
Trong việc xác lập sự hội tụ của một dãy vectơ tới nghiệm đúng và đánh giá sai số
của nghiệm xấp xỉ so với nghiệm đúng ta cũng cần đến khái niệm chuẩn của ma trận.
Định nghĩa: Chuẩn vô hạn của ma trận thực B bij nn , ký hiệu B , là số thực
n n n
B
max b1 j , b2 j , bnj
j 1 j 1 j 1
0 0.03 0.02
0.02 0.04
Ví dụ: 0
0.04 0.01 0
Có B
max 0.05;0.06;0.05 0.06
v
0
Cho trước cho rồi tính v theo công thức
1
Nếu v k hội tụ thì ta nói phương pháp lặp đơn hội tụ.
24
Đồ án 1
k 1
Giả sử v k v* . Lấy giới hạn ở hai vế của v Bv k g.
Ta có:
v* Bv* g ,
v
*
là nghiệm của x Bx g , tức cũng là nghiệm của Ax b .
Với 0 cho trước, nếu k đủ lớn ta luôn có:
v k v*
Khi đó ta nói v
k
là nghiệm xấp xỉ của nghiệm đúng với độ chính xác .
v
k
Trong thực hành, ta bắt buộc phải dừng tính toán ở bước thứ k nào đó và xem
là nghiệm gần đúng.
thì Ax b Sx Tx b.
1 1
Đặt g S b , và B S T x Bx g.
k 1
Phương pháp lặp đơn tiến hành theo công thức v Bvk g được gọi là phương
pháp Jacobi.
Phương pháp Jacobi sẽ hội tụ, nếu A aij nn là ma trận đường chéo trội, tức là
25
Đồ án 1
0 0.2 0.1 1
B 0.1 0 0.2 , g 1.2
0.1 0.1 0 0.8
Với v k 1 x1 k 1 , x2 k 1 , x3 k 1 , với v k x1 k , x2 k , x 3 k xây dựng công thức tính lặp
x1
k 1
0.2 x2 0.1x3
k
10
k
x2
k 1
0.1x1
k
0.2 x3
k
1.2
x3 k 1 0.1x1 k 0.1x2 k 0.8
Xấp xỉ với x0 0,0,0 ta thu được kết quả, thể hiện ở bảng sau:
K 𝑥1 𝑥2 𝑥3
1 1 1.2 0.8
26
Đồ án 1
1
v k v* B v1 v 0
k
1 B
Nhận xét:
1) Với điều kiện của định lý, và với v
0
và 0 chọn trước, số lần lặp k để nghiệm
xấp xỉ đạt độ chính xác (tức là v k v* ) xác định từ bất phương trình:
1
v1 v 0
k
B
1 B
2) Sai số trong quá trình tính toán không ảnh hưởng đến kết quả cuối cùng (Phương
phương pháp lặp đơn có khả năng tự sửa sai, phép lặp đơn thực hiện cho tới khi
v k v* cho trước).
Ví dụ 2: Quay lại ví dụ 1. B 0.3 1 , nên phương pháp lặp đơn hội tụ.
v
7
v
*
Đánh giá sai số của so với nghiệm đúng :
v v 1,1.2,0.8
1 0
1
v 7 v* B v1 v 0
7
1 B
0.37
1.2 3.7 104
1 0.3
27
Đồ án 1
!implicit none
integer n
integer i,j,Kmax,k
real::eps
Kmax=10000
eps=0.00001
i=0
tam = x
! bien doi a ve bx + g
do i = 1, n
f(i) = f(i)/a(i,i)
do j = 1, n
if(i/=j) then
a(i,j) = a(i,j)/a(i,i)
else
28
Đồ án 1
return
end if
end if
end do
a(i,i) = 0
end do
i=1
do while (.true.)
x0=x
do j=1,n
c=0.0
do k=1,n
c=a(j,k)*x(k)+c
end do
tam(j)= -c+f(j)
end do
x = tam
if(chuanmax(x-x0,n)<eps) then
write (*,201)(x(k),k=1,n)
end if
i = i+1
end do
end subroutine
Chú thích: Trong chương trình trên có sử dụng hàm chuanmax(), hàm này được
định nghĩa như sau:
function chuanmax(x,n)
integer n
real :: s, chuanmax
integer :: i
s = x(1)
do i = 1, n
s = abs(x(i))
end if
30
Đồ án 1
end do
chuanmax = s
Nhận xét:
Ưu điểm: đối với bài toán giải bằng phương pháp jacobi ta tiết kiệm được bộ
nhớ máy tính, đảm bảo được thời gian thực hiện chương trình, số lần lặp cũng như thời
gian chạy giảm đáng kể so với các phương pháp trên, ngoài ra nghiệm cần tìm có độ
chính xác cao hơn đối với các ma trận có hệ số lớn, nguyên nhân là do thực hiện kiểm
tra độ chính xác sau mỗi lần lặp.
31
Đồ án 1
Nhược điểm của bài toán này là không phải tất cả các phương trình có nghiệm
đều hội tụ (chỉ áp dụng cho ma trận đường chéo trội), nếu hệ số hội tụ quá lớn thì ma
trận sẽ lâu hội tụ về ma trận kết quả.
k 1 k 1
Cải tiến: Khi tính x2 sử dụng ngay x1 vừa tính được
x1
k 1
0.2 x2 0.1x3 1
k k
v 1,1.1,0.59
1
5.3.2 Sự hội tụ của phương pháp Seidel và đánh giá sai số của nghiệm xấp xỉ
32
Đồ án 1
Phương pháp Seidel áp dụng cho phương trình x Bx g với B bij nn .
nghiệm duy nhất v của x Bx g x. Hơn nữa có đánh giá sai số:
1
v k v* v 1 v 0
1 B
Trong đó:
i
max với ai bi1 bi 2 bii 1 , i bii 1 bin .
in i
5.3.3 Code chương trình:
subroutine Gauss_Seidel(a,f,x,n)!!!! lap cai tien
!implicit none
integer n
double precision a(n,n)
double precision f(n), x(n),x0(n)
integer i,j,k
real::eps
i=0
eps=0.00001
! bien doi a ve bx + g
do i = 1, n
f(i) = f(i)/a(i,i)
do j = 1, n
if(i/=j) then
if(a(i,i) /= 0 .and. abs(a(i,i)) >= abs(a(i,j)))
33
Đồ án 1
then
a(i,j) = a(i,j)/a(i,i)
else
write(*,*) "ma tran da cho khong hoi tu"
return
end if
end if
end do
a(i,i) = 0
end do
i=1
!!!!!!!!!!!!!!!!!!!!! giai tim x(n)
do while (.true.)
x0=x
do j=1,n
c=0.0
do k=1,n
c=a(j,k)*x(k)+c
end do
x(j)=-c+f(j)
end do
if(chuanmax(x-x0,n)<eps) then
write (*,*)" nghiem cua phuong trinh theo
Gauss Seidel"
write (*,201)(x(k),k=1,n)
write(*,*)"so lan lap", i
return !!!!! thoat khoi vong lap, chuong trinh
khi tim ra nghiem
end if
34
Đồ án 1
i = i+1
end do
201 format (6f12.5)! làm tròn chu so thu 5
end subroutine
Chú thích: Hàm chuanmax() ở đây được định nghĩa như trên thuật toán Jacobi.
5.3.4 Chạy thử và nhận xét
Chạy thử:
Nhận xét: Đối với phương pháp Gauss-Seidel hay còn được gọi là phương pháp
lặp cải tiến với các ưu điểm sau: sử dụng ít bộ nhớ máy, thời gian, tốc độ hội tụ về
nghiệm nhanh hơn phương pháp jacobi. Và cũng mắc phải những nhược điểm như
phương pháp jacobi về độ hội tụ của bài toán đã cho.
35
Đồ án 1
6. Ứng dụng
Bài toán giải hệ phương trình tuyến tính có rất nhiều ứng dụng trong thực tế bao gồm
cả ứng dụng trong kinh doanh cũng như ứng dụng trong kĩ thuật. Một trong những ứng
dụng thường được nhắc đến là:
6.1 Điều Khiển Lưu Lượng Giao Thông
Vào giờ cao điểm, vấn đề kẹt xe thường bắt gặp tại các đoạn đường giao nhau như trong
hình. Cả thành phố muốn cải thiện tín hiệu giao thông tại các góc đường để cải thiện lưu
lượng giao thông. Tất cả các con đường đều là một chiều và hướng đi của các con đường
được chỉ bởi các mũi tên.
Dữ liệu thu thập được: Các kĩ sư thiết kế giao thông đã thu thập được các thông tin sau:
1. Góc A:
Có 700 xe mỗi giờ đổ xuống Spruce Street đến giao điểm A.
Có 300 xe mỗi giờ đổ xuống 9th Street đến giao điểm A.
2. Góc B:
Có 200 xe mỗi giờ rời khỏi giao điểm B trên Spruce Street.
36
Đồ án 1
Có 900 xe mỗi giờ rời khỏi giao điểm B tên 10th Street.
3. Góc C:
Có 400 xe mỗi giờ tiến vào Pine Street đến giao điểm C.
Có 300 xe mỗi giờ đổ xuống 10th Street đến giao điểm C.
4. Góc D:
Có 200 xe mỗi giờ rời khỏi giao điểm D trên Pine Street.
Có 400 xe mỗi giờ rời khỏi giao điểm D trên 9th Street đến giao điểm
A.
Gọi x1 là số xe rời khỏi góc A trên Spruce Street tiến đến góc B.
Gọi x2 là số xe tiến đến góc B trên 10th Street từ góc C.
Gọi x3 là số xe rời khỏi góc C trên Pine Street tiến đến góc D.
Gọi x4 là số xe tiến đến góc D trên 9th Street từ góc A.
Giải pháp: Ta giả thuyết như sau:
37
Đồ án 1
a) Để tăng tốc lưu lượng giao thông của mỗi xe tiến đến một giao điểm
cũng đồng thời rời khỏi, do đó tại mỗi góc số lượng xe tiến đền cũng
phải bằng với số lượng xe rời khỏi.
b) Tất cả các con đường là một chiều.
c) Tất cả các biến x1 , x2 , x3 và x4 đều chắc chắn là số nguyên vì nó biểu
thị cho số lượng xe.
Phương Trình: sử dụng giả thuyết a) cho mỗi góc chúng ta có được phương trình sau:
Tại góc A Tại góc B Tại góc C Tại góc D
Bốn phương trình trên tạo thành một hệ phương trình đại số tuyến tính có thể giải
được bằng phương pháp Gauss:
x1 x4 1000
x x2 1100
1
x2 x3 700
x3 x4 600
Tính toán đúng điện áp tại mỗi nhánh cũng như tại mỗi nút của dòng điện giúp cho
38
Đồ án 1
Các dầm được nối với nhau bằng chân mịn màng, và sự hỗ trợ được gắn chặt để họ
không thể di chuyển. Một phân tích đơn giản, bằng cách sử dụng phương pháp của các
khớp xương, giả định rằng các lực lượng bên ngoài sẽ chỉ hoạt động ở các khớp, và
rằng các tia sáng là hoàn toàn cứng nhắc. Điều này cho phép chỉ có lực lượng theo chiều
dọc trong các dầm. Với những giả định, các giàn là ổn định khi và chỉ khi các thành
phần dọc và ngang của các lực bằng 0.
39
Đồ án 1
Hệ phương trình đại số tuyến tính giúp cho tính toán chính xác của các hệ vật.
Các con số đại diện cho nhiệt độ (theo độ C) của ranh giới. Kỹ sư quan tâm muốn
biết sự phân bố nhiệt độ bên trong tấm trong một thời gian nhất định để họ có thể xác
định ứng suất nhiệt mà tấm phải chịu. Giả sử nhiệt độ ranh giới được tổ chức liên tục
trong khoảng thời gian cụ thể, nhiệt độ bên trong các tấm sẽ đạt trạng thái cân bằng
nhất định sau một thời gian đã trôi qua. Việc tìm kiếm này phân bố nhiệt độ cân bằng
tại các điểm khác nhau trên các tấm là mong muốn, nhưng vô cùng khó khăn. Tuy
nhiên, người ta có thể xem xét một vài điểm trên tấm và khoảng nhiệt độ của các điểm.
40
Đồ án 1
KẾT LUẬN
Với những phương pháp tính giá trị xấp xỉ được liệt kê ở trên chúng em có đưa ra
nhận xét sau:
Phương pháp Gauss thực hiện chính xác các phương trình có số ẩn thấp song với
những phương trình có số ẩn lớn phương pháp này không còn chính xác nữa, phương
pháp phân rã LU cũng như phương pháp Gauss nhưng số lần lập giảm xuống đáng kể,
giảm thời gian chạy của chương trình xuống gần một nữa thời gian đối với phương pháp
Gauss. Đối với các phương pháp lặp thì ưu điểm là thời gian chạy và tiết kiệm bộ nhớ
của chương trình đối với các hệ phương trình lớn. Nhưng những có sổ ẩn thấp thì ta
không nên sử dụng phương pháp này vì thời gian chạy khá lâu.
Phương pháp ba đường chéo chính chỉ áp dụng cho trường hợp đặc biệt.
Với phương pháp xấp xỉ chúng em đã đưa ra được ưu, nhược điểm của từng phương
pháp, sử dụng phương pháp nào đối với từng trường hợp cụ thể để tránh lãng phí bộ
nhớ máy cũng như thời gian chạy của từng chương trình. So sánh được thời gian chạy
từng chương trình đối với từng thuật toán.
Bên cạnh đó chúng em chưa có đủ thời gian để xây dựng đầy đủ hơn các phương
pháp tính giá trị xấp xỉ khác, từ lúc thuật toán đưa ra cho tới khi chương trình thực hiện
khá lâu dẫn đến thiếu những thuật toán quang trọng như Gauss Jordan...
Với đề tài là “tính gần đúng nghiệm của một phương trình đại số tuyến tính” chúng
em còn mong muốn đề tài phát triển hơn nữa giúp ích cho tính toán lưu lượng lưu thông
trên các đoạn đường trong nội thành hay đơn giản hơn là tính gần đúng giá trị xấp xỉ
của ma trận nghịch đảo....
41
Đồ án 1
42