Tìm đa thức nội suy bằng phương pháp lagrang và phương pháp newton
Trang 1TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
KHOA TOÁN TIN ỨNG DỤNG
Đề tài: Tìm đa thức nội suy b
Lagrang và phương pháp Newton
áo viên hướng dẫn: Nguyễn Hữu Điển Sinh viên thực hiện : Nguyễn Tiến Trun
Lớp: Toán 2-k51
Trang 2MỤC LỤC
hương I Lý thuyết cơ sở………
C I Giới thiệu tổng quan về Maple………
1 Các tính năng cơ bản của Maple………
2 Một số gói thủ tục ………
II Một số lệnh sử dụng trong chương trình………
1 Vòng lặp while………
2 Vòng lặp for………
3 Câu điều kiện If………
4 Lệnh Break ………
5 Lệnh Next………
6 Sử dụng các hàm DIFF,SUBS,COLLECT,SUM,STRUCT……
Chương II Tìm đa thức nội suy bằng phương pháp Lagrange I Giới thiệu chủ đề bài toán ………
1 Mô tả bài toán………
2 Yêu cầu và mục đích của bài toán………
3 Giới hạn việc thực hiện bài toán………
II Xây dựng đa thức nội suy bằng công thức Lagrange…………
1 Công thức Lagrange………
2.Ví dụ cụ thể
III Chương trình minh họa………
Trang 3Chương IV Tìm đa thức nội suy bằng công thức Newton…
I Giới thiệu chủ đề bài toán ………
1 Mô tả bài toán………
**********************
2 Yêu cầu và mục đích của bài toán………
3 Giới hạn việc thực hiện bài toán………
II Xây dựng đa thức nội suy bằng công thức Newton…………
1 Công thức Newton……… 2.Ví dụ cụ thể III Chương trình minh họa
*************
Trang 4
CHƯƠNG I: LÝ THUYẾT CƠ SỞ
ên các biểu thức đại số và minh họa toán h
Maple cung cấp ngày càng nhiều các công cụ trực
ngữ kiểu động Cũng giống như các h
h năng cơ bản của Maple
toán học theo các ký hiệu toán học truyề
ạo ra những giao diện người dùng tùy chọn
g như hiển thị Nhi
a các định dạng khác nhau như LaTex, Word, HTML,…
Giới thiệu tổng quan về Maple:
Maple là một hệ thống tính toán tr
ọc mạnh mẽ Từ khi ra đời đến nay Maple đã phát triển qua rất nhiều phiên bản, Maple có cách cài đặt đơn giản, chạy được trên nhiều hệ điều hành, có cấu trúc linh hoạt để sử dụng một cách tối ưu cấu hình máy và có trình trợ giúp rất dễ sử dụng
Trải qua nhiều phiên bản,
quan, các gói lệnh giúp tính toán toán học phổ thông và đại học Ưu điểm đó làm cho nhiều người lựa chọn và sử dụng Maple cùng với các phần mềm toán học khác áp dụng trong dạy toán và các công việc tính toán đòi hỏi thực tiễn và sự phát triển của giáo dục
Ngôn ngữ lập trình Maple là một ngôn
ệ thống đại số máy tính, các biểu thức hình thức đuợc lưu trữ trong bộ nhớ theo đồ thị không chu trình có huớng (DAG) Ngôn ngữ cho phép các biến có phạm vi nhất định (lexical scoping) Ngôn ngữ có hình thức lập trình hàm, nhưng cũng có hỗ trợ đầy đủ cho lập trình truyền thống, theo kiểu mệnh lệnh
Các tín
Người dùng có thể nhập biểu thức
n thống
Có thể dễ dàng t
Maple hỗ trợ cho cả tính toán số và tính toán hình thức, cũn
ều phép tính số học được thực hiện dựa trên thư viện số học NAG; trong Maple, các chương trình con NAG đã được mở rộng để cho phép độ chính xác ngẫu nhiên lớn
Cho phép triết xuất r
Trang 5Maple cũng có một ngôn ngữ lập trình cấp cao đầy đủ Cũng có giao diện cho nh
u đối tuợng: nguời dùng có thể nhập biểu
với các l
ất lớn các hàm tạo sẵn đáp ứng cho những yêu cầu tính toán khác nhau trong nhi
h có trong ch
ụng trong chương trình
:
<điều kiện> do <dãy lệnh> od;
ững ngôn ngữ khác (C, Fortran, Java, MatLab, và Visual Basic) Cũng có một giao diện dành cho Excel
Đáp ứng nhu cầu tính toán của nhiề
thức toán học theo các ký hiệu toán học truyền thống và thực hiện đuợc hầu hết các phép toán cơ bản trong chương trình đại học và sau đại học
Là một công cụ biên soạn giáo án và bài giảng điện tử, thích hợp
ớp học tương tác trực tiếp; là một trợ giáo hữu ích cho học sinh sinh viên trong việc tự học
Một số gói thủ tục
Maple chứa một lượng r
ều lĩnh vực Các hàm này được lưu trữ trong các gói chu trình (package) và người sử dụng có thể dễ dàng gọi đến mỗi khi cần thiết Tuy nhiên, người dùng Maple có thể tự tạo cho riêng mình những gói chu trình cũng như có thể trao đổi dùng chung những gói chu trình nào đấy, phục vụ cho công việc mang tính đặc thù riêng của mình
Ở bản báo cáo này, chúng em xin chỉ trình bày những gói chu trìnương trình
Trang 6mãn (giá trị của nó là đúng) thì các câu lệnh bên trong được thực hiện, sau
đó lại tiếp tục kiểm tra điều kiện condition cho đến khi điều kiện không còn thỏa mãn nữa Vòng lặp while thường được sử dụng khi số lần lặp một hay một chuỗi biểu thức là không xác định rõ, đồng thời ta muốn các biểu thức
đó cần được lặp trong khi một điều kiện nào đó còn được thỏa mãn
Điều kiện condition trong vòng lặp phải là một biểu thức boolean, tức là giá t
ều dòng
ặp chuỗi các câu lệnh nằm giữa do và od khi
mà đ
name from start by change to finish
rị của nó chỉ có thể là đúng hoặc sai, nếu không thì sẽ sinh ra lỗi
Chú ý rằng vòng lặp while- do- od; không bắt buộc phải nằm trên nhi lệnh nhưng người ta thường viết trên nhiều dòng để câu lệnh dễ đọc và
Trang 7Vòng lặp for
à od, mỗi lần lặp tương ứng với một giá trị phân biệt của biến chỉ số name đứng sau từ khoá for Ban đầu, giá trị start được gán cho biến chỉ số Nếu giá trị của biến name nhỏ hơn hay bằng giá trị finish thì chuỗi lệnh nằm giữa do và od được thực hiện, sau đó biến name được gán giá trị tiếp theo bằng cách cộng thêm vào nó giá trị change (name:=name+change) Sau đó, biến name được so sánh với finish để quyết định xem việc thực hiện chuỗi lệnh có được tiếp tục nữa không Quá trình so sánh biến chỉ số name và thực hiện chuỗi lệnh được lặp liên tiếp cho đến khi giá trị của biến name lớn hơn giá trị finish Giá trị cuối cùng của biến name sẽ là giá trị vượt quá finish đầu tiên Chú ý, nếu các từ khóa from start hoặc by change bị bỏ qua thì mặc định from 1 và by 1 được dùng
Vòng lặp for- in- do- od thự
ấy từ biểu thức expression đã cho Chẳng hạn vòng lặp này được
sử dụng hiệu quả khi mà giá trị của biến name là một phần tử của một tập hợp hoặc danh sách
Câu điều kiện If
Cấu trúc cú pháp:
if cond
statement sequenc | elif condition then | else statement sequence |
Ch
Trang 8Nếu muốn một dãy biểu thức được thực hiện khi điều kiện nào đó được thoả m
rằng cấu trúc lệnh (tuỳ chọn) elif then được lặp lại với số lần tuỳ ý T
dụng trong câu lệnh if phải được t
áp: break
ng lặp while/for đang được thực hiện, nếu lệnh break được gọi thì ch
ì sẽ sinh ra lỗi Chú ý: break không ph
ãn và một dãy biểu thức khác được thực hiện nếu trái lại thì có thể dùng câu lệnh if- then- else- fi Trong câu lệnh trên, nếu điều kiện condition
là đúng thì chuỗi biểu thức đứng sau then được thực hiện, nếu trái lại thì điều kiện condition sau từ khoá elif sẽ được kiểm tra, nếu nó đúng thì chuỗi lệnh tương ứng sau then được thực hiện, cứ tiếp tục cho đến khi các điều kiện condition đều không thỏa mãn, thì các biểu thức sau lệnh else được thực hiện
Lưu ý
ừ khoá elif là dạng viết tắt của else if
Các biểu thức điều kiện condition được sử
ạo thành từ các bất đẳng thức, các đẳng thức (các phép toán quan hệ), các biến số, các phép toán logic, các hàm có giá trị trả lại là giá trị logic Nếu trái lại thì sẽ gây ra lỗi
Nếu lệnh break dùng ngoài các vòng lặp while/for th
ải là từ khoá (từ dành riêng cho Maple), vì vậy ta có thể gán giá trị cho biến có tên là break mà không hề sinh ra lỗi (mặc dù điều này
là không nên)
Trang 9thức khác
sách thế; expr là bi
ểu thức sum( <Lệnh tính tổng>,<biến chỉ
Lệnh next sinh ra lỗi nếu nó được gọi ngoài vòng lặp while/for
ư break, next cũng không phải là từ khóa, do đó ta hoàn toàn có thể gán cho next một giá trị (xem như next là một biến) Ngay trước lệnh next cũng thường là một câu lệnh điều kiện if then
Sử dụng các hàm DIFF,SUBS,SUM,CO
Hàm DIFF diff(<Biểu thức>,<Biến lấy đạo hà
của <biểu thức > theo biến <Biến lấy đạo hàm>
Hàm SUBS Thế một biểu thức con vào một biểu
subs(s1, s2, ,sn, expr); - s1, là phương trình, tập, danh
ểu thức được thế bất kỳ
Hàm Sum Tính tổng theo bi
ậndưới Cận trên> )
Sum : Tạo ra công thức
sum(f, k); sum(f, k=m n); sum
Sum(f, k); Sum(f, k=m n); Sum(f, k=alpha);
- f là một biểu thức, k là một biến hoặc chỉ s
Trang 10Hàm Collect Khai triển đa thức theo số mũ, collect(a,x); collect(a, x, form, func); - a là một biểu thức, x là biến độc lập, danh
M ĐA THỨC NỘI SUY BẰNG PHƯƠNG
ANGE VÀ PHƯƠNG PHÁP NEWTON
khôn chúng.Thông thường bằng đo đạc thực nghi
được thế nào là bài toán tìm đa thức nội suy bằng phương pháp
đa thức nội suy
e
ội suy thì quá trình ại từ đầu.Newton đưa ra cách lập khác thuận lợi hơn
sách hoặc một tập hợp, form một tên tùy chọn, func một thủ tục tùy chọn
CHƯƠNG II:
TÌ
PHÁP LAGR
I Giới thiệu chủ đề bài toán
1 Mô tả bài toán : Trong thực tế, thường gặp những hàm số y = f(x) mà
g biết biểu thức cụ thể của
ệm ta chỉ thu được ở dạng một bảng số nghĩa là biết giá trị yi tại điểm xi tương ứng (i=0 n) Cũng có trường hợp biết quy luật biến đổi y=f(x) nhưng f(x) có trong dạng phức tạp,thì giá trị y*=f(x*) cũng khó mà tính được.Vì vậy người ta tìm cahs thay ham f(x) bởi hàm F(x) đơn giản hơn để khi tính tại điểm x* thì sự sai lệch giữa f(x*) và F(x*) không đáng kể.Việc thay f(x) bởi F(x) được gọi là xấp xỉ hàm.Thường F(x) được chọn là đa thức và gọi là
đa thức nội suy
2 Yêu cầu và mục đích của bài toán
3 Giới hạn việc thực hiện bài toán
Đối với phương pháp Lagrange khi thêm vào một mốc n
tính toán phải bỏ đi tất cả và làm l
Trang 11II.Xây dựng đa thức nội suy băng phương pháp Lagrange
Giả sử biết giá trị = f( ) i = ;
< < < <
trong đó a ≡ ≡ b
Hãy tìm đa thức nội suy th a mãn ỏ yi = n(xi) i=0 n P
Lagrange tiến hành như sau:
P (x)= L (x)y =y i=on ∑
để thuận lợi trong tính toán ta viết lại biểu thức (*) như sau:
Ví dụ cụ thể:
Trang 12VD1: Tìm đa thức nội suy theo bảng số sau
-18(x-4) 360(x-7)
36 ) 7 1
(x− 1)−
1 36
Trang 1324(x-2) 24(x+)
Trang 14***Chương trình minh họa***
VD1:>
Trang 16VD2:
Trang 17II.Xây dựng đa thức nội suy băng phương pháp Newton
Giả sử biết giá trị = f( ) i = ;
trong đó a ≡ < < < < ≡ b
Hãy tìm đa thức nội suy thỏa mãn yi = Pn(xi) i=0 n
Newton tiến hành như sau:
Trang 18Thỏa mãn yi = Pn( ) x ii = 0, n thì Pn(x) là đa thức nội suy
Ví dụ cụ thể:
Trang 19X 11 13 14 18 19 21
Y=f(x) 2342 2210 2758 5850 6878 9282
Lập đa thức nội suy Giải Lập bảng tỷ hiệu x Y=f(x) f[.,.] f[.,.] f[.,.] f[.,.] f[.,.] 11 1342
13
14 18
9 21
2210
2758
5850
6878
9282
434
38
548 1
45 0
51 0
1028 1
58
1202 773 1 0
1
Giả sử xuất phát với =11 ta co đa thức nội suy là: Chương trình minh họa*** 0 x ( ) n P x =-3432+434t+38(t-11)(t-13)+(t-11)(t-13)(t-14) ( ) n P x =t +t 3 ***
Trang 20>
Trang 2110
27
50
68
82
2.68 4.773
17 -3.86 -2.25 0.58 5.75 0.783 -0.0317 2.45 -0.0543
18 -0.194 -0.846
7
Giả sử xuất phát với x0 =1 ta co đa thức nội suy là:
Trang 22
***Chươn minh họa***
>
Trang 24CHƯƠNG III: KẾT LUẬN
I Kết quả đã đạt được của đề tài
Sau một khoảng thời gian nghiên cứu, học hỏi các thông tin trên mạng Internet cũng như các tài liệu đã được thầy PTS Nguyễn Hữu Điển cung cấp, em đã hoàn thành để tài này
Chương trình của em cũng đã phần nào đáp ứng được cho công việc tính toán bao gồm các tính toán thuần túy bằng ký hiệu toán học hay các tính toán số Giúp ích cho việc giảng dạy toán, học toán cũng như việc ứng dụng toán trong các ngành kỹ thuật, kinh tế
Bên cạnh đó môn học Giải tích số cũng cung cấp cho sinh viên kiến thức căn bản nhất về một số phương pháp giải gần đúng trên dữ liệu số
Nghiên cứu cách cài đặt các thu
Tìm hiểu các lĩnh vực ứng dụng của các phương pháp trong thực tế Tạo cơ ở để học tốt và nghiên cứu các ngành khoa học kỹ thuật nói chung và Công nghệ thông tin nói riêng
Góp phần xây dựng thế giới quan khoa học và tác phong khoa học cần thiết cho người kỹ sư tương lai
II Tài liệu tham khảo
ật toán trên máy tính
2002
4 Một số tài liệu lấy trên Internet:
Trang 25http://www.thuvienkhoahoc.com
http://www.wapedia.mobi
III Kết luận
Trên đây là toàn bộ bài tập lớn của em trong quá trình xây dựng
chương trình “ tìm đa thức nội suy bằng phương pháp Lagrang và
t mong nhận được sự đóng góp ý kiến của thầy để nâng cao kiến thức, học hỏi kinh nghiệm, trau dồi các kĩ năng của mình Một lầ ành cảm ơn thầy PTS Nguyễn Hữu Điển
ã giúp đỡ em nhờ những bài giải trên lớp cũng như tài liệu do thầy cung cấp trên website riêng của thầy
iểu nghiên cứu những đặc tính cơ bản, các chức năn
aple V
Trong quá trình thực hiện đề tài
kinh nghiệm có hạn nên chương trình của em không thể tránh khỏi những hạn chế và sai sót.Em rấ
n nữa em xin chân thđ