1. Trang chủ
  2. » Giáo Dục - Đào Tạo

(Tiểu luận) giải phương trình bằng phương pháp newton tiếp tuyến xấp xỉ hàm số bằng phương pháp bình phương tối thiểu (th hàm dạng đa thức

15 20 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Giải Phương Trình Bằng Phương Pháp Newton Tiếp Tuyến Xấp Xỉ Hàm Số Bằng Phương Pháp Bình Phương Tối Thiểu (TH Hàm Dạng Đa Thức)
Tác giả Lê Đức Anh, Nguyễn Thế Hà Cường, Vũ Minh Đức, Sùng A Hòa, Mai Vĩnh Khang, Nguyễn Đức Long, Đặng Như Ngọc, Nguyễn Minh Quang, Nguyễn Trọng Thức, Phạm Thành Vinh
Người hướng dẫn ThS. Nguyễn Quỳnh Mai
Trường học Trường Đại Học Kinh Tế Quốc Dân
Chuyên ngành Phương Pháp Tính
Thể loại Báo Cáo Bài Tập Nhóm
Năm xuất bản 2023
Thành phố Hà Nội
Định dạng
Số trang 15
Dung lượng 1,61 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN VIỆN CÔNG NGHỆ THÔNG TIN VÀ KINH TẾ SỐ ---***--- BÁO CÁO BÀI TẬP NHÓM HỌC PHẦN: PHƯƠNG PHÁP TÍNH ĐỀ TÀI: Giải phương trình bằng phương pháp Newton ti

Trang 1

TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN

VIỆN CÔNG NGHỆ THÔNG TIN VÀ KINH TẾ SỐ

-*** -

BÁO CÁO BÀI TẬP NHÓM

HỌC PHẦN: PHƯƠNG PHÁP TÍNH

ĐỀ TÀI:

Giải phương trình bằng phương pháp Newton tiếp tuyến

Xấp xỉ hàm số bằng phương pháp bình phương tối thiểu (TH hàm dạng đa thức)

Nhóm thực hi n ệ : Nhóm 3 Lớp h c ph n ọ ầ : Phương pháp tính (222)_03 Giảng viên hướng dẫn : ThS Nguy n Qu nh Maiễ ỳ

Hà Nội – 2023

Trang 2

DANH SÁCH THÀNH VIÊN NHÓM

Trang 3

[1]

MỤC LỤC

A GIẢI PHƯƠNG TRÌNH BẰNG PHƯƠNG PHÁP NEWTON TIẾP TUYẾN 2

1.Đặt vấn đề 2

2.Mô tả bài toán 2

3.Ví dụ minh họa 4

4.Thuật toán và code 5

5.Đánh giá phương pháp 7

B.XẤP XỈ HÀM SỐ BẰNG PHƯƠNG PHÁP BÌNH PHƯƠNG TỐI THIỂU (TH HÀM DẠNG ĐA THỨC) 8

1.Đặt vấn đề 8

2.Mô tả bài toán 9

3.Ví dụ minh họa 10

4.Thuật toán và code 11

5.Đánh giá phương pháp 12

Trang 4

A GIẢI PHƯƠNG TRÌNH BẰNG PHƯƠNG PHÁP NEWTON TIẾP TUYẾN

1 Đặt vấn đề

Trong chương trình phổ thông, khoảng lớp 5, HS được h c cách giảọ i PT bậc nh t 1 n (còn ấ ẩ được biết đến với cái tên nổi tiếng là tìm x) Khoảng cấp 2, HS được học cách giải PT bậc

2 một ẩn và HPT b c nh t hai n Trong khoa h c công ngh và trong th c t có r t nhiậ ấ ẩ ọ ệ ự ế ấ ều bài toán chuy n thành gể ải hệ phương trình:

Fi(x1,x2, xn)=0 v i i=1,2, n ớ

Chỉ trong một số trường hợp đặc biệt mới có thể tìm ra nghiệm đúng của HPT đó Các trường hợp còn lại đều phải tìm cách giải nghiệm gần đúng

=>Phương pháp Newton

2 Mô t bài toán

Gi ả thi t:ế f(x) trái d u tấ ại 2 vị trí a và b, đồng thời tồ ại đạn t o hàm c p mấ ột f’(x)≠0 trong khoảng [a,b], và đạo hàm cấp 2 tại x ∈ (a, b)

Khai triển Taylor b c n cậ ủa f(x) tại 𝑥0:

f(x + h) = f(x ) +0 0 h

1! f′(x0) +h

2 2! f′′(x0)+ +h

n n! f(n)(x0) + h

n+1 (n + 1)! f(n+1)(C)

C ∈ (x0, x + h)0

Dựa vào khai triển Taylor, ta sẽ xác định 1 hàm Φ(x) và tìm nghiệm của phương trình bằng phép l p ặ

𝑥𝑛+1= Φ(x) Giả s ử𝑥 là nghiệm đúng của phương trình, 𝑥𝑛 là nghiệm xấp x cỉ ủa phương trình tạ ầi l n lặp th ứ n Ta đặt x = x +△ xn n Theo khai tri n Taylor, ta có: ể

f(x) = f(x +△ x ) = f(x ) +△ x (x ) +n n n nf′ n △ xn

2! f′′(C) = 0 Nếu △ xnđủ nh , ta có công thỏ ức gần đúng:

f(x ) +△ x (x ) ≈ f(x) = 0n nf′ n

Trang 5

[3]

Từ đây:

△ xn≈ −𝑓′(𝑥𝑘)𝑓(𝑥𝑘)

Vì △ x = x − xn n

Do đó x ≈ xn −𝑓(𝑥𝑘 )

𝑓′(𝑥 ) 𝑘

* Ý nghĩa hình học

Định lý (điều kiện h i tụ ộ theo Furiê_điều kiện đủ)

Giả s [a,b] là kho ng nghi m cử ả ệ ủa phương trình f(x) = 0 Đạo hàm f ′(x) ′′, f (x) liên t c, ụ không đổi dấu trên đoạn [a,b] Khi đó ta chọn xấp xỉ nghiệm ban đầu 𝑥 ∈ [𝑎, 𝑏]0 sao cho f(x0) cùng dấu với f ′′ thì quá trình lặp s hẽ ội tụ đến nghiệm

Trang 6

3 Ví d minh họa

Giải phương trình: f(𝑥) = x + x − 5 = 03 bằng phương pháp tiếp tuyến

Gi i:

Ta có: f(1) = -3 < 0

f(2) = 5 > 0

Hàm f(x) trái dấu t x = 1 và x = 2 => ại Khoảng phân ly nghi m [1, 2] ệ

f ′(x) = 3𝑥 + 1 > 0 ∀𝑥 ∈ [1, 2]2

f ′′(x) = 6x> 0∀x ∈ [1, 2]

Thỏa mãn điều kiện hội tụ Furiê, áp dụng phương pháp tiếp tuyến chọn với 𝑥 = 20 (vì f(2) cùng dấu v i ớ f ′′ ta có bả) ng sau:

Vậy nghiệm x ≈ 1.516

Trang 7

Discover more

from:

2121212

Document continues below

tin học đại

cương

Đại học Kinh tế…

543 documents

Go to course

Giáo trình tin học lý thuyết

tin học đại

cương 100% (3)

144

ICDL - Ly Thuyet-OE

- CE - tài liệu ôn thi… tin học đại

cương 100% (3)

7

Đề 4 - hhhh

tin học đại

cương 100% (2)

20

[Word] Mock Test 3 -km/;,;l,l/,

tin học đại

cương 100% (2)

9

Trắc nghiệm chương

2 - bài tập

7

Trang 8

4 Thuật toán và code

4.1 Thuật toán

Nhập phương trình f(x)

và sai s epsilon( ) ố 𝜺

Vẽ đồ thị hàm f(x)

Nhập a, b xác định khoảng phân ly nghi m ệ

Kiểm tra đ.kiện hội tụ

Nhập x 0

Đ

x1 = x 0– f(x0)/f’(x0)

e = |x x | 1– 0

e < 𝜀

Đ

S

Kết quả a ≈ x 1

Thay x = x 0 1

tin học đại cương 100% (2) Đáp án lý thuyết

-mk là 10education tin học đại

cương 100% (2)

18

Trang 9

[6]

4.2 Code

❖ furie.m (Kiểm tra ều kiện hội tụđi ):

syms x

df = diff(f);

d2f = diff(df);

%abs(f(x0)*subs(d2f,x,x0)/subs(d1f,x,x0)^2) < 1

if abs(f(x0) * subs(d2f, x, x0) / subs(df, x, x0) ^ 2) < 1 tmp = 1;

else

tmp = 0;

end

end

❖ main.m (Tìm nghiệm gần đ úng c ủa phương trình):

clc

clear all

close all

%%%%%%%%%%%%%%%%%%% Nhập phương trình f(x) %%%%%%%%%%%%%%%%%%%%

fx = input( "Nhập phương trình f(x) : " );

epsilon = input( "Nhập sai số epsilon : " );

syms f(x)

f(x) = str2sym(fx);

df = diff(f);

x1 = 0;

%%%%%%%%%%%%%%%%%%% Trực quan đồ thị f(x) %%%%%%%%%%%%%%%%%%%%

x = -5:0.1:5;

y = f(x);

z = 0 * x;

subplot(2,1,1)

plot(x, y, x, z);

grid on

xlabel( 'x' )

ylabel( 'y = f(x)' )

%%%%%%%%%% Từ đồ thị xác định khoảng phân ly nghiệm %%%%%%%%%%%%

a = input( 'Nhập a : ' );

b = input( 'Nhập b : ' );

%%%%%%%%% Kiểm tra nghiệm gần đúng theo PP Newton %%%%%%%%%%%%%%% x0 = input( 'Nhập x0 : ' );

check_furie = 0;

if furie(f,x0) == 1 %%% Hàm kiểm tra điều kiện hội tụ Furie %% check_furie = 1;

disp( 'x0 thỏa mãn điều kiện hội tụ Furie' );

else

disp( 'Bạn hơi đen! Xin mời nhập lại!' );

x0 = input( 'Nhập x0 : ' );

end

Trang 10

%%%%%%%%% Tìm nghiệm bằng phương pháp tiếp tuyến Newton %%%%%%%%%%

if check_furie == 1

x1 = x0 - f(x0)/df(x0);

count = 1;

fprintf( "Tại lần lặp thứ %d Nghiệm xấp xỉ x1 là : %11.10f\n" , count,

x1);

maxn = 10000; % Tránh trường hợp lặp vô hạn

while abs(x1 - x0) >= epsilon && count < maxn

count = count + 1;

x0 = x1;

x1 = x0 - f(x0)/df(x0);

fprintf( "Tại lần lặp thứ %d Nghiệm xấp xỉ x1 là : %11.10f\n" ,

count, x1);

end

fprintf( "Số lần lặp là : %20d\n" , count);

fprintf( "Nghiệm xấp xỉ là : %20.10f\n" , x1);

else

disp( 'Khoảng phân ly nghiệm không hợp lệ!!!!!' )

end

5 Đánh giá phương pháp

5.1 Ưu điểm

• Phương pháp Newton tiếp tuyến là một phương pháp có lời giải hay, dễ hiểu, áp

dụng được cho mọi hệ, hệ càng ph c tứ ạp thì phương pháp càng tỏ ra ưu việt

• Phương pháp Newton tiếp tuyến có độ hội tụ cao hơn rất nhiều so với phương pháp

lặp thông thường và thường hay tr vả ề các kết qu vả ới độ chính xác tương đối cao

 Phương pháp này là một công cụ rất USEFUL để giải gần đúng các hệ phương

trình, các bài toán xấp x , các hàm s tỉ ố ối ưu

5.2 Nhược điểm

• Giá trị đầ u tiên x0 thường khó xác định sao cho tốt nhất

• Hạn ch trong vi c tính toán nhế ệ ững phép đạo hàm phức tạp, đặc biệt với những

phép o hàm b c cao, không phđạ ậ ải lúc nào cũng tìm được đạo hàm dưới dạng tường

minh

• Việc kiểm tra các điều kiện để có thể áp dụng phương pháp này khó

Trang 11

[8]

B XẤP XỈ HÀM SỐ BẰNG PHƯƠNG PHÁP BÌNH PHƯƠNG TỐI THIỂU (TH HÀM DẠNG ĐA THỨC)

1 Đặt vấn đề

Trong toán học, phương pháp bình phương tối thiểu (Ordinary least square), còn g i là bình ọ phương nhỏ nhất hay bình phương trung bình tối thiểu, là một phương pháp tối ưu hóa để lựa chọn một đường kh p nh t cho m t d i d ớ ấ ộ ả ữ liệ ứng v i c c tr c a t ng các sai s u ớ ự ị ủ ổ ố thống

kê (error) giữa đường kh p và dớ ữ liệu

Phương pháp này giả định các sai s cố ủa phép đo đạc dữ liệu phân ph i ngố ẫu nhiên Định lý Gauss-Markov ch ng minh r ng k t quứ ằ ế ả thu đượ ừ phương pháp bình phương tốc t i thi u ể không thiên v và sai s c a viị ố ủ ệc đo đạc dữ liệu không nhất thi t ph i tuân theo, ví d , phân ế ả ụ

bố Gauss Một phương pháp mở r ng t ộ ừ phương pháp này là bình phương tối thiểu có tr ng ọ

số

Phương pháp bình phương tối thiểu thường được dùng trong khớp đường cong Nhiều bài toán tối ưu hóa cũng được quy về việc tìm c c trự ị của dạng bình phương, ví dụ như tìm cực tiểu của năng lượng hay cực đại của entropy

Giả s ử có 2 đại lượng x và y (v t lý, hoá hậ ọc, …) có liên hệ ph thu c ụ ộ

nhau theo m t trong các d ng sau: ộ ạ

1 y = a + bx

2 y = a + bx +cx 2

3 y = ae bx

4 y = ax b

Trang 12

Trong đó: a, b, c là các giá trị chưa biết

Mục đích: Tìm các giá tr ịchưa biết

Giả sử đã đo được các m u (ẫ 𝑥 𝑦𝑖 𝑖) v i i=1,2,3, ,n mớ ục đích là xác định hàm f(x) thoả mãn f(x)≈𝑦𝑖

Giả s hàm f có th ử ể thay đổi hình d ng ph thu c vào 1 hàm ạ ụ ộ 𝑝𝑗 v i j=0,1,2, m f(x) = ớ f(𝑝𝑗,x) Sai s gi a giá tr ố ữ ị thực và giá trị ước lượng theo hàm f(𝑝𝑗,x) tại x = 𝑥𝑖

Xác định giá tr của 𝑝𝑗 sao cho bi u thị ể ức sau đạt giá tr cị ực tiểu

𝑥2 = ∑ (𝑛

𝑖=1 𝑦𝑖− 𝑓(𝑥))^2 Điều này gi i thích sao phương pháp là bình phương tối thi u ả ể

2 Mô t bài toán

Trường h p y = a + bx

- Giả ử s y ph ụ thuộc x d ng ạ y = a +bx

- Gọi 𝜀𝑖là sai số ủ c a 𝑥𝑖:

𝜀𝑖= 𝑦𝑖− 𝑎 − 𝑏𝑥𝑖, i= 1,2, … , n

- Gọi S là tổng bình phương của sai số

S = ∑ 𝜀𝑖2= ∑ (𝑦𝑖𝑛 − 𝑎 − 𝑏𝑥𝑖)2

𝑖=1 𝑛

𝑖=1

S phụ thuộc a, b còn 𝑥𝑖, 𝑦𝑖 đã biết

- Mục đích của phương pháp bình phương bé nhất là xác định a sao cho S là bé nh ất

- Khi đó a, b là nghi m cệ ủa hệ:

{

𝜕𝑠

𝜕𝑎= 0

𝜕𝑠

𝑆 = ∑ 𝑦𝑖2+ 𝑎2+ 𝑏2𝑥𝑖2− 2𝑎𝑦𝑖− 2𝑏𝑥𝑖𝑦𝑖+ 2 𝑥𝑎𝑏 𝑖

𝑛

𝑖=1

Trang 13

[10]

(1)  {

𝜕𝑠

𝜕𝑎= ∑ (2𝑎 − 2𝑦 + 2𝑏𝑥𝑛𝑖=1 𝑖 𝑖)

𝜕𝑠

𝜕𝑏= ∑ (2𝑏𝑥𝑛 𝑖2

𝑖=1 − 2𝑥𝑖𝑦𝑖+ 2𝑎𝑥𝑖) (1)  { 𝑛𝑎 + 𝑏 ∑ 𝑥𝑖𝑛𝑖=1 = ∑ 𝑦𝑖𝑛𝑖=1

𝑎 ∑ (𝑥𝑖𝑛

𝑖=1 ) + 𝑏∑𝑛𝑖=1𝑥𝑖2= ∑ (𝑥 𝑦𝑛𝑖=1 𝑖 𝑖)

Từ các giá trị 𝑥𝑖 và 𝑦𝑖 đã có ta thay vào phương trình trên => các giá trị a, b

3 Ví d minh họa

Hai đại lượng x và y phục thuộc theo quy luật y = a + bx Hãy xác định a, b bằng phương pháp bình phương bé nhất, biết:

Giải:

Trước hết ta lập bảng số:

n = 4

-1

0

1

3

0.5

1 1.5 2.5

1

0

1

9

-0.5

0 1.5 7.5

Ta có hệ phương trình:

{ 4𝑎 + 3𝑏 = 5.53𝑎 + 𝑏 = 8.511 Giải hệ này ta được:

a = 1 ;

b = 0.5;

Vậy phương trình là: y = 1 + 0.5x

Trang 14

4 Thuật toán và code

4.1 Thuật toán

4.2 Code

%TH y = a + b*x

% nhập bảng dữ liệu đầu vào

x = input( 'nhap cac gia tri cua Xi theo cu phap [X1 X2 Xn]: ' );

y = input( 'nhap cac gia tri cua Yi theo cu phap [Y1 Y2 Yn]: ' );

% đưa về giải ma trận có dạng A * X = B => X = A^-1 * B

A = [length(x) sum(x) ; sum(x) sum(x.^2)] ;

B = [sum(y) ; sum(x * y) ] ;

X = inv(A) * B ; %inv = inversion là hàm nghịch đảo ma trận

%in kết quả dạng y = a + b*x với a là giá trị X(1,1), b là giá trị tại X(2,1)

if X(2,1) >= 0

fprintf( "phuong trinh co dang y = %.03f+%.03f*x" ,X(1,1),X(2,1));

End

Nhập dữ liệu x và y Tạo ma tr n A và Bậ

Ma tr n X = A x Bậ -1

X (2,1) >= 0

Start

Trang 15

[12]

fprintf( "phuong trinh co dang y = %.03f %.03f*x" ,X(1,1),X(2,1)); end

5 Đánh giá phương pháp

5.1 Ưu điểm

• Độ chính xác cao

• Phương pháp đơn giản, dễ hiểu, minh bạch

5.2 Nhược điểm

• Quá trình tính toán phức tạp, d gây nhễ ầm lẫn

Ngày đăng: 12/12/2023, 14:54

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w