Tải bản đầy đủ (.docx) (26 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.69 MB, 26 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 Đ

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
Stt



Lớp: 55KMT

Họ Tên

1

Nguyễn Ngọc Hiếu

2

Nguyễn Văn Hưng

3

Chu Thanh Quyết

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

y=f ( x ¿¿ k )¿;
- Tỷ hiệu cấp một của hàm

f

[ xk ; xk+1
x −x
k +1

tại 2 nút xk ,xk +1 kí hiệu là
f x
−f x
]= ( k +1 ) ( k )

k

- 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ó:

.

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
(2)

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:

B

f

= f [ x1 ;x2 ]= (

x −f
2

)

(

x

1

)

=12−2 =5

x2 −x12−0

f [ x0 ; x1 ; x2

]=


f [ x1 ;


Vậy : f [−1 ; 0 ;2;3 ]=
Lưu ý :
tỷ hiệu cấp 3 của

là đ


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

2.

Đ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

thuận lợi hơn như

sau:
Từ cơng thức tính tỷ hiệu :

Lại có:
Thay vào (1) ta được:
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

là :

Sai số nội suy vẫn 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út nội suy

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

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
Tức là :

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

.



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

.

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

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

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

yk

4
Vậy
.
Hay



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

(1)

Tính gần đúng

xuất phát từ
(2)

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

của hàm

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

Tính gần đúng

từ nút nội suy
(3)

với bảng giá trị:

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

Từ đa thức nội suy

của hàm


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

gần đúng
.
Giải.
(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 là:
.
yk

k xk

Tỷ hiệu cấp

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

Tỷ hiệu cấp

1

2

4

3

Suy ra:

Vậy
D


+(1,35−1,3) X+(1,35−1,3) (1,35−1,2) M +(1,35−1,3)(1,35−1,2 )(1,35−1.1) E=0,97570


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

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

(3)

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
( )

Vậy

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

x0

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


x
2



xk

xk+
1




y
y0

y
1

trong đó



y
2

yk

;




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



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ố

.

như sau:

x

(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

x0 = 150.
Dùng đa thức nội suy Newton lùi xuất phát từ nút x0 = 300, tính gần

(2)

đú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

xk

yk

0


0,258819

1

0,342020

2

0,422618

3

0,500000

. Suy ra:

Với



Đá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

.


y
k

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 x0 = 15 thì
)



Đánh giá sai số:

.

Chọn ,

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

Vậy

.

N
h

p
2. SƠ ĐỒ KHỐI :

xi , yi ,x¿ ,n

Begin


h=x2−x1

k=1, n=1

i=0, n-k


Đúng
k=1

Sai

Δyi= yi+1 + yi

Δk yi =Δ yk+−11 + Δ yik−1


y¿= y0 ;F=1 ; P=x¿−x0
i=1, n

F=F∗ ; y¿=Δi y0 / ( F∗hi )∗P

P=P∗( x¿−xi)

Kết luận y¿

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


×