Tải bản đầy đủ (.docx) (24 trang)

BÀI TẬP LỚN MÔN HỌC PHƯƠNG PHÁP TÍNH đề tài Xấp xỉ hàm bằng phương pháp nội suy

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.1 MB, 24 trang )

TRƯỜNG ĐẠI HỌC KỸ THUẬT CƠNG NGHIỆP
KHOA ĐIỆN TỬ
Bộ mơn: Tin Học Cơng Nghiệp

BÀI TẬP LỚN
MƠN HỌC PHƯƠNG PHÁP TÍNH
Sinh Viên: Nguyễn Văn Hưng
Nguyễn Ngọc Hiếu
Chu Thanh Quyết
Lớp:

55KMT

GVHD:

Nghiêm Văn Tính

Thái Nguyên – 2021


TRƯỜNG ĐHK

KHOA ĐIỆN

BÀI TẬP LỚN
MƠN HỌC: Phương pháp tính

BỘ MƠN : TIN HỌC CƠNG NGHIỆP
Nhóm Sinh viên: Nhóm 5
St
t



MSSV
Họ Tên

1

Nguyễn Ngọc Hiếu

K195480106012

2

Nguyễn Văn Hưng

K195480106008

3

Chu Thanh Quyết

K195480106027

Lớp: 55KMT

Ngành: Kĩ Thuật Máy Tính

Giáo viên hướng dẫn: Nghiêm Văn Tính
Ngày giao đề:

Ngày hồn thành: 17/01/2022


Tên đề tài : Xấp xỉ hàm bằng phương pháp nội suy
PHẦN A: LÝ THUYẾT
Yêu cầu: Trình bầy và thực hiện các cơng việc sau:
1.

Trình bày phương pháp nội suy đa thức Newton
+ Mốc nội suy cách đều


+ Mốc nội suy không cách đều
2.

Vẽ sơ đồ khối của hai phương pháp nội suy trên

PHẦN B: THỰC NGHIỆM
Dùng ngơn ngữ lập trình bất kỳ xây dựng một chương trình gồm các chức năng có
nội dung dưới đây:
1.

Tính giá trị của đa thức bằng phương pháp nội suy Newton có mốc cách đều
và khơng cách đều

2.

Kết quả thực nghiệm trên đa thức với các bậc khác nhau cho mỗi phương
pháp.
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN

GIÁO VIÊN HƯỚNG DẪN

Nghiêm Văn Tính
.....................................................................................................................................
...............................................................................................................................
.....................................................................................................................................
...............................................................................................................................
.....................................................................................................................................
...............................................................................................................................
.....................................................................................................................................
...............................................................................................................................
.....................................................................................................................................
...............................................................................................................................
.....................................................................................................................................
...............................................................................................................................


MỤC LỤC
Lời nói đầu
Phần A: Lý Thuyết ……………………………………………………….
1. Phương pháp nội suy đa thức Newton………………………………...
+ Mốc nội suy cách đều ……………………………………………….
+ Mốc nội suy không cách đều………………………………………………
2. Sơ đồ khối phương pháp nội suy đa Newton………………………….
Phần B: Thực Nghiệm ……………………………………………………
1. Giới thiệu ngơn ngữ lập trình………………………………………….
2. Chương trình thực nghiệm …………………………………………….
3. Kết quả thực nghiệm …………………………………………………………
Kết Luận …………………………………………………………………..


LỜI NĨI ĐẦU

Phương pháp tính là bộ mơn tốn học có nhiệm vụ giải đến kết quả bằng số cho
các bài tốn, nó cung cấp các phương pháp giải cho những bài tốn trong thực tế
mà khơng có lời giải chính xác. Mơn học này là cầu nối giữa tốn học lý thuyết và
các ứng dụng của nó trong thực tế. Trong thời đại tin học hiện nay thì việc áp dụng
các phương pháp tính càng trở nên phổ biến nhằm tăng tốc độ tính tốn.
Sau một thời gian dài học tập, rèn luyện dưới sự dạy bảo nhiệt tính của thầy
Nghiêm Văn Tính. Nhóm em quyết định chọn đề tài “Xấp xỉ hàm bằng phương
pháp nội suy” làm đề tài nghiên cứu. Cụ thể hơn là tìm hiểu về phương pháp nội
suy newton. Bọn em xin cam đoan bài tập lớn này là cơng sức của nhóm em sau
một thời gian dài cùng tìm tịi, nghiên cứu.


PHẦN A: LÝ THUYẾT
Đa thức nội suy Newton
A. Trường hợp các nút nội suy không cách đều.
1. Khái niệm: Tỷ hiệu.

Giả sử hàm số y=f(x) được cho dưới dạng bảng:

Trong

đó:

; và khác nhau , với .
-

Tỷ hiệu cấp một của hàm

tại 2 nút kí hiệu là


-

Tỷ hiệu cấp hai của hàm

tại 3 nút a, b, c kí hiệu là :

.
-



-

Cứ như vậy, tỷ hiệu cấp n của hàm

tại n+1 nút

kí hiệu là :

.

Chú ý:
(1) Các tỷ hiệu của hàm số

có tính chất đối xứng đối với các nút nội suy.


Tức là ta có:

.


(2) Tỷ hiệu cấp n của một hàm đa thức bậc n tại n+1 nút nội suy tùy ý là hằng

số (luôn bằng nhau). Tỷ hiệu cấp

của một đa thức bậc n có giá trị

bằng 0.
Ví dụ A.1.1. Cho hàm số

. Tính tỷ hiệu cấp 3 của hàm

tại

các nút
.
Các tỷ hiệu cấp 2 của hàm

tại các nút trên được tính với kết quả như bảng sau:
A=
B=
C= D=
E=
Vậy :

Lưu ý :

là đa thức bậc hai => các tỷ hiệu cấp 2 của

tỷ hiệu cấp 3 của


đều bằng nhau, các

đều bằng 0.

2. Đa thức nội suy Newton trong TH các nút nội suy không cách đều

Đa thức nội suy Lagrange dễ tính tốn nhưng có nhược điểm là khi thêm một nút
nội suy thì q trình tính cũ phải bỏ đi tất cả và tính lại từ đầu. Dựa vào tỷ hiệu,
Newton đã đưa ra cơng thức tìm đa thức nội suy của hàm
sau:
Từ cơng thức tính tỷ hiệu :
Lại có:
Thay vào (1) ta được:

thuận lợi hơn như


Cứ như vậy ta thu được:

Đặt
.

thì ta có :

.

- Dễ dàng kiểm tra thấy
Vậy


với

xác định bởi (*) là đa thức nội suy của hàm

ứng với n+1 nút nội suy

trên.
Chú ý:


Đa thức nội suy
tiến của hàm

tìm được theo (*) gọi là đa thức nội suy Newton
xuất phát từ nút x0.

Sai số nội suy khi tính giá trị gần đúng của hàm



tại điểm

là :

Xây dựng tương tự, ta có cơng thức xác định đa thức nội suy Newton lùi
của hàm

xuất phát từ nút

Sai số nội suy vẫn là:


là :




Đa thức nội suy của một hàm số

tại n+1 nút nội suy đã cho là duy

nhất, do vậy, đa thức nội suy Newton

, chúng chỉ khác nhau

cách biểu diễn.
Do vậy, nếu hàm
nội suy

có đạo hàm liên tục đến cấp n+1 trên , chứa tất cả các nút

thì sai số nội suy tại điểm có thể đánh giá (theo cách của Lagrange) là:
, với

.

Đa thức nội suy Newton tiến, tiện lợi khi tính gần đúng giá trị của

tại điểm

gần x0. Đa thức nội suy Newton lùi, tiện lợi khi tính gần đúng giá trị của


tại

điểm gần xn .


Nếu thêm một nút nội suy
Newton

thì sau khi tìm được đa thức nội suy

ứng với n+1 nút nội suy

để tìm đa thức nội suy

của hàm f ứng với n+2 nút nội suy

ta chỉ cần bổ

sung thêm nút nội suy mới vào cuối bảng, rồi tính thêm tỷ hiệu cấp n+1
của hàm

và cộng số hạng bậc n+1 vào cuối đa thức nội suy

Tức là :

.

Ví dụ A.2.1. Cho bảng giá trị của hàm số


như sau:

(1) Xây dựng đa thức nội suy Newton tiến từ nút
(2) Tính gần đúng

Giải.
(1) Có 5 nút nội suy, ta có:

.

bằng đa thức nội suy tìm được ở trên.

.


.
Tính các tỷ hiệu của hàm
k

xk

yk

4 7
Vậy

như sau:

Tỷ hiệu cấp Tỷ hiệu cấp Tỷ hiệu cấp Tỷ hiệu cấp
1

2
3
4

1611
.

Hay

Ví dụ A.2.2 : Cho hàm

với bảng giá trị:

(1) Tính gần đúng

bằng đa thức nội suy Newton tiến

xuất phát từ

. Đánh giá sai số của các giá trị tìm được.

(2) Tính gần đúng

từ nút nội suy
(3) Từ đa thức nội suy

đúng
.
Giải.


của hàm

bằng đa thức nội suy Newton lùi Sn(x) của hàm
. Đánh giá sai số của các giá trị tìm được
của hàm

ứng với bảng trên, tính gần


(1) Có 4 nút nội suy (n=3), nên ta có đa thức nội suy Newton tiến của hàm

xuất phát từ x0 là:

Bảng các tỷ hiệu của hàm f(x) như sau:
k

xk

yk

Tỷ hiệu cấp Tỷ hiệu cấp Tỷ hiệu cấp Tỷ hiệu cấp
1
2
3
4

Suy ra :

Vậy


Sai số mắc phải là :

(2) Có

4

nút

nội

suy,

Đa

thức

nội

suy

N

lùi

.
k xk

yk

Tỷ hiệu cấp Tỷ hiệu cấp Tỷ hiệu cấp Tỷ hiệu cấp

1
2
3
4

là:


Suy ra:

Vậy
Sai số mắc phải là :

(3) Bảng giá trị của hàm

là :

Có 4 nút nội suy, nên ta có đa thức nội suy Newton tiến của hàm
xuất phát từ nút y0 là:
Ta tính các tỷ hiệu của hàm g(y) như sau:
k

yk

xk

Tỷ hiệu cấp 1
( )

Vậy


Tỷ hiệu cấp 2

Tỷ hiệu cấp 3


B. Trường hợp các nút nội suy cách đều.
1. Khái niệm: Hiệu hữu hạn
Giả sử hàm số
x
y

được cho dưới dạng bảng:

x0
y0

x1
y1

trong đó

x2
y2




xk
yk


;

xk+1
yk+1




hay

.

Ta gọi:
-

Hiệu hữu hạn tiến cấp 1 của hàm

tại điểm

là :

-

Hiệu hữu hạn tiến cấp 2 của hàm

tại điểm

là :


-

………

-

Tổng quát, hiệu hữu hạn tiến cấp n của hàm

Tương tự thay kí hiệu Δ bằng kí hiệu
hàm

tại điểm

.
.

tại

là :

ta có khái niệm hiệu hữu hạn lùi cấp n của

như sau (ĐỌC THÊM):
.

2. Cơng thức tìm đa thức nội suy Newton trong TH các nút nội suy cách
đều


Thay các tỷ hiệu bằng các hiệu hữu hạn tiến, ta có đa thức nội suy Newton tiến

của hàm

xuất phát từ nút x0 là:


Từ đó, nếu đổi biến
của hàm

hay

thì ta có đa thức nội suy Newton tiến

có dạng:

Sai số là :

,

với

.

Nếu h đủ bé và

hầu như khơng thay đổi thì

.


Tương tự, ta có đa thức nội suy Newton lùi của hàm


xuất phát từ nút xn là:

.
Từ đó, nếu đổi biến
hàm

thì đa thức nội suy Newton lùi của

là:

Sai số là
với
Nếu h đủ bé và

.
hầu như khơng thay đổi thì

Ví dụ B.2.1: Cho bảng giá trị của hàm số
x

.
như sau:

(1) Tính gần đúng sin160 bằng đa thức nội suy Newton tiến xuất phát từ nút x 0 =

150.


(2) Dùng đa thức nội suy Newton lùi xuất phát từ nút x 0 = 300, tính gần đúng


.
Đánh giá sai số của các giá trị gần đúng nhận được.
Giải. Có 4 nút nội suy cách đều nhau với

.

. Ta có:

.

Tính các hiệu hữu hạn tiến như sau: FIX-6 (Chú ý chọn đơn vị đo góc là Radian).
k
0

xk

yk
0,258819 (A)

0,083201 (E)

-0,002603 (Y)

1

0,342020 (B)

0,080598 (F)


-0,003216 (M)

2

0,422618 (C)

0,077382 (X)

3

0,500000 (D)

Với



-0,000613(X’)

. Suy ra:

Đánh giá sai số:

.

Chọn ,

.

Từ đó có sai số :
.


Vậy

(2) Đổi biến số :
Ta có :

.
.
.


Tính các hiệu hữu hạn lùi (tính ngược từ dưới) như sau:
k

xk

yk

Với

thì

.

Suy ra

(Lưu ý : Nếu dùng đa thức nội suy Newton tiến xuất phát từ nút x 0 = 15 thì

)



Đánh giá sai số:

.

Chọn ,

. Từ đó có sai số,
.

Vậy

.


2. SƠ ĐỒ KHỐI :

Begin

Nhập

h=

k=1, n=1

i=0, n-k

Đúng

k=1


Sai


i=1, n

Kết luận

End

PHẦN B. THỰC NGHIỆM
1.Giới thiệu về ngôn ngữ lập trình
Ngơn ngữ lập trình C++ là một ngơn ngữ lập trình hướng đối tượng(OOP –
Object-oriented programming) được phát triển bởi Bjarne Stroustrup. C++ là ngơn
ngữ lập trình được phát triển trên nên tảng của ngơn ngữ lập trình C. Do đó, C++
có song song cả 2 phong cách(style) lập trình hướng cấu trúc giống C và có thêm


phong cách hướng đối tượng. Trong nhiều trường hợp, C++ sử dụng kết hợp cả 2
style trên. Do đó, nó được xem là một ngơn ngữ “lai tạo”.
Vai trị đặc biệt quan trọng của bộ đôi 2 ngôn ngữ lập trình C và C++ là phục vụ
cho học lập trình cơ bản. Bởi vì đây là một ngơn ngữ lập trình bậc trung. Hầu hết
các trường đào tạo cơng nghệ thông tin ở Việt Nam đều dùng 2 ngôn ngữ này làm
mơn cơ sở ngành. Mơn lập trình C giúp chúng ta có nền tảng với kỹ thuật lập trình,
các kiến thức cơ bản và tư duy lập trình.
Sau đây là các ứng dụng thực tế sử dụng C++:
+ Game
+ Ứng dụng có giao diện người dùng(GUI)
+ Trình duyệt web
+ Phần mềm quản trị cơ sở dữ liệu

+ Hệ điều hành
+ Trình biên dịch
+ ……………..


Hình ảnh giao diện của ứng dụng C++
2. Thực Nghiệm
#include<iostream>
#include<bits/stdc++.h>
using namespace std;
int factorial(int n){
int fact=1;
while(n){
fact=fact*n;
n--;
}
return fact;
}
int main(){
float x[10],y[10],p[10],diff[10];
float X,f,f2=0,u,h;
int i, j=1,n,k=1;


cout<<"\nnhap vao so bac cua da thuc : ";
cin>>n;
cout<<"\nnhap vao gia tri xi va f(xi)\n";
for(i=1; i<=n; i++){
cout<<"x["<cin>>x[i];

cout<<"f["<cin>>y[i];
}
cout<<"\nx[i]\tf[i]\n";
for(i=1; i<=n; i++){
cout<}
cout<<"\ngia tri cua ham f tai x=";
cin>>X;
int m=n;
h=x[2]-x[1];
u=(X-x[1])/h;
f=y[1];
cout<cout<<"\nBang sai phan(bang ti hieu)"<do{
cout<<"A.("<for(i=1; ip[i]=( ( y[i+1]-y[i] ) );
cout<y[i]=p[i];
}
diff[k++]=p[1];
n--;
cout<<"\n";
}while(n!=1);
float df=u;
float l=1;
for(int i=1; iif(i>1)

df=df/factorial(i);


f2=f2+(df*diff[i]);
for(int j=0; j<=i; j++){
l=l*(u-j);
}
df=l;
}
f=f+f2;
cout<<"\nf("<return 0;
}

3. Kết quả thực nghiệm


KẾT LUẬN


Qua bài luận ta có thể hiểu rõ hơn về phương pháp nội suy đa newton với mốc
cách đều và khơng cách đều, cách giải bài tốn phương trình thơng qua hai phương
pháp. Và ta đã xây dựng được một chương trình C++ có thể tìm nghiệm gần đúng
của phương trình.
Do kiến thức của bọn em cịn nhiều hạn chế nên bài luận có thể cịn nhiều thiếu
xót em mong sẽ có được những lời đóng góp từ thầy và các bạn để bài luận được
hoàn thiện hơn. Bọn em cũng có thể rút kinh nghiệm cho các bài luận sau này. Em
xin chân thành cảm ơn thầy giáo Nghiêm Văn Tính đã hướng dẫn và giúp đỡ chúng
em hồn thiện bài luận này.




×