Chương 1 của luận văn trình bày một số kiến thức chuẩn bị, bao gồm giới thiệu 8 phương trình vi phân phi tuyến và các bài toán giá trị ban đầu, phương pháp số giải phương trình vi phân gồm các phương pháp xấp xỉ Euler tiến, Euler lùi và cách sử dụng Excel để giải gần đúng bài toán giá trị ban đầu. Chương 2 trình bày một số mô hình toán học trong sinh học, khoa học kỹ thuật và công nghiệp sử dụng phương trình vi phân phi tuyến, bao gồm các bài toán về sự sinh trưởng và phát triển của một quần thể động vật, về tốc độ của một phản ứng hóa học, về tốc độ hao hụt nước khi một bình chứa nước bị rò rỉ, về vận tốc chuyển động của một đối tượng qua dòng nước, và cuối cùng là về đầu thu năng lượng mặt trời. Đối với mỗi mô hình này luận văn đều trình bày chi tiết về cách xây dựng mô hình, cách mô phỏng trong Excel cùng một số bài tập liên quan nhằm hướng dẫn cho học sinh tiếp thu được tốt hơn. KIẾN THỨC CHUẨN BỊ 1.
Phương trình vi phân phi tuyến Phương trình vi phân là một phương trình chứa biến độc lập t, hàm cần tìm y(t) và các đạo hàm các cấp của nó. Nói cách khác, một phương trình chứa đạo hàm hoặc vi phân của hàm cần tìm được gọi là phương trình vi phân. Một phương trình vi phân cấp n có dạng (n) ′ (n−1) y (t) = f t, y, y ,. , y trong đó f là một hàm của n + 1 biến: t, y, y′ ,.
Để phù hợp với đối tượng là giáo viên và học sinh Trung học phổ thông, trong luận văn này chúng ta chỉ xét phương trình vi phân cấp 1 (tức là n = 1). Khi đó bài toán giá trị ban đầu (IVP) thường được quan tâm có dạng có dạng ( y′ (t) = f (t, y(t)), ∀t ∈ t0 ,t f (1.1) y (t0 ) = y0 trong đó y : t 7→ y(t) ∈ R là hàm cần tìm, f là hàm hai biến t, y(t) cho trước, t0 ,t f ∈ R. Trường hợp f là một hàm tuyến tính, tức là f có dạng f (t, y(t)) = a(t) · y(t) + b(t) thì ta nói phương trình vi phân đã cho là tuyến tính. Bài toán giá trị ban đầu cho phương trình vi phân tuyến tính có công thức nghiệm tường minh Rt Zt Rt a(s)ds a(z)dz y(t) = et0 y0 + es b(s)ds.
t0 Phương trình vi phân không tuyến tính là phương trình vi phân phi tuyến. Ví dụ phương trình (1 − y)y′ + 2y = et là phương trình vi phân phi tuyến bậc nhất. Các phương trình vi phân phi tuyến hầu như không thể giải được chính xác, vì vậy cần các công cụ mô phỏng để xấp xỉ nghiệm một cách tốt nhất có thể. Bên cạnh đó, các bài toán ứng dụng trong thực tiễn cũng chỉ yêu cầu chính xác đến một mức độ nào đó, và bên cạnh tính chính xác thì tốc độ tính toán cũng là một yếu tố quan trọng cần xem xét, xem [1].
Vì vậy, ngay cả đối với các phương trình vi phân tuyến tính thì việc sử dụng các phương pháp xấp xỉ nghiệm cũng được quan tâm, bởi vì tính toán tích phân 10 trong công thức nghiệm tường minh ở trên cũng không phải là đơn giản. Trong mục tiếp theo chúng ta sẽ đi tìm hiểu về hai phương pháp số cơ bản và phổ biến để giải bài toán giá trị ban đầu 1. Phương pháp số giải phương trình vi phân 1. Phương pháp Euler tiến Xét Bài toán (1.
Mục đích của chúng ta là giải gần đúng bài toán này. Ta thực hiện việc đó bằng cách sử dụng phương pháp Euler tiến. Đây là một phương pháp cơ bản, tương đối đơn giản nhưng vẫn thường được sử dụng. Ý tưởng của phương pháp này là chia nhỏ đoạn t0 ,t f thành N đoạn nhỏ bằng nhau, mỗi đoạn có độ dài h (được gọi là bước).
Đặt tn = t0 + nh, với n = 0, 1, 2, 3. ta mong muốn xấp xỉ nghiệm chính xác y (tn ) bởi yn ≈ y (tn ). Giả sử ta đã biết yn , khi đó công thức Euler tiến để tính gần đúng yn+1 là yn+1 = yn + h. Ta minh họa ý nghĩa hình học của phương pháp Euler tiến như sau Hình 1.
Minh họa phương pháp Euler. Lấy tích phân từ tn đến tn+1 cả 2 vế của phương trình y′ (t) = f (t, y(t)) trong (1.1) ta được tZn+1 y (tn+1 ) − y (tn ) = f (t, y(t))dt. tn 11 tZn+1 Bằng cách xấp xỉ f (t, y(t))dt bởi diện tích hình chữ nhật ABFE khi tn+1 − tn đủ tn bé, ta có y (tn+1 ) − y (tn ) ≈ h · f (tn , yn ) hay yn+1 ≈ yn + h · f (tn , yn ) .2) Ví dụ 1: Để minh họa cho phương pháp này ta xét phương trình vi phân phi tuyến mô tả vận tốc rơi (ở đây ta kí hiệu là y(t)) của một vật có khối lượng m chịu tác dụng của lực cản không khí. Lực cản tỷ lệ với bình phương vận tốc tức thời, do đó phương trình có dạng my′ (t) = mg − ky(t)2 hay k y′ (t) = g −y(t)2 m trong đó k là hằng số tỷ lệ và g là gia tốc trọng trường.
Chiều dương của y là đi xuống. Giả sử rằng vận tốc rơi ban đầu y(0) = 2(m/s), k = 1, m = 1, và ta muốn đi tìm vận tốc rơi của vật thể sau 1 giây. Khi đó bài toán giá trị ban đầu có dạng ′ k y = g − y(t)2 m với mọi t ∈ [0; 1]. y(0) = 2 Với bước h = 0, 1, ta tính lần lượt các giá trị xấp xỉ yn với n = 1, 2,.
sử dụng công thức Euler tiến (1.2) k 2 yn+1 = yn + h · g − yn. m Tại mỗi thời điểm tn ta xác định công thức sai số như sau. Sai số tuyệt đối tại thời điểm tn là ∆yn := |y (tn ) − yn |. Sai số tương đối tại thời điểm tn là |y (tn ) − yn | δ yn := × 100% |y(tn )| Ta thực hiện quá trình xấp xỉ nghiệm như trên trong Excel và thu được kết quả như sau 12 Nghiệm chính Sai số tuyệt Sai số tương n tn Nghiệm xấp xỉ xác đối đối 0 0 2,000 2,000 0,000 0, 00% 1 0,1 2,580 2,471 0,109 4, 43% 2 0,2 2,894 2,759 0,135 4, 89% 3 0,3 3,037 2,926 0,110 3, 76% 4 0,4 3,095 3,020 0,075 2, 48% 5 0,5 3,117 3,071 0,046 1, 50% 6 0,6 3,125 3,098 0,027 0, 87% 7 0,7 3,129 3,113 0,015 0, 49% 8 0,8 3,130 3,121 0,008 0, 27% 9 0,9 3,130 3,126 0,005 0, 15% 10 1 3,130 3,128 0,003 0, 08% Bảng 1.
Bảng số liệu nghiệm xấp xỉ và sai số của bài toán trong Ví dụ 1. Phương pháp Euler lùi tZn+1 Đối với phương pháp Euler lùi ta không xấp xỉ tích phân f (t, y(t))dt bằng cách tn sử dụng diện tích hình chữ nhật ABCD mà sẽ sử dụng diện tích hình chữ nhật ABFE trong Hình 1. Suy ra yn+1 ≈ yn + h · f (tn+1 , yn+1 ) .3) Đối với phương pháp Euler lùi ta cần đi giải phương trình (1.3) để thu được ẩn số yn+1 (giả sử rằng yn đã biêt). Điều này đôi khi không thực hiện được đối với học sinh THPT, như trong Ví dụ 3 (mục 1.
Ví dụ 2: Sử dụng phương pháp Euler, giải gần đúng bài toán ′ k y = g − y(t)2 , m với mọi t ∈ [0; 1]. k Ta có: t0 = 0, y0 = 2, f (t, y) = g − y(t)2 , h = 0, 1,tn = t0 + nh. m 13 Theo lý thuyết Galois (xem [8]), thì nếu f (x) có dạng đa thức bậc ⩾ 5 thì không có công thức nghiệm tổng quát cho phương trình (1. Trong trường hợp f là hàm siêu việt thì (1.3) lại càng khó giải chính xác được.
Ta có thể tính lần lượt các giá trị xấp xỉ yn với n = 0, 1, 2,. sử dụng công thức Euler lùi yn+1 = yn + h · f (tn+1 , yn+1 ). Trong ví dụ này ta thu được k 2 yn+1 = yn + h · g − yn+1. m Đối với phương trình này ta có thể rút ra công thức tường minh của yn+1 như sau r ! m 4hk yn+1 = · 1+ (yn + hg) − 1.
2hk m Ta thực hiện quá trình xấp xỉ nghiệm như trên trong Excel và thu được kết quả như sau Nghiệm chính Sai số tuyệt Sai số tương n tn Nghiệm xấp xỉ xác đối đối 0 0 2,000 2,000 0,000 0, 00% 1 0,1 2,403 2,471 0,068 2, 83% 2 0,2 2,670 2,759 0,090 3, 36% 3 0,3 2,842 2,926 0,084 2, 97% 4 0,4 2,951 3,020 0,069 2, 32% 5 0,5 3,019 3,071 0,051 1, 70% 6 0,6 3,062 3,098 0,037 1, 19% 7 0,7 3,088 3,113 0,025 0, 81% 8 0,8 3,104 3,121 0,017 0, 54% 9 0,9 3,114 3,126 0,011 0, 36% 10 1 3,121 3,128 0,007 0, 23% Bảng 2. Bảng số liệu nghiệm xấp xỉ và sai số trong Ví dụ 2. Biểu diễn bằng Excel Excel là một phần mềm bảng tính nằm trong bộ Microsoft Office. Phần mềm này giúp người dùng ghi lại dữ liệu, trình bày thông tin dưới dạng bảng, tính toán, xử lý 14 thông tin nhanh chóng và chính xác với một lượng dữ liệu lớn.
Với các điều kiện của bài toán ban đầu, sử dụng phương pháp số xấp xỉ Euler ta có thể xây dựng công thức giữa các đại lượng đã biết để tính toán. Phần mềm Excel có các tính năng: nhập, lưu trữ và tính toán dữ liệu để có thể mô tả phương pháp xấp xỉ Euler một cách dễ dàng. Trong Excel, ta cũng có thể dề dàng biểu diễn biểu đồ để phân tích, đánh giá kết quả thu được từ mô hình. Việc xây dựng công thức kết hợp thao tác "kéo-thả" trên bảng tính chính là lập trình đơn giản.
Cách làm này dễ làm, dễ hiểu và giúp học sinh phổ thông dễ dàng tiếp cận với lập trình, xây dựng tư duy lập trình. Ví dụ 3: Số lượng cá thể của một quần thể động vật được mô tả bởi phương trình vi phân phi tuyến: P′ (t) = 0, 135 · P1,01 , thời gian tính theo đơn vị ngày. Biết tại thời điểm ban đầu khi nghiên cứu quần thể này, số lượng cá thế bằng 100. Tính số lượng cá thể của quần thể sau thời gian 20 ngày?