Bài giảng Phương pháp số - Chương 6: Giải gần đúng phương trình vi phân

MỤC ĐÍCH, YÊU CẦU

Sau khi học xong chương 3, yêu cầu sinh viên:

1. Hiểu được vai trò và tầm quan trọng của bài toán giải gần đúng phương trình vi phân.

2. Nắm được các phương pháp tìm nghiệm gần đúng của phương trình vi phân.

3. Biết cách áp dụng các phương pháp trên vào việc giải quyết các bài toán thực tế.

4. Biết cách đánh giá sai số của từng phương pháp.

pdf 25 trang dienloan 4660
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Phương pháp số - Chương 6: Giải gần đúng phương trình vi phân", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Bài giảng Phương pháp số - Chương 6: Giải gần đúng phương trình vi phân

Bài giảng Phương pháp số - Chương 6: Giải gần đúng phương trình vi phân
Chương 6: Giải gần đúng các phương trình vi phân 
CHƯƠNG 6 
GIẢI GẦN ĐÚNG PHƯƠNG TRÌNH VI PHÂN 
MỤC ĐÍCH, YÊU CẦU 
Sau khi học xong chương 3, yêu cầu sinh viên: 
1. Hiểu được vai trò và tầm quan trọng của bài toán giải gần đúng phương trình vi phân. 
2. Nắm được các phương pháp tìm nghiệm gần đúng của phương trình vi phân. 
3. Biết cách áp dụng các phương pháp trên vào việc giải quyết các bài toán thực tế. 
4. Biết cách đánh giá sai số của từng phương pháp. 
6.1. MỞ ĐẦU 
Nhiều bài toán khoa học kỹ thuật dẫn về việc tìm nghiệm phương trình vi phân thỏa mãn 
một số điều kiện nào đó. Những phương trình vi phân mô tả những hệ cơ học, lý học, hóa học, 
sinh học nói chung rất phức tạp, không hy vọng tìm lời giải đúng. 
Trong chương này ta nghiên cứu bài toán đơn giản nhất của phương trình vi phân là bài 
toán Cauchy đối với phương trình vi phân cấp 1 như sau: 
Hãy tìm hàm y=y(x) thỏa mãn: 
 y'(x) = f(x,y) x∈ [a,b], x0 = a (6.1) 
 y(x0) =y0 (6.1b) 
Điều kiện (6.1b) được gọi là điều kiện ban đầu hay điều kiện Cauchy. 
Tương tự, bài toán Cauchy đối với phương trình vi phân cấp n được mô tả như sau: 
Hãy tìm hàm y=y(x) thỏa mãn: 
 y(n) = f(x,y,y',y(2),...,y(n-1)) (6.2) 
 y(x0) =α0, y'(x0) =α1, y(2)(x0) = α2, ..., y(n-1)(x0)=αn-1 
trong đó f() là một hàm đã biết của n+1 đối số x,y,y',y(2),...,y(n-1); x0, b, α0, α1 ..., αn-1 là 
những số cho trước. 
(6.1) còn được mở rộng cho hệ thống các phương trình vi phân cấp một với bài toán Cauchy 
chư sau: 
 y1' = f1(x,y1, y2,..., yn) 
 y2' = f2(x,y1, y2,..., yn) 
 . . . (6.3) 
 yn' = fn(x,y1, y2,..., yn) 
 99
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Chương 6: Giải gần đúng các phương trình vi phân 
 y1(x0) =α1, y2(x0) = α2, . . ., yn(x0)=αn 
 x ∈[a,b], x0 = a 
Nếu đặt 
 α = [α1, α2,..., αn]T 
 y = [y1, y2,..., yn]T 
 y = [y'1, y'2,..., y'n]T 
 f = [f1, f2,..., fn]T 
Bài toán (6.3) có thể viết gọn hơn dưới dạng vectơ như sau: 
 y = f (x, y), x∈ [a,b], x0 = a 
 y (x0) = α 
Ghi chú. Phương trình vi phân cấp n có thể đưa về hệ các phương trình vi phân cấp một 
bằng phép biến đổi 
y1 =y, y2 =y' ,. . ., yi =y(i-1 ,. . ., yn = y(n-1)
Nói chung có hai nhóm phương pháp để giải các phương trình vi phân thường: 
Phương pháp tìm nghiệm chính xác: bằng cách dựa vào cách tính tích phân trực tiếp, xác định 
được dạng tổng quát của nghiệm rồi dựa vào điều kiện ban đầu để xác định nghiệm riêng cần tìm. 
Phương pháp tìm nghiệm gần đúng xuất phát từ điều kiện ban đầu. Phương pháp này có thể 
áp dụng cho một lớp phương trình vi phân rộng hơn rất nhiều so với phương pháp trực tiếp, do đó 
được dùng nhiều trong thực tế. 
Trong phần tiếp theo ta sẽ tập trung vào nhóm phương pháp thứ hai. 
6.2. PHƯƠNG PHÁP EULER 
Trở lại bài toán 
 y'(x) = f(x,y) x∈ [a,b], x0 = a (6.4) 
 y(x0) =y0 
Cách giải gần đúng (6.4) là tìm các giá trị gần đúng yi của giá trị đúng y(xi) tại các điểm 
xi, i = 0,1,2,... n, trong đó 
 a = x0 < x1 < . . . < xn = b 
 xi = x0 + ih, i=0,1,...,n-1 
 h = 
n
ab − 
Ta đã biết y0 =α0, ta sẽ lần lượt xác định y1 tại x1, rồi y2 tại x2, và nói chung từ giá trị gần 
đúng yi tại xi ta sẽ tính yi+1 tại xi+1. 
Phương pháp Euler cũng như một vài phương pháp sẽ được trình bày sẽ dựa vào giả thiết 
sau đây (cho dù giả thiết này nói chung không thể kiểm tra được) 
Giả thiết rằng bài toán (6.4) có nghiệm duy nhất y = y(x), x∈ [a,b], a = x0, và nghiệm y(x) 
đủ trơn, nghĩa là nó có đạo hàm đến cấp đủ cao. (6.5) 
 100 
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Chương 6: Giải gần đúng các phương trình vi phân 
Ta khai triển Taylo nghiệm y(x) của (6.4) tại xi
y(x) = y(xi) + !1
ixx − y'(xi) + 
!2
)( 2ixx − y''(ci) , ci ∈ (xi,x) (6.5) 
Thay x = xi+1 = xi + h, y'(xi) = f(xi,y(xi)) vào đẳng thức trên ta có 
y(xi+1) = y(xi) + h f(xi,y(xi)) + 
2
2h y''(ci), ci ∈ (xi,xi+1) (6.6) 
Bỏ qua số hạng cuối cùng bên phải, đồng thời thay các giá trị đúng y(xi+1), y(xi), 
f(x,y(xi)) bằng các giá trị xấp xỉ yi+1, yi, f(x,yi) vào (6.6) ta có 
yi+1 = yi + h f(xi,yi) (6.7) 
Với giá trị y0 = y(x0) = α0 ban đầu (như vậy y0 là giá trị đúng của y(x0)), ta có thể tính tiếp 
các giá trị yi , i =1,2, ..., n. 
Công thức (6.7) được gọi là công thức Euler. Công thức này cho ta cách tính yi+1 khi đã biết 
yi mà không phải giải một phương trình nào. Vì vậy phương pháp Euler là một phương pháp hiện. 
Sai số địa phương của phương pháp Euler là 
Ri(h) = y(xi)- yi = 
!2
2h
y''(ci-1) = O(h2) (6.8) 
Người ta chứng minh được rằng: sai số của phương pháp Euler tại điểm xi là 
| yi - y(xi) | ≤ Mh (6.9) 
trong đó M là hằng số không phụ thuộc h. 
Điều này chứng tỏ rằng khi h → 0 thì yi → y(xi) tại mọi điểm xi cố định. Tuy nhiên việc 
xác định giá trị M rất phức tạp. Vì vậy trong thực hành người ta thường làm như sau: Quá trình 
tính được chia làm nhiều bước, khoảng cách giữa các điểm xi và xi+1 ở bước sau sẽ là một nửa 
khoảng cách của bước trước, tức là hk+1 =hk/2 . Nếu gọi lần đầu tiên với h= n
ab − ta gọi là lần 
thứ 0 với n+1 điểm chia thì tại lần thứ k+1 sẽ có n.2k+1 +1 điểm chia. Trong số điểm chia này thì 
có n.2k +1 điểm chia trùng với lần thứ k. Các điểm trùng đó là 0,2,4,..., n.2k+1. Tại các điểm chia 
này ta có ở lần thứ k giá trị xấp xỉ của yi là yi(k), còn ở lần thứ k+1 thì giá trị xấp xỉ giá trị y tại 
vị trí này lại là y2i(k+1). Ta xét đại lượng sau 
maxdiff = | y
i
max 2i (k+1) - y i (k) |, i=0,1,2,...,n.2k
Và sẽ dừng quá trình tính toán nếu maxdiff nhỏ hơn giá trị ε khá nhỏ cho trước. 
Ta có thể mô tả thuật toán Euler để cài đặt trên máy tính theo các bước sau: 
a.Thuật toán cho một lần chia khoảng duy nhất. 
 Nhập a, b , y0 và n. 
 Đặt h = 
n
ab − , x0 = a. 
 Với i =1,2,..., n tính 
 101
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Chương 6: Giải gần đúng các phương trình vi phân 
 yi = yi-1 + hf(xi-1,yi-1) 
 xi = xi-1 + h 
b.Thuật toán cho nhiều lần chia khoảng. 
- Bước 0: Nhập a, b , y0 , kmax và ε>0. 
 Đặt h0 = n
ab − , = a , = y)0(0x )0(0y 0 
 Tính = + hf( , ), = + h)0(iy
)0(
1−iy
)0(
1−ix
)0(
1−iy
)0(
ix
)0(
1−ix 0 , i = 1,2,...,n 
- Bước 1: 
Đặt h1 = 2
0h , = a , = y)1(0x
)1(
0y 0
 Tính = + hf( , ), = + h)1(iy
)1(
1−iy
)1(
1−ix
)1(
1−iy
)1(
ix
)1(
1−ix 1 , i = 1,2,...,n.2 
d1 = | y
i
max 2i (1) - y i (0) |, i=0,1,2,...,n 
Nếu d1 <ε thì dừng thuật toán và lấy mẫu (x0,y0), (x1,y1), ..., (x2n,y2n) làm nghiệm 
xấp xỉ. 
Nếu 2 điều trên đây không xẩy ra thì chuyển qua bước (3). 
 ... 
- Bước k: 
Đặt hk = 2
1−kh , = a , = y)(0
kx )(0
ky 0
Tính = + hf( , ), = + h)(kiy
)(
1
k
iy −
)(
1
k
ix −
)(
1
k
iy −
)(k
ix
)(
1
k
ix − k , i = 1,2,...,n.2
k 
dk = | y
i
max 2i (k) - y i (k-1) |, i=0,1,2,...,n.2k-1 
Nếu dk <ε thì dừng thuật toán và lấy mẫu (x0,y0), (x1,y1), ..., (xN,yN), trong đó N = n.2k 
làm nghiệm xấp xỉ. 
Nếu k ≥ kmax thì thông báo phép lặp chưa hội tụ và cũng dừng thuật toán. 
Nếu 2 điều trên đây không xẩy ra thì chuyển qua bước (k+1). 
c.Chương trình cài đặt thuật toán Euler: 
//EULER.CPP 
/*Phuong phap Euler giai gan dung phuong trinh vi phan y'=f(x,y)*/ 
#include "zheader.cpp" 
#define kmax 17 
const double epsi=1.0E-02; 
double g(double,double);//a=0,b=1 
double yg(double);//La nghiem dung y=y(x) cua phuong trinh y'=g(x,y) 
 102 
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Chương 6: Giải gần đúng các phương trình vi phân 
int euler(double (*f)(double,double),double (*yf)(double)); 
/*Phuong phap Euler giai phuong trinh vi phan tren [a,b]. 
 y'(x)=f(x,y), y(x0)=y0. 
 Neu buoc lap vuot qua kmax thi tra ve false 
 Ham yf la nghiem dung de so sanh*/ 
//=============================================== 
double g(double x,double y) 
 {return x*y/2; 
 } 
//=============================================== 
double yg(double x) 
 {return exp(x*x/4); 
 } 
//=============================================== 
//Ham de tim y(x). 
int euler(double (*f)(double,double),double (*yf)(double)) 
 {clrscr(); 
 double a,b,h,maxdiff,x[kmax],y[kmax],y1[kmax];int n,m,i; 
 cout>a; 
 cout>b; 
 cout>y[0]; 
 n=1; 
 h=b-a; 
 x[0]=a; 
 y[1]=y[0]+h*f(x[0],y[0]); 
 do 
 {for(i=0;i<=n;i++) y1[i]=y[i];//Gan y1=y de bat dau tinh y moi 
 m=n; 
 n=n*2; 
 h=h/2; 
 for(i=0;i<n;i++) 
 {x[i+1]=x[i]+h; 
 y[i+1]=y[i]+h*f(x[i],y[i]); 
 } 
 maxdiff=0; 
 103
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Chương 6: Giải gần đúng các phương trình vi phân 
 for(i=0;i<=m;i++) 
 maxdiff=maxdiff<fabs(y[2*i]-y1[i])?fabs(y[2*i]-y1[i]):maxdiff; 
 if(maxdiff>epsi&&2*n>kmax-1) 
 {cout<<endl<<"Chua hoi tu voi "<<n<<" khoang chia"; 
 delay(1000);break; 
 } 
 } 
 while(maxdiff>epsi); 
 cout<<endl<<" i x[i] y[i] y(x[i])"; 
 for(i=0;i<=n;i++) 
 {cout<<endl<<setw(4)<<i; 
 cout<<setw(10)<<setprecision(2)<<x[i]; 
 cout<<setw(10)<<setprecision(4)<<y[i]; 
 cout<<setw(10)<<setprecision(4)<<yf(x[i]); 
 } 
 cout<<endl<<endl<<"So khoang chia :"; 
 cout<<setw(10)<<n; 
 cout<<endl<<"Sai so |y[i]-y(x[i])| cuc dai:"; 
 cout<<setw(10)<<setprecision(4)<<maxdiff; 
 //================Ghi vao tep EULER.DAT 
 FILE *fp; 
 fp=fopen("EULER.DAT","wt"); 
 fprintf(fp," i x[i] y[i] y(x[i])"); 
 for(i=0;i<=n;i++) 
 {fprintf(fp,"\n%4d",i); 
 fprintf(fp,"%10.2f",x[i]); 
 fprintf(fp,"%10.4f",y[i]); 
 fprintf(fp,"%10.4f",yf(x[i])); 
 } 
 fprintf(fp,"\n\nSo khoang chia : %4d",n); 
 fprintf(fp,"\nSai so |y[i]-y(x[i])| cuc dai: %10.4f",maxdiff); 
 fclose(fp); 
 getch(); 
 clrscr(); 
 104 
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Chương 6: Giải gần đúng các phương trình vi phân 
 if(n>kmax) return false; 
 else return true; 
 } 
//=============================================== 
void main() 
 {char mchon; 
 while(true) 
 {clrscr(); 
 gotoxy(20,2);cout<<"PHUONG PHAP EULER"; 
 gotoxy(2,2); 
 cout<<endl<<" 1. Giai phuong trinh vi phan "; 
 cout<<endl<<" z. Ket thuc"; 
 cout z de chon"; 
 mchon=toupper(getch()); 
 if(mchon=='Z') break; 
 switch(mchon) 
 {case '1':clrscr(); 
 euler(g,yg); 
 break; 
 } 
 gotoxy(2,22); 
 cout<<"Nhan phim bat ky de tiep tuc"; 
 getch(); 
 } 
 } 
Nhận xét. 
Ưu điểm của phương pháp Euler là tính toán đơn giản, nhưng nhược điểm là độ chính xác thấp. 
Khi ta giảm bước h thì độ chính xác tăng lên và sai số tích lũy cũng tăng lên. Để giảm sai số tích luỹ, 
trong chương trình tính toán trên máy tính ta nên dùng các đại lượng có độ chính xác gấp đôi. 
Phương pháp Eurler có thể áp dụng cho hệ thống phương trình vi phân cấp một (6.3). 
Sử dụng các ký hiệu như trong (6.3) ta có công thức Euler giải bài toán Cauchy có dạng sau: 
 y0 = y(x0) = α 
 yi+1 = yi + h f(xi,yi ), i=0,1,2,...,n-1 (6.10) 
Đối với hệ thống hai phương trình vi phân cấp một: 
 105
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Chương 6: Giải gần đúng các phương trình vi phân 
y' = f1(x,y,z) 
z' = f2(x,y,z) 
với điều kiện ban đầu: 
y(x0) =α1 , z(x0) =α2 
Công thức (6.8) có dạng sau: 
y0 = y(x0) =α1 , z0 = z(x0) =α2 
yi+1 = yi + hf1(xi, yi, zi) 
zi+1 = zi + hf2(xi, yi, zi) i=0,1,...,n-1 (6.11) 
Ví dụ. 
Cho hệ thống phương trình vi phân cấp một: 
y' = (z-y)x 
z' = (z+y)x 
Với điều kiện ban đầu: y(0)=z(0)=1. 
Hẵy tìm nghiệm gần đúng bằng phương pháp Euler trên khoảng [0,0.6] với bước h=0.1. 
Giải: 
Ta có xi = 0.1i, i=0,1,2,...,6. 
Xuất phát từ y(0)=z(0)=1, áp dụng (6.11) ta nhận được kết quả tính toán sau: 
i xi yi f1(xi, yi, zi) hf1(xi, yi, zi) zi f2(xi, yi, zi) hf2(xi, yi, zi) 
0 0 1.0000 0 0 1.0000 0 0 
1 0.1 1.0000 0 0 1.0000 0.2000 0.0200 
2 0.2 1.0000 0.0040 0.0004 1.0200 0.4040 0.0404 
3 0.3 1.0004 0.0180 0.0018 1.0604 0.6182 0.0618 
4 0.4 1.0022 0.0480 0.0048 1.1222 0.8498 0.0850 
5 0.5 1.0070 0.1001 0.0100 1.2072 1.1071 0.1107 
6 0.6 1.0170 1.3179 
6.3.PHƯƠNG PHÁP EULER CẢI TIẾN 
Để tăng độ chính xác của phương pháp Euler người ta làm như sau: 
Theo công thức Newton-Lepnitz, ta có 
y(x2) - y(x1) = y'(x)dx ∫2
1
x
x
 Tính gần đúng tích phân xác định ở vế phải bằng công thức hình thang ta có: 
∫2
1
x
x
y'(x)dx ≈ 
2
h [y'(x1)+y'(x2)] = 
2
h [f(x1,y(x1)) + f(x2,y(x2)], trong đó h=x2-x1 
 106 
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Chương 6: Giải gần đúng các phương trình vi phân 
Thay x1 bằng xi, x2 bằng xi+1, ta có 
yi+1 = yi + 
2
h [f(xi,yi) + f(xi+1,yi+1)] , i=0,1,...,n-1 (6.12) 
với y0 =α . 
Người ta đã chứng minh được rằng sai số của (6.12) tại điểm xi là: 
 | yi - y(xi) | ≤ Mh2 
trong đó M là hằng số không phụ thuộc h. 
Vậy công thức (6.12) chính xác hơn công thức Euler. Tuy nhiên nó có nhược điểm là yi+1 
xuất hiện cả ở vế phải. Như vậy khi đã biết yi ta vẫn còn phải giải một phương trình đại số phi 
tuyến đối với yi+1 (nếu f(x,y) phi tuyến đối với y). Vì vậy đây là một phương pháp ẩn. Người ta đã 
cải tiến phương pháp (6.12) bằng cách phối hợp (6.12) với phương pháp Euler như sau: 
y0 =y(x0) đã biết 
Với i =1, 2,... n ta tính 
z = yi-1 + hf(xi-1,yi-1) 
yi = yi-1 + 
2
h [f(xi-1,yi-1) + f(xi,z)] (6.13) 
i=0,1,...,n-1, m=1,2,... 
Công thức (6.13) được gọi là công thức Euler cải tiến. Như vậy trong (6.13) đầu tiên người 
ta dùng công thức Euler để ước lượng giá trị của yi (được ký hiệu là z) và dùng z để tính 
yi = yi-1 + 
2
h [f(xi-1,yi-1) + f(xi,z)] 
Ta có thể mô tả thuật toán Euler cải tiến để cài đặt trên máy tính theo các bước sau: 
a.Thuật toán cho một lần chia khoảng duy nhất. 
 Nhập a, b , y0 và n. 
 Đặt h = 
n
ab − , x0 = a. 
 Với i =1,2,..., n tính 
 z = yi-1 + hf(xi-1,yi-1) 
 yi = yi-1 + 
2
h [f(xi-1,yi-1) + f(xi,z)] 
 xi = xi-1 + h 
b.Thuật toán cho nhiều lần chia khoảng. 
- Bước 0: Nhập a, b , y0 , kmax và ε>0. 
 Đặt h0 = n
ab − , = a , = y)0(0x )0(0y 0 
 Với i = 1, 2,... tính 
 107
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Chương 6: Giải gần đúng các phương trình vi phân 
)0(
ix = + h
)0(
1−ix 0 
 z = + h)0( 1−iy 0f( , ) 
)0(
1−ix
)0(
1−iy
)0(
iy = + 
)0(
1−iy 2
0h [f( , ) + f( ,z)] )0( 1−ix
)0(
1−iy
)0(
ix
- Bước 1: Đặt h1 = 2
0h , = a , = y)1(0x
)1(
0y 0 
 Với i = 1, 2,... tính 
)1(
ix = + h
)1(
1−ix 1 
 z = + h)1( 1−iy 1f( , ) 
)1(
1−ix
)1(
1−iy
)1(
iy = + 
)1(
1−iy 2
1h [f( , ) + f( ,z)] )1( 1−ix
)1(
1−iy
)1(
ix
d1 = | y
i
max 2i (1) - y i (0) |, i=0,1,2,...,n 
Nếu d1 <ε thì dừng thuật toán và lấy mẫu (x0,y0), (x1,y1), ..., (x2n,y2n) làm nghiệm xấp xỉ. 
Nếu 2 điều trên đây không xẩy ra thì chuyển qua bước (3). 
 ... 
- Bước k: Đặt hk = 2
1−kh , = a , = y)(0
kx )(0
ky 0 
 Với i = 1, 2,... tính 
)(k
ix = + h
)(
1
k
ix − k 
 z = + h)( 1
k
iy − kf( , ) 
)(
1
k
ix −
)(
1
k
iy −
)(k
iy = + 
)(
1
k
iy − 2
kh [f( , ) + f( ,z)] )( 1
k
ix −
)(
1
k
iy −
)(k
ix
dk = | y
i
max 2i (k) - y i (k-1) |,  ... các chữ số đáng tin trong các số a,b là: 
 a) 2 ; b) 4 
4. Số những chữ số đáng tin trong các số a là: 
 a) 3 ; b) 1 
 Các số qui tròn với 3 chữ số có nghĩa đáng tin, sai số tuyệt đối Δ và sai số tương đối δ 
của chúng là: 
a) 2,15 ∆ = -0,14.10-2 ; δ = 0,65.10-3
b) 0,162 ∆ = 0,48.10-3 ; δ = 0,3.10-2 
c) 0,0120 ∆ = 0,4.10- 4 ; δ = 0,33.10-2 
d) –0,00153 ∆ = 0,19.10 - 5 ; δ = 125.10-26. 
5. Giá trị của các hàm số, sai số tuyệt đối và sai số tương : 
 a) u = 0,81 ∆u = 0,27.10-2 ; δ u = 0,33.10-2
 b) u = 3,665 ∆ u = 0,7.10-2 ; δ u = 0,20.10-2
CHƯƠNG 2 
1. Tính và kiểm tra bằng chương trình định thức của ma trận 
+ Dựa vào thuật toán Gauss đã được mô tả bằng ngôn ngữ lập trình C để hoàn thiện 
chương trình để tính định thức. 
+Det A=52 
2. Tìm và kiểm tra bằng chương trình nghịch đảo của ma trận 
+ Ma trận nghịch đảo là: 
 115
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Hướng dẫn trả lời 
A-1 = 
⎥⎥
⎥
⎦
⎤
⎢⎢
⎢
⎣
⎡
−−
−−
−
796
111
564
+ Dựa vào thuật toán khử Gauss-Jordan đã được mô tả bằng ngôn ngữ lập trình C để 
hoàn thiện chương trình tìm ma trận nghịch đảo. 
3. Nghiệm của hệ phương trình là: 
 x1=1;x2=2;x3=3 
4. Giải bằng các phương pháp khử Gauss, khử Gauss-Jordan, phương lặp Jacobi và lặp 
Gauss-Seidel (nếu thỏa mãn điều kiện) : 
+ Phương pháp Gauss x=(-2,09;3,977;1,451;-2,401) 
+ Phương pháp Gauss-Jordan x=(-2,057;3,976;1,451;-2,401) 
+Hệ phương trình đã cho không thoả mãn tính chất đường chéo trội 
+ Phần viết chương trình: Xem phần đoạn chương trình chính thể hiện thuật toán 
Gauss - Seidel để hoàn thiện chương trình với dữ liệu cụ thể trong bài toán. 
5. Giải bằng các phương pháp lặp hệ phương trình sau: 
+Phương pháp lặp jacobi qua 3 bước lặp; x(3)≈(1,01;-2,008;3,045) 
+Phương pháp lặ Gauss Seidel qua 3 bước lặ; x(3)≈(1;-2;3) 
CHƯƠNG 3 
1. Đa thức nội suy Newton tiến xuất phát từ nút 3,50 là: 
p 3 (x) | x = 3,50 + 0,05t 
= 33,115 + 1,698 t + 0,0435 t ( t – 1 ) + 0,00083 t ( t - 1)(t - 2) 
2. Tích phân xác xuất 
 Φ ( 1,43 ) ≈ 0,95686 
3. Cho hàm số y = ex tại x = 0,65 + 0,1i i=0,1,...,5 tuần tự là 1,91554; 2,11700; 2,33965; 
2,58571; 2,85765; 3,15819. Tính ln2. 
 Ln 2 = 0,693148 
4. Công thức y biểu diễn qua x là: 
 y = 5,045 - 4,043x + 1,009 x 2 
5. Xác định gía trị của sai số khi x = 12030'. 
R(12030’) ≈9,094.10-10 
6. Các đa thức xấp xỉ có dạng tương ứng là: 
Y=6,373+0,471x 
Y=6,36+0,468x+0,0001786x2
Y=2,15x1,31
 116 
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Hướng dẫn trả lời 
CHƯƠNG 4 
(Gợi ý) 
5. Tìm 1 khoảng phân ly nghiệm bất bỳ thoả mãn phương trình. Ví dụ[0,Π/2] 
- Tìm hàm Ψ(x)=1/2sinx+0,25 
- Xét đạo hàm Ψ’(x). Nếu Ψ’(x)<1 thì thực hiện quá trình lặp theo thuật toán xn=Ψ(xn-
1), với x0=0 qua 4 lần lặp ta sẽ tìm được x1,x2,x3,x4 
6. Tìm 1 khoảng phân ly nghiệm bất bỳ thoả mãn phương trình. Ví dụ[1,2] 
Áp dụng phương pháp chia đôi ta có bảng giá trị xn=(an+bn )/2 và các khoảng phân ly mới 
[an,bn] tương ứng qua các bước lặp sau: 
N an 
bn Xn=(an+bn)/2 f(xn) 
0 
1 
2 
3 
4 
1 
1 
1.25 
1.25 
1.3125 
2 
1.5 
1.5 
1.375 
1.375 
1.5 
1.25 
1.375 
1.3125 
1.34375 
0.875 
-0.29 
0.22 
-0.05 
0.08 
 ⇒ x4 ≈ 1.34375 
sai số: ⏐x4-α⏐ ≤ ⏐(b0-a0)⏐/25=1/25=0.03125. 
7. Tìm 1 khoảng phân ly nghiệm bất kỳ thoả mãn phương trình. Ví dụ[1,2] 
f’(x)=3x2-1 ⇒ ⏐f’(x)⏐∈[2,11] = [m,M] 
áp dụng phương pháp dây cung ta có bảng giá trị 
xn=(anf(bn)+bnf(an)/(f(bn)-f(an)) và các khoảng phân ly mới [an,bn] tương ứng qua các 
bước lặp sau: 
n an
bn
xn=anf(bn)-bnf(an)/f(bn)-f(an) f(xn) 
0 
1 
2 
3 
4 
1 
1.1667 
1.25313 
1.29395 
1.31129 
2 
2 
2 
2 
2 
1.1667 
1.25313 
1.29345 
1.31129 
1.31889 
-0.57 
-0.285 
-0.1295 
-0.06 
-0.02 
⇒ x4 ≈ 1.31899 
 117
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Hướng dẫn trả lời 
sai số 
⏐x4-α⏐≤ ((M-m)/m)*⏐x4-x3⏐ 
⏐x4-α⏐≤ ((11-2)/2)*⏐1.31899-1.31129⏐=0.03465. 
8. Để tính 5 bằng phương pháp chia đôi thì ta phải đưa về giải gần đúng phương trình 
f(x)=x2-5=0 (1) trên khoảng [2,3] 
áp dụng phương pháp chia đôi ta có bảng giá trị xn=(an+bn )/2 và các khoảng phân ly 
mới [an,bn] tương ứng qua các bước lặp sau 
N an bn xn=(an+bn)/2 f(xn) 
0 
1 
2 
3 
4 
2 
2 
2.25 
2.25 
2.25 
3 
2.5 
2.5 
2.375 
2.3125 
2.5 
2.25 
2.375 
2.3125 
2.28125 
1.25 
0.06 
0.64 
0.34 
0.204 
⇒ x≈x4=2.28125 
⏐x4- 5 ⏐≤ (b0-a0)/25=1/32=0.03125 
CHƯƠNG 5 
1. Cho hàm số y = logx với số các giá trị tại x = 50; 55; 60; 65 tuần tự là 1,6990; 
1,7404;1,7782; 1,8129. Hãy tính đạo hàm của y tại x = 50 và so sánh với kết quả 
trực tiếp: 
Dùng nội suy : y ‘( 50 ) = 0,0087 
 Tính trực tiếp : y’ ( 50 ) = 0,43429/ x |x =5 0 = 0,0087 
2. Cho tích phân 
 I = ∫1
0 x
dx
+1 
 a) 
 b) I = 0,69315 ±0,00002 
3. Cho tích phân 
 I = ∫1
0 x
xsin dx 
 118 
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Hướng dẫn trả lời 
a) n> = 10 
b)Với n = 10 thì sai số < 1,2.10 –7 
c)Theo công thức hình thang : I = 0,9458 
 Theo công thức Simson ta có : I = 0,94608 
CHƯƠNG 6 
1. Giải phương trình sau bằng phương pháp Euler 
 y' = 
2
xy ; x∈ [0,1], y(0) =1; h=0,1 
Áp dụng công thức Euler (6.7) ta có bảng giá trị sau: 
I xi yi
0 0 1 
1 0,1 1 
2 0,2 1,005 
3 0,3 1,0105 
4 0,4 1,030275 
5 0,5 1,05088 
6 0,6 1,07715 
7 0,7 1,109468 
8 0,8 1,148299 
9 0,9 1,194231 
10 1 1,2479715
2. Giải phương trình sau bằng phương pháp Euler 
 y' = x2 + y2 ; x∈ [0,1], y(0) =1; h=0,2 
Áp dụng công thức Euler (6.7) ta có bảng giá trị sau: 
i xi yi
0 0 1 
1 0,2 1,2 
2 0,4 1,496 
3 0,6 1,9756 
4 0,8 2,8282 
5 1 4,5559 
 119
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Hướng dẫn trả lời 
3. Giải phương trình sau bằng phương pháp Runge-Kutta: 
y' = y-2x/y ; x∈ [0,1], y(0) =1; h=0,2 
+ Sử dụng công thức Runge-Kutta có độ chính xác cấp 4 ta có bảng giá trị: 
i xi yi
0 0,0 1 
1 0,2 1,1832292
2 0,4 1,3416668
3 0,6 1,4832847
4 0,8 1,6124665
5 1 1,7320713
4. Giải bài toán sau bằng phương pháp Euler cải tiến và so sánh kết quả với nghiệm đúng: 
y' = y - 
y
x2 ; x∈ [0,1], y(0) =1; h=0,2. 
Gợi ý: Áp dụng công thức Euler cải tiến (6.13) để tìm nghiệm xi=xi-1+h với x0=0, 
sau đó mới so sánh với nghiệm đúng tại các điểm y(0,2), y(0,4), y(0,6), y(0,8), y(1) 
 120 
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Mục lục Tµi liÖu tham kh¶o 
TÀI LIỆU THAM KHẢO 
1. Dương Thùy Vỹ, Phương pháp tính, Nhà xuất bản Khoa học và Kỹ thuật, 2001 
2. Đinh Văn Phong, Phương pháp số trong cơ học, Nhà xuất bản Khoa học và Kỹ thuật, 1999 
3. Lê Trọng Vinh, Giải tích số, Nhà xuất bản Khoa học và Kỹ thuật, 2000. 
4. Phạm Kỳ Anh , Giải tích số, Nhà xuất bản Đại học Quốc gia Hà Nội, 1966. 
5. Phạm Phú Triêm - Nguyễn Bường, Giải tích số, thuật toán, chương trình Pascal, 
Nhà xuất bản Đại học Quốc gia Hà Nội, 2000 
6. Szidarovszky Ferenc, Nhập môn phương pháp số (tiếng Hung), Kozgazdasági és Jogi 
Konyvkiado, Budapest 1974. 
7. Tạ Văn Đỉnh, Phương pháp tính, Nhà xuất bản Giáo dục – 1995 
8. Trần Văn Minh, Phương pháp số và chương trình bằng Turbo Pascal, Nhà xuất bản 
Khoa học và Kỹ thuật, 1998. 
9. Phan Đăng Cầu-Phan Thị Hà, Phương pháp số, Học viện CNBCVT,2002 
 121
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Hướng dẫn trả lời Môc lôc 
MỤC LỤC 
Giíi thiÖu m«n häc...............................................................................................................3 
I. Giíi thiÖu chung.....................................................................................................................3 
II. Môc ®Ých ...............................................................................................................................3 
III. Ph¹m vi nghiªn cøu .............................................................................................................3 
IV. Ph−¬ng ph¸p nghiªn cøu .....................................................................................................4 
Ch−¬ng 1 - Sè xÊp xØ vµ sai sè..........................................................................................5 
Môc ®Ých, yªu cÇu .....................................................................................................................5 
1.1. Tæng quan vÒ ph−¬ng ph¸p sè ............................................................................................5 
1.2. Sai sè tuyÖt ®èi vµ sai sè t−¬ng ®èi.....................................................................................6 
1.3. C¸ch viÕt sè xÊp xØ..............................................................................................................7 
1.4. C¸c quy t¾c tÝnh sai sè ........................................................................................................8 
1.5. Sai sè tÝnh to¸n vµ sai sè ph−¬ng ph¸p ...............................................................................10 
1.6. Sù æn ®Þnh cña mét qu¸ tr×nh tÝnh to¸n...............................................................................11 
1.7. Mét vµi ®iÒu vÒ mèi quan hÖ gi÷a thùc tÕ vµ m« h×nh........................................................11 
Ch−¬ng 2 - C¸c ph−¬ng ph¸p sè trong ®¹i sè tuyÕn tÝnh ................................13 
Môc ®Ých yªu cÇu ......................................................................................................................13 
2.1. Ma trËn vµ ®Þnh thøc...........................................................................................................13 
2.2. HÖ ph−¬ng tr×nh ®¹i sè tuyÕn tÝnh ......................................................................................17 
2.3. Bµi tËp.................................................................................................................................38 
Tãm t¾t néi dung ch−¬ng 2........................................................................................................40 
Ch−¬ng 3 - PhÐp néi suy vµ håi quy..............................................................................42 
Môc ®Ých yªu cÇu ......................................................................................................................42 
3.1. Më ®Çu................................................................................................................................42 
3.2. Néi suy ®a thøc...................................................................................................................44 
3.3. Khíp ®−êng cong - Néi suy Spline.....................................................................................59 
3.4. Ph−¬ng ph¸p b×nh ph−¬ng cùc tiÓu.....................................................................................60 
3.5. Bµi tËp.................................................................................................................................65 
Tãm t¾t néi dung ch−¬ng 3........................................................................................................66 
 122 
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Mục lục 
Ch−¬ng 4 - TÝnh gÇn ®óng nghiÖm cña ph−¬ng tr×nh phi tuyÕn ..................68 
Môc ®Ých yªu cÇu ......................................................................................................................68 
4.1. NghiÖm vµ kho¶ng ph©n ly nghiÖm....................................................................................68 
4.2. Mét sè ph−¬ng ph¸p lÆp gi¶i ph−¬ng tr×nh.........................................................................71 
4.3. Bµi tËp.................................................................................................................................86 
Tãm t¾t néi dung ch−¬ng 4........................................................................................................87 
Ch−¬ng 5 - TÝnh gÇn ®óng ®¹o hµm vµ tÝch ph©n x¸c ®Þnh ............................89 
Môc ®Ých yªu cÇu ......................................................................................................................89 
5.1. TÝnh ®¹o hµm......................................................................................................................89 
5.2. TÝnh gÇn ®óng tÝch ph©n x¸c ®Þnh ......................................................................................91 
5.3. Bµi tËp.................................................................................................................................97 
Tãm t¾t néi dung ch−¬ng 5........................................................................................................98 
Ch−¬ng 6 - Gi¶i gÇn ®óng ph−¬ng tr×nh vi ph©n...................................................99 
Môc ®Ých yªu cÇu ......................................................................................................................99 
6.1. Më ®Çu................................................................................................................................99 
6.2. Ph−¬ng ph¸p Euler............................................................................................................100 
6.3. Ph−¬ng ph¸p Euler c¶i tiÕn ...............................................................................................106 
6.4. Ph−¬ng ph¸p Euler - Cauchy ............................................................................................108 
6.5. Ph−¬ng ph¸p Runge - Kutta..............................................................................................110 
6.6. Bµi tËp...............................................................................................................................113 
Tãm t¾t néi dung ch−¬ng 6......................................................................................................114 
H−íng dÉn tr¶ lêi..............................................................................................................115 
Ch−¬ng 1 .................................................................................................................................115 
Ch−¬ng 2 .................................................................................................................................115 
Ch−¬ng 3 .................................................................................................................................116 
Ch−¬ng 4 .................................................................................................................................117 
Ch−¬ng 5 .................................................................................................................................118 
Ch−¬ng 6 .................................................................................................................................119 
Tµi liÖu tham kh¶o ............................................................................................................121 
 123
CuuDuongThanCong.com https://fb.com/tailieudientucntt

File đính kèm:

  • pdfbai_giang_phuong_phap_so_chuong_6_giai_gan_dung_phuong_trinh.pdf