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

BÁO CÁO BÀI TẬP LỚN MÔN GIẢI TÍCH 1 ĐỀ TÀI PHƯƠNG PHÁP SỐ EULER GIẢI PHƯƠNG TRÌNH VI PHÂN CẤP 1

21 3 0
Tài liệu đã được kiểm tra trùng lặp

Đ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 đề Phương Pháp Số Euler Giải Phương Trình Vi Phân Cấp 1
Tác giả Nguyễn Ngọc Băng Anh, Nguyễn Phan Việt Anh, Nguyễn Phạm Đăng Dương, Nguyễn Quốc Huy, Nguyễn Ngọc Kim Khỏnh, Nguyễn Song Minh Luõn, Nguyễn Nhật My, Nguyễn Phương Nam
Người hướng dẫn TS. Đặng Văn Vinh
Trường học Trường Đại Học Bách Khoa
Chuyên ngành Giải Tích 1
Thể loại báo cáo
Năm xuất bản 2023
Thành phố Thành Phố Hồ Chí Minh
Định dạng
Số trang 21
Dung lượng 587,09 KB

Nội dung

TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA KHOA HỌC ỨNG DỤNG – BỘ MÔN TOÁN ỨNG DỤNG?···☼···? BÁO CÁO BÀI TẬP LỚN MÔN GIẢI TÍCH 1 ĐỀ TÀI PHƯƠNG PHÁP SỐ EULER GIẢI PHƯƠNG TRÌNH VI PHÂN CẤP 1 Danh sách

Trang 1

TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA KHOA HỌC ỨNG DỤNG – BỘ MÔN TOÁN ỨNG DỤNG

🙞···☼···🙞

BÁO CÁO BÀI TẬP LỚN MÔN GIẢI TÍCH 1

ĐỀ TÀI PHƯƠNG PHÁP SỐ EULER GIẢI PHƯƠNG TRÌNH VI PHÂN CẤP 1

Danh sách thành viên:

Giảng viên hướng dẫn: TS Đặng Văn Vinh Lớp: L13

Nhóm: 8

Thành phố Hồ Chí Minh, tháng 12 năm 2023

Trang 2

MỤC LỤC

DANH MỤC BẢNG BIỂU VÀ HÌNH ẢNH i

I MỞ ĐẦU 1

II CƠ SỞ LÝ THUYẾT 2

1 PHƯƠNG TRÌNH VI PHÂN THƯỜNG 2

1.1 Định nghĩa 2

1.2 Phương trình vi phân cấp 1 2

2 PHƯƠNG PHÁP EULER CHO PHƯƠNG TRÌNH VI PHÂN THƯỜNG 4

2.1 Phương pháp Euler 4

2.2 Sai số trong phương pháp Euler 6

2.3 Phương pháp Euler trong phương trình vi phân thường 6

2.4 Một số bài toán tìm nghiệm gần đúng với phương pháp xấp xỉ Euler trong phương trình vi phân cấp 1 7

III MATLAB 10

1 Tổng quan về Matlab 10

2 Code Matlab giải bài toán thực tế 10

3 Các hàm dùng trong Matlab 12

4 Kết quả và đồ thị 12

TÀI LIỆU THAM KHẢO 14

Trang 3

x+ 2 y , y (0 )=2 v ớ ih=0,2 ;h=0,1 và giá trịnghiệm chính xác 9Hình 4.1: Đồ thị minh họa phương pháp Euler ứng với khoảng chia h=1 12Hình 4.2: Đồ thị minh họa phương pháp Euler ứng với khoảng chia h=5 12

Trang 4

I MỞ ĐẦU

Trang 5

II CƠ SỞ LÝ THUYẾT

1 PHƯƠNG TRÌNH VI PHÂN THƯỜNG

Trang 6

x ⇒ y=ux⇒ dy=udx +xdu thành

udx + xdu=f (u) dx

⇔ xdu=¿f (u )−u∨dx

⇔ x|f (u )−u|=0 h ay du

f (u)−u=

dx x

Trang 7

Phương pháp số Euler là một phương pháp toán học cơ bản và mạnh

mẽ được sử dụng để giải các phương trình vi phân Phương trình vi phân là một công cụ quan trọng trong nhiều lĩnh vực khoa học và kỹ thuật, từ vật lý đến kinh tế, sinh học, và nhiều lĩnh vực khác Giải phương trình vi phân giúp chúng ta hiểu sự biến đổi và tương tác của các hệ thống theo thời gian

Tuy nhiên, việc giải phương trình vi phân một cách chính xác có thể làmột thách thức, đặc biệt là đối với các phương trình phức tạp và không thể giải phân tích Phương pháp số Euler là một cách tiếp cận đơn giản và hiệu

Trang 8

quả để tiếp cận vấn đề này bằng cách sử dụng xấp xỉ để đơn giản hóa quá trình giải.

Phương pháp số Euler là một phương pháp giải phương trình vi phân bằng cách tận dụng xấp xỉ tuyến tính Phương pháp này đơn giản và dễ hiểu,

và nó thường được sử dụng để giải các vấn đề giải tích số cơ bản

2.1.2 Công thức của phương pháp Euler:

{dy dx=f ( x , y )

y(x0)=y0

Vấn đề được đặt ra của bài toán là tìm gần đúng hàm nghiệm y(x) tại một số điểm x1, x2, x3, , tức là tính các giá trị xấp xỉ y1, y2, y3, (giá trị chính xác là y(x1), y(x2), y (x3), tại các điểm x1, x2, x3,, )

Nếu các điểm chiax n ,n=0,1,2, càng nhiều thì ta càng có kết quả gần đúng của hàm nghiệm y(x)

Xét trường hợp các bước cách đều, tức là x n+1x n=h ,

n=0,1, 2, Từ khai triển Taylor, giữ lại hai số hạng đầu ta có:

Trang 10

x 0 0,5 1 1,5 2 2,5Giá trị xấp xỉ y 1,000

0

0,5000

0,5000

0,7500

1,1250

1,5625

Bảng 2.1.2: Các giá trị xấp xỉ y tương ứng với h=0,5

2.2 Sai số trong phương pháp Euler

Sai số cắt cụt cục bộ của phương pháp Euler là sai số trong một bước

duy nhất Đó là sự khác biệt giữa lời giải số sau một bước,y 1 , và lời giải

chính xác tại thời điểm t 1 = t 0 + h Lời giải số được cho bởi

y 1 = y 0 + hf (t 0 ,y 0 ).

Đối với lời giải chính xác, chúng ta sử dụng mở rộng Taylor được đề cập trong phần Nguồn gốc phía trên:

y(t 0 + h) = y(t 0 ) + hy’(t 0 ) + 12 h 2 y”(t 0 ) + O(h 3 ).

Sai số cắt cụt cục bộ (LTE) của phương pháp Euler được cho bởi sự khác biệt giữa các phương trình này:

LTE = y(t 0 + h) - y 1 = 12 h 2 y”(t 0 ) + O(h 3 ).

Kết quả này là hợp lý nếu y có một đạo hàm bậc ba bị chặn (bounded) Điều này cho thấy rằng đối với h nhỏ, các sai số cắt cụt cục bộ xấp xỉ tỷ

lệ thuận với h 2 do đó làm cho phương pháp Euler kém chính xác (đối

với h nhỏ) hơn so với các phương pháp bậc cao khác như các phương

pháp Runge-Kutta và các phương pháp đa bước tuyến tính, mà sai số cắt cụt cục bộ tỷ lệ thuận với một số mũ cao hơn của kích thước bước.

Một cách xây dựng công thức hơi khác cho sai số cắt cụt cục bộ là sử dụng dạng thức Lagrange cho số hạng còn lại trong định lý Taylor

Nếu y có đạo hàm bậc hai liên tục, thì tồn tại một

ξ Є [tt 0 , t 0 + h] mà

LTE = y(t 0 + h) - y 1 = 12 h 2 y”(ξ)

Trang 11

Trong các biểu thức sai số trên, đạo hàm bậc hai của lời giải chính xác

chưa biết y có thể được thay thế bằng một biểu thức ở phía bên phải của

phương trình vi phân Thật vậy, từ phương trình

y’ = f(t,y) ta có

y”(t 0 ) = ∂ f ∂ t (t 0 , y(t 0 )) + ∂ y ∂ f (t 0 , y(t 0 )) f(t 0 , y(t 0 ))

Sai số cắt cụt tổng thể là sai số tại một thời điểm cố định t, sau nhiều

bước nhiều phương pháp cần phải thực hiện để đạt được thời điểm đó từ thời điểm ban đầu Sai số cắt cụt tổng thể là tích lũy của các sai số cắt cụt cục bộ đã phạm phải trong mỗi bước trước đó Số lượng các bước

được dễ dàng xác định là (t-t 0 )/h, tỷ lệ thuận với 1/h, và sai số đã phạm

phải trong mỗi bước tỷ lệ thuận với h 2 (xem phần trước) Vì vậy, mong

đợi rằng sai số cắt cụt tổng thể sẽ tỷ lệ thuận với h

Lý luận trực quan này có thể được chứng minh là chính xác Nếu lời

giải y có đạo hàm bậc hai bị chặn (bounded) và f là Lipschitz liên tục

trong đối số thứ hai của nó, thì sai số cắt cụt tổng thể (GTE) được bao (bounded) bởi:

phương pháp Euler được cho gọi là bậc nhất.

Các sai số làm tròn: Thảo luận từ trên đến giờ đã bỏ qua những hậu

quả của sai số làm tròn Trong bước n của phương pháp Euler, sai số làm tròn là xấp xỉ độ lớn εy n trong đó ε là Machine epsilon (giới hạn trên của sai số tương đối do làm tròn trong số học điểm nổi) Giả sử rằng các sai

số làm tròn tất cả có kích thước xấp xỉ như nhau, sai số làm tròn tổng

hợp trong N bước là xấp xỉ Nεy0 nếu tất cả các sai số chỉ về cùng hướng

Bởi vì số lượng bước tỉ lệ nghịch với kích thước bước h, tổng sai số làm tròn tỷ lệ thuận với ε / h Trong thực tế, tuy nhiên, vô cùng khó xảy ra

Trang 12

trường hợp tất cả các sai số làm tròn chỉ về cùng một hướng Nếu thay vào đó giả định rằng các sai số làm tròn là các biến làm tròn độc lập, thì

tổng sai số làm tròn tỷ lệ thuận với ε/ √ h.

Vì vậy, đối với những giá trị kích thước bước cực nhỏ, sai số cắt cụt sẽ nhỏ nhưng tác động của sai số làm tròn có thể lớn Hầu hết các tác động của sai số làm tròn có thể dễ dàng tránh được nếu phép tổng đền bù ( compensated summation ) được sử dụng trong việc xây dựng công thức cho phương pháp Euler.

2.3 Phương pháp Euler trong phương trình vi phân thường

Mở đầu nhiều bài toán khoa học kỹ thuật chủ đạo là (hệ) phương trình

vi phân và điều kiện ban đầu Nghiệm đúng của chúng thường chỉ áp dụng cho một số lớp bài toán rất hạn chế, đa số các bài toán là phải tìm nghiệm gần đúng Trong phương pháp số có phương pháp Euler - là phương pháp một bước tính nghiệm gần đúng y n+ 1 thông qua y n với f(x n , y n) thường được dùng

để giải các bài toán về phương trình vi phân cấp 1 và hệ phương trình vi phân thường Bây giờ chúng ta sẽ tìm hiếu cách giải các bài toán đó

Xét bài toán:

{dy dx=f ( x , y )

y(x0)=y0

Trang 13

Áp dụng phương pháp Euler với bước lặp h, ta có công thức:

y n+ 1=y n+h f (t n , y n)

để tính các nghiệm xấp xỉ trong khoảng [a , b]

2.4 Một số bài toán tìm nghiệm gần đúng với phương pháp xấp xỉ Euler trong phương trình vi phân cấp 1

Ví dụ 2.4.1: Tìm nghiệm xấp xỉ của phương trình vi phân sau bằng

phương pháp Euler y '=y − 2 x

y , 0 ≤ x ≤1với điều kiện ban đầu y (0)=1 và

chia đoạn [0;1] thành 10 đoạn bằng nhau Hãy so sánh kết quả nghiệm gần đúng (lấy 4 chữ số thập phân)

Ta tìm được nghiệm chính xác của bài toán trên là : y (x )=2 x +1

Trang 14

y , y (0 )=1 với h=0,1 và giá trị nghiệm chính xác

Ví dụ 2.4.2: Dùng pp Euler để tìm nghiệm gần đúng của phương trình

Trang 17

III MATLAB

1 Tổng quan về Matlab

Matlab (viết tắt của matrix laborary) là một ngôn ngữ lập trình bậc cao bốn thế hệ, môi trường để tính toán số học, trực quan và lập trình Được phát triển bởi MathWorks

Matlab cho phép thao tác với ma trận, vẽ biểu đồ với hàm và số liệu, hiện thực thuật toán, tạo ra giao diện người dùng, bao gồm C,C++, Java và Fortran; phân tích dữ liệu, phát triển thuật toán, tạo các kiểu mẫu và ứng dụng

Matlab có rất nhiều lệnh và hàm toán học nhằm hỗ trợ đắc lực cho bạn trong việc tính toán, vẽ các hình vẽ, biểu đồ thông dụng và thực thi các

phương pháp tính toán

2 Code Matlab giải bài toán thực tế

Đề: Kích thước một quần thể P (t)=P0 e kt theo thời gian t được mô hình bởi phương trình vi phân dP dt =kP (t ) với điều kiện P (0)=1000 ;

k =0,02 ;t=[0 ;100](đơn vị thời gian) Hãy biễu diễn và so sánh đồ thị P(t) bằng phương pháp số Euler và hàm số thông thường

Đoạn code hoàn chỉnh:

% Thông số mô hình

k = 0.02; % Hệ số tăng trưởng

P0 = 1000; % Số lượng dân số ban đầu

% Khoảng thời gian tspan = [0, 100]; % Khoảng thời gian từ 0 đến 100 đơn vịthời gian (năm, tháng, )

Trang 18

% Bước thời gian

h = input("Nhập bước thời gian: ");

% Phương trình vi phân tăng trưởng dân số f = @(t, P) k * P;

% Giải phương trình vi phân bằng phương pháp số Euler

[t, P_euler] = euler_method(f, P0, tspan, h);

% Tạo dữ liệu cho đường cong hàm số thông thường (exponential growth) t_normal = linspace(tspan(1), tspan(2), 1000);

P_normal = P0 * exp(k * (t_normal - tspan(1)));

function [t, y] = euler_method(f, y0, tspan, h)

% f: hàm đạo hàm của phương trình vi phân

% y0: điểm ban đầu % tspan: khoảng thời gian [t0, tf]

% h: bước thời gian

Trang 19

3 Các hàm dùng trong Matlab

4 Kết quả và đồ thị

Hình 4.1: Đồ thị minh họa phương pháp Euler ứng với khoảng chia h=1

Trang 20

Hình 4.2: Đồ thị minh họa phương pháp Euler ứng với khoảng chia h=5

Trang 21

TÀI LIỆU THAM KHẢO

Nguyễn Thị Như Anh, L H (2015) Phương pháp xấp xỉ Euler trong phương trình vi phân thường

Burden R.L Numerical Analysis, 7th edition

Ngày đăng: 04/06/2024, 13:22

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w