Đề bài
Mọt vận động vịễn nhậ0y chịu ảnh hưởng của trọng lực và lực cản, được mô tả qua công thức dv/dt = g - Cd * m * v^2 Trong đó, g là gia tốc trọng trường (g = 9,8 m/s²), m là khối lượng (m = 68,1 kg), và Cd là hệ số cản (Cd = 0,25 kg/m) Để xác định vận tốc của người nhậ0y sau 10 giây, cần thiết lập bảng số liệu và áp dụng phương pháp Euler và Runge-Kutta Kết quả cho thấy vận tốc đạt được là v = 46 m/s sau 10 giây, với sai số không vượt quá 5%, cho thấy độ chính xác trong việc tính toán.
Lực hướng xuống do trọng lực.
Lực hướng lên do lực cản không khí
Cơ sở lý thuyết
Mọt vận động vịễn nhậ0y bungễễ nhậ0y từ trên xuống với vận tốc thẳng đứng, được mô tả bằng công thức sau: dv/dt = g - c * d * m * v^2 Trong đó, trọng độ m là khối lượng của vật thể và c được gọi là hệ số cản.
2.1 Giả sử ban đầu vận động viên nhảy ở trạng thái nghỉ, hãy tìm biểu thức phân tích cho v
Tậ cọ cọng thưc: dv dt =g− c d m v 2
Nhận 2 vễ3 cu0ậ phương trì nh trễn chọ c m d , tậ đươc: c m d dv dt = m c d g−v 2 Đậ*t a= √ mg c d , suy rậ: c m d dv dt =a 2 −v 2 Lậ3y nguyễn hậ m 2 vễ3:
Thậm khậ0ọ bậ0ng tìch phận, tậ thậ3y:
∫ a 2 dv −x 2 = 1 a tanh −1 x a (2) ÁMp dung cọng thưc (2) vậ ọ phương trì nh (1):
Vì bận đậ&u vận đọng vịễn đậng trọng trậng thậị nghì0 nễn v( 0)=0 Suy rậ: tanh −1 ( 0)=0 vậ C =0
Vậy, cọng thưc bịễCu dịễn vận tọ3c (v): v= √ gm c d tanh ( √ gc m t d )
2.2 Phương pháp Euler cải tiến:
Xét bậc độ ảnh hưởng của hình dạng đường cống trong việc chuẩn bị, bậc độ ảnh hưởng này có thể tác động đến khả năng dẫn nước và sự ổn định của môi trường xung quanh Hình dạng và cấu trúc của đường cống cần được đánh giá kỹ lưỡng để đảm bảo hiệu quả trong việc quản lý nước và bảo vệ hệ sinh thái.
Tậ chịậ đươ ng cọng gịơị hận tậị [ậ;b] thậ nh n đọận nhọ0 bậ5ng nhậu: h= b−a n
Khị đọ cậc địễCm nut lậ t 0 =a,t k =t 0 +kh, k =0 ;1; 2; 3 ; ,t n =b Gịậ0 sư0 y(t) cọ đậọ hậ m cậ3p 3 lịễn tuc trễn [ậ;b], khị đọ tậ cọ cọng thưc khậị trịễCn Tậylọr bậc 2: y (t k+1 )= y ( t k ) +h y ' ( t k ) + h 2 2 y ' ' ( t k ) + 3! 1 y ' ' ' (ξ )h 3
→ y (t k+1 ) ≈ y ( t k ) + h 2 ( f ( t k , y k ) + f ( t k+1 , y k+1 ) ) ĐễC tình tọận thễọ cọng thưc Eulễr cậ0ị tịễ3n đơn gịậ0n hơn, tậ thậy: y k+1 = y k +hf ( t k , y k ) Cọng thưc Eulễr cậ0ị tịễ3n: y k+1 = y k +hf (t ¿¿ k , y k )+ f ( t k+1 , y k + hf ( t k , y k ) )
Sọ vơị cọng thưc Eulễr thì cọng thưc Eulễr cậ0ị tịễ3n đậ" sư0 dung phương phập địễCm gịư"ậ (Mịd-pọịnt) đễC thậy: f (t¿¿ k , y k )=f (t ¿¿ k , y k )+f ( t k+ 1 , y k+1 )
Tư cọng thưc đậ" chọ, tậ cọ: dv dt ≈ ∆ v ∆ t = v ( t i+1 ) −v ( t i ) t i+1 −t i
Suy rậ: v ( t i+1 ) −v ( t i ) t i+1 −t i =g− c d m v ( t i ) 2 ÁMp dung phương phập Eulễr cậ0ị tịễ3n chọ bậ ị tọận trễn: ¿ , vơị n
2.3 Phương pháp Euler cải tiến: { v ' =g− v (0) =0 C m d v 2
Vậy vận tọ3c cu0ậ ngươ ị nhậ0y trọng 10 gịậy đậ&u tịễn vơị bươc kìch thươc h = 1 (s) bậ5ng phương phập Eulễr lậ 49,2271 m/s
Phương pháp Eulếr là một dạng của phương pháp Rungễ-Kuttậ bậc 1, trong khi phương pháp Rungễ-Kuttậ bậc 4 là một phương pháp được phát triển để đạt độ chính xác cao hơn Phương pháp Rungễ-Kuttậ bậc cao hơn cho phép tính toán kết quả chính xác và hiệu quả hơn trong các bài toán phức tạp.
YM tươ0ng: Xét bậc tọận Cậuchy, tìm m(y) thọ0ậ với điều kiện vơị ậ ≤ x ≤ b Phương pháp Euler được áp dụng để tính toán, với khoảng [a;b] được chia thành n bước đều, trong đó kích thước bước được xác định bởi công thức h = (b−a)/n.
Vơị cậc địễCm nut lậ x 0 =a,x i+1 =x i +h, x i =b;i=0, 1 , 2, 3 ,…
Gịậ0 sư0 y(x) cọ đậọ hậ m bậc m lịễn tuc trễn [ậ;b], tậ khậị trịễCn Tậylọr đễ3n bậc m rọ&ị thậy x= x i+1 , tậ đươc: y(x ị+1 ) = y(x ị +h ) ≈ y(x ị )+ y’(x ị )h + y’’(x ị ) h 2 2 + y (3) (x ị ) h 6 3 + y (4) (x ị ) 24 h 4 + + y (m) (x ị ) h m
Tậ đậng xễt cọng thưc Rungễ-Kuttậ bậc 4 nễn thậy n=4 vậ m=4, đọ&ng thơ ị chọn:α 1 = 0; α 2 = 1 2 ; α 3 = 1 2 ; α 4 = 1 vậ β 21 = 1 2 ; β 31 =0; β 32 = 1 2 ; β 42 =0; β 41 =0; β 43 = 1
Tậ đươc cọng thưc Rungễ-Kuttậ bậc 4: y(x) ị+1 = y(x ị +h) ≈ y ị + 1
Tư cọng thưc đậ" chọ, tậ cọ: dv dt ≈ ∆ v ∆ t = v ( t i+1 ) −v ( t i ) t i+1 −t i
Suy rậ: v ( t i+1 ) −v ( t i ) t i+1 −t i =g− c d m v ( t i ) 2 → f (t ,v )=g− c m d v 2 ÁMp dung phương phập Rungễ-Kuttậ vậ ọ bậ ị tọận: v(t ị+1 ) = v(t ị +h) ≈ v ị + 1 6 (K 1 + 2K 2 + 2K 3 + K 4 )
Tậ cọ: v=g− C d m v 2 , h=1; x 0 = 0; y 0 = 0 Bậ3m mậy: Quy ươc v = Y
Vậy vận tọ3c cu0ậ ngươ ị nhậ0y trọng 10 gịậy đậ&u tịễn vơị bươc kìch thươc h =
1 (s) bậ5ng phương phập Rungễ-Kuttậ lậ 49,3910 m/s
Xễt bậ ị tọận f ( x )=0 vơị khọậ0ng cậch ly nghịễm (ậ,b).
Gịậ0 sư0 phương trì nh f ( x)= 0 cọ nghịễm chình xậc x nậ5m trọng khọậ0ng cậch ly nghịễm [ậ,b] vậ f ( a) f (b)> NCX = sqrt(g*m/cd)*tanh(sqrt(g*cd/m)*t)
Phương pháp chia đôi là một kỹ thuật hiệu quả để tìm nghiệm của hàm số Đầu tiên, người dùng nhập các giá trị cho g, m, v và t Hàm f được định nghĩa để tính toán sự khác biệt giữa giá trị đầu vào và v Với các giá trị cd_a và cd_b ban đầu là 0.2 và 0.5, thuật toán sẽ lặp lại n lần (n=3) để tính toán cdi, giá trị trung bình của cd_a và cd_b Nếu tích f(cdi) và f(cd_b) nhỏ hơn 0, giá trị cd_a sẽ được cập nhật; ngược lại, cd_b sẽ được điều chỉnh Cuối cùng, kết quả nghiệm cd được in ra với độ chính xác cao.
Phương pháp Secant được sử dụng để tìm nghiệm của phương trình liên quan đến các biến g, m, v, và t Đầu tiên, người dùng nhập các giá trị cho g, m, v, và t Hàm f được định nghĩa để tính toán giá trị dựa trên các tham số này Hai giá trị khởi đầu cd0 và cd1 được chọn lần lượt là 0.2 và 0.5 Trong vòng lặp, giá trị mới cd2 được tính toán bằng công thức Secant, sau đó cập nhật cd0 và cd1 cho vòng lặp tiếp theo Cuối cùng, kết quả nghiệm cd được in ra với định dạng số thực.
Kết quả thu được
Phương pháp Euleur cải tiến : Gịậ trị cu0ậ vận tọ3c v thễọ cọng thưc Eulễur cậ0ị tịễ3n trọng khọậ0ng t [0;10] gịậy
Hì nh 1.1 Hì nh chup tư cư0ậ sọC Cọmmậnd Wịndọw cu0ậ Mậtlậb
Phương pháp Runge Kutta: Gịậ trị cu0ậ vận tọ3c v thễọ cọng thưc Eulễur cậ0ị tịễ3n trọng khọậ0ng t [0;10] gịậy
Hình 1.2 Hình chụp từ cửa sổ Command Window của Matlab
Nghiệm chính xác: vận tọ3c cu0ậ vận đọng vịễn lậ v= √ gm c d tanh ( √ gc m t d ) vơị t trọng khọậ0ng [0;10] gịậy
Hình 1.3 Hình chụp từ cửa sổ Command Window của Matlab
Nhận xét: Thễọ phương phập Rungễ Kuttậ chọ kễ3t quậ0 gậ&n đung vơị nghịễm chình xậc hơn sọ vơị phương phập Eulễur.
4.3 Nghiệm chính xác: v = √ g.m cd tậnh( √ g.cd m t)
Hậ m f(c d ) = √ g.m cd tậnh( √ g.cd m t) – v = √ 9,8.95 cd tậnh( √ 9,8.cd 95 10) – 46
Hình 1.4 Hình chụp từ cửa sổ Command Window của Matlab
Sậị sọ3 sọ vơị nghịễm chình xậc: ¿ cd −NCX ∨ ¿ cd ¿ 100% = ¿0.3875−0.4124∨ ¿
- Ưu địễCm: Đơn gịậ0n, dễ tình tọận vì mọị lậ&n tình chì0 cậ&n tình gịậ trị hậ m sọ3 tậị địễCm gịư"ậ cu0ậ khọậ0ng.
- Khuyễ3t địễCm: Tọ3c đọ họị tu chậm, đọ chình xậc khọng cậọ.
Hình 1.5 Hình chụp từ cửa sổ Command Window của Matlab
Sậị sọ3 sọ vơị nghịễm chình xậc ¿cd −NCX ∨ ¿ cd ¿ 100% = ¿0.4090 −0.4124∨ 0.4090 ¿ ¿ 100% = 0.8313%
Kết luận: du ng phương phập Sễcậnt chọ kễ3t quậ0 gậ&n chình xậc hơn
BÀI TOÁN 2
Cơ sở lí thuyết
2.1 Phương pháp bình phương nhỏ nhất Định nghĩa: Phương phập bì nh phương tọ3ị thịễCu (Ordịnậry lễậst squậrễ), cọ n gọị lậ bì nh phương nhọ0 nhậ3t lậ mọt phương phập tọ3ị ưu họậ đễC lưậ chọn mọt đươ ng khơp nhậ3t chọ mọt dậ0ị dư" lịễu ưng vơị cưc trị cu0ậ tọCng cậc sậị sọ3 thọ3ng kễ (ễrrọr), sậọ chọ khọậ0ng cậch tư sậị sọ3 tọậ n phương trung bì nh cu0ậ cậc địễCm cu0ậ tập dư" lịễu đễ3n đươ ng nậ y lậ ngậ(n nhậ3t
Phương pháp bì nh phương nhọ là một kỹ thuật quan trọng trong việc xác định hàm số f(x) từ bảng thực nghiệm thu được Để tìm ra hàm này, ta cần áp dụng các phương pháp tối ưu hóa nhằm giảm thiểu sai số giữa giá trị thực nghiệm và giá trị dự đoán Công thức tính toán sai số được sử dụng là g = ∑ (f(xi) − yi)², với i chạy từ 0 đến n, trong đó xi là các giá trị đầu vào và yi là các giá trị thực nghiệm tương ứng.
Mọt sọ3 dậng hậ m xậ3p xì0 thươ ng gậ*p:
- Tậ đị tì m ậ, b sậọ chọ hậ m g(ậ,b) đật cưc tịễCu vơị g ( a,b)= ∑ (ax i 2 +b− y i ) 2
- Tậ đị tì m ậ, b, c sậọ chọ hậ m g(ậ,b,c) đật cưc tịễCu vơị: g( a,b ,c)= ∑ (a x i 2 + b x i + c−v i ) 2
- Vơị g(x) vậ h(x) lậ cậc hậ m lịễn tuc chọ trươc: tậ tì m ậ, b sậọ chọ hậ m S(ậ,b) = ∑ [ag ( x i ) +bh ( x i ) − y i ] 2 đật cưc tịễCu.
2.1.1 Biến đổi phương trình thành dạng tuyến tính bằng cách nghịch đảo
K s 2 + S 2 ta được phương trình sau:
Phương trì nh (1) trơ0 thậ nh: 1 v =a s 1 2 +b , (2) Phương trì nh (2) cọ dậng y = ậx + b Tậ đị tì m ậ, b sậọ chọ hậ m
S( a,b)= ∑ ( a S 1 i 2 + b− 1 v i ) 2 đật cưc tịễCu. Đậọ hậ m rịễng hậ m S(ậ,b) thễọ ậ, b đễC tì m địễCm dư ng:
Tậ lập đươc bậ0ng tư dư" lịễu cu0ậ đễ& bậ ị: i S i v i 1
Thậy bậ0ng gịậ trị trễn vậ ọ hễ phương trì nh (3) tậ đươc:
2.1.2 Phương trình v = aS 2 + bS + c có dạng y = ax 2 + bx + c
Tậ đị tì m ậ, b, c sậọ chọ hậ m S( a,b ,c )= ∑ (a S i 2 +b S i +c−v i ) 2 đật cưc tịễCu. Đậọ hậ m rịễng hậ m S(ậ,b,c) thễọ ậ, b, c đễC tì m địễCm dư ng:
Tậ lập đươc bậ0ng tư dư" lịễu cu0ậ đễ& bậ ị: i S i v i S i 2 S i 3 S i 4 S i v i S i 2 v i
Thậy bậ0ng gịậ trị trễn vậ ọ hễ phương trì nh (4) tậ đươc:
Trong nghiên cứu này, các tham số được xác định là ậ = -0.062, b = 0.0987 và c = -0.0352 Nhằm cải thiện độ chính xác của mô hình, cần điều chỉnh các yếu tố để phù hợp hơn với dữ liệu thực tế Đối với mô hình tuyến tính, với K s = 2.8127 và m = 0.4083, ta có thể xác định công thức v i ' = 0.4084 × S^2.
Tình Mean Square Error (MSE )= 1 n ∑ i=1 n
Vơị n = 7; cậc gịậ trị v ị vậ v’ I đươc thễC hịễn trọng bậ0ng sậu: i S i v i v i ' ( v i −v i ' ) 2
Vậy gịậ trị MSE cu0ậ mọ hì nh tuyễ3n tình lậ MSE = 0.000115412. Đọ3ị vơị mọ hì nh pậrậbọl, vơị hễ sọ3 ậ, b, c đậ" tình đươc tậ cọ: v i ' =−0.0062 S 2 + 0.0987 S−0.0352
Tương tư, tậ cọ n = 7; cậc gịậ trị v ị vậ v’ I đươc thễC hịễn trọng bậ0ng sậu: i S i v i v i ' ( v i −v i ' ) 2
Vậy gịậ trị MSE cu0ậ mọ hì nh pậrậbọl lậ MSE = 0.000093191 < 0.000115412
Kết luận: Cọ thể thấy giá trị MSE của mô hình hồi quy tuyến tính thường thấp hơn so với mô hình hồi quy phi tuyến, nên ước lượng được ràng buộc của mô hình hồi quy tuyến tính chính xác hơn.
% cal X total for i = 1 : N X_total = X_total + X(1,i); end
% cal Y total for i = 1 : N Y_total = Y_total + Y(1,i); end
% cal XX total for i = 1 : N XX_total = XX_total + X(1,i)^2; end
% cal XY total for i = 1 : N XY_total = XY_total + X(1,i)*Y(1,i); end
% this is the equantions need to be calculated eqn1 = XX_total*a + X_total*b == XY_total; eqn2 = X_total*a + N*b == Y_total;
% the function to sol sol = solve([eqn1, eqn2], [a,b]);
% results aSol = round(sol.a, 6) bSol = round(sol.b, 6) vm = 1/bSol;
Ks=sqrt(aSol/bSol); fprintf('giá trị của vm là %f\n', vm); fprintf('giá trị của Ks là: %f\n', Ks);
% plot the figure figure x = 0:0.01:1; y = aSol*x+bSol; plot(x,y) title('biểu đồ minh họa') xlabel('nồng độ 1/S^2') ylabel('Tốc độ 1/v') hold on scatter(X, Y) hold off
V = [0.07 0.13 0.22 0.275 0.335 0.35 0.36]; err = 0; for i=1 : N err = err + (V(1,i)-vm*S(1,i)^2/(Ks^2+S(1,i)^2))^2*1/N; end fprintf('sai số cần tính là %f\n', err);
% cal X total for i = 1 : N X_total = X_total + X(1,i); end
% cal Y total for i = 1 : N Y_total = Y_total + Y(1,i); end
% cal XX total for i = 1 : N XX_total = XX_total + X(1,i)^2; end
% cal XY total for i = 1 : N XY_total = XY_total + X(1,i)*Y(1,i); end
% cal XXX total for i = 1 : N XXX_total = XXX_total + X(1,i)^3; end
% cal XXXX total for i = 1 : N XXXX_total = XXXX_total + X(1,i)^4; end
% cal XXY total for i = 1 : N XXY_total = XXY_total + (X(1,i)^2)*Y(1,i); end
To solve the equations, we have the following relationships: Equation 1 states that the sum of XX_total multiplied by 'a', X_total multiplied by 'b', and 'N' multiplied by 'c' equals Y_total Equation 2 expresses that XXX_total times 'a', XX_total times 'b', and X_total times 'c' is equal to XY_total Lastly, Equation 3 indicates that XXXX_total multiplied by 'a', XXX_total multiplied by 'b', and XX_total multiplied by 'c' equals XXY_total.
% the function to sol sol = solve([eqn1, eqn2, eqn3], [a,b,c]);
% results aSol = round(sol.a, 6); bSol = round(sol.b, 6); cSol = round(sol.c, 6); fprintf('phương trình cần tìm là v=%f.S^2 + %f.S + %f\ n',aSol,bSol,cSol)
% plot the figure figure x = 0:0.1:10; y = aSol*x.^2+bSol*x+cSol; plot(x,y) title('biểu đồ minh họa') xlabel('nồng độ S') ylabel('Tốc độ v') hold on scatter(X, Y) hold off
V = [0.07 0.13 0.22 0.275 0.335 0.35 0.36]; err = 0; for i=1 : N err = err + (V(1,i)-(aSol*S(1,i)^2+bSol*S(1,i)+cSol))^2*1/N; end fprintf('sai số cần tính là %f\n', err);
Hình 2.1 Hình chụp từ cửa sổ Command Window của Matlab
Hình 2.2 Biểu đồ minh họa
Hình 2.2 Hình chụp từ cửa sổ Command Window của Matlab
Hình 2.4 Biểu đồ minh họa
Nhận xét cho thấy kết quả tình toán đạt được là sự kết hợp giữa các phương trình bậc cao và tập dữ liệu lớn hơn Bên cạnh đó, khi xử lý dữ liệu đường cộng, tác động của quy phạm tuyết thực sự quan trọng do sự sử dụng các phép biến đổi tuyết tình Điều này làm cho kết quả tình toán trở nên chính xác hơn Lý do là việc tối ưu hóa sai số giữa các phương cuốc dữ liệu không giống với sai số cuốc dữ liệu.
BÀI TOÁN 3
Phương pháp Euler cải tiến
ĐễC tậ*ng đọ chình xậc cu0ậ phương phập Eulễr ngươ ị tậ lậ m như sậu: Thễọ cọng thưc Nễwtọn-Lễpnịtz, tậ cọ y ( t 2 ) −y ( t 1 ) = ∫ t 1 t 2 y ' ( t ) dt
Tình gậ&n đung tìch phận xậc định ơ0 vễ3 phậ0ị bậ5ng cọng thưc hì nh thậng tậ cọ:
Thậy t 1 bậ5ng t k , t 2 bậ5ng t k+1 , tậ cọ: y k +1 = y k + h
Ngươ ị tậ đậ" chưng mịnh đươc rậ5ng sậị sọ3 cu0ậ (1) tậị địễCm x i lậ : ¿ y k − y( t k )∨≤ M h 2 , trọng đọ M lậ hậ5ng sọ3 khọng phu thuọc h
Cọng thức (1) chính xác hơn cọng thức Euler, mặc dù nó có nhược điểm là xuất hiện các phần phức tạp hơn Khi áp dụng vào bài toán, cọng thức này cho phép chúng ta tính toán chính xác hơn trong việc giải quyết các phương trình Do đó, đây là một phương pháp hiệu quả Người ta thường so sánh phương pháp (1) với phương pháp Euler để thấy rõ sự khác biệt trong độ chính xác và tính hợp lý của từng phương pháp.
Tậ cọ cọng thưc Eulễr y o =α y k+1 ≈ y k +h f ( t k , y k ) , k =0,1,2 ,…,(n−1) y 0 = y (t 0 ) đậ" bịễ3t Vơị k =1 ,2 , ,n tậ tình: z= y k −1 +hf ( t k−1 , y k−1 ) y k+1 = y k + h
Công thức (2) được gọi là công thức Euler, giúp tính toán giá trị của các hàm số phức Công thức Euler là một công cụ quan trọng trong toán học, cho phép người dùng dễ dàng áp dụng để giải quyết các bài toán liên quan đến số phức và hàm mũ.
(đươc ky hịễu lậ z ) vậ du ng z đễC tình Khị lọậị bọ0 z tậ đươc cọng thưc Eulễr cậ0ị tịễ3n dươị dậng: y (t k+1 )≈ y k+1 = y k +h f ( t k , y k ) + f ( t k+1 , y k +hf (t k , y k ) )
2.1.2 Hệ phương trình vi phân
Tương tư vơị cọng thưc Eulễr đọ3ị vơị hễ phương trì nh vị phận lậ : x ( t k ) ≈ x k =x k−1 +hf (t k−1 ,x k−1 , y k−1 ) y ( t k ) ≈ y k = y k−1 + hg(t k−1 ,x k−1 , y k−1 ) k =1,2 ,… n
Xễt hễ phương trì nh vị phận x ' ( t ) =f ( t , x ( t ) , y ( t ) ) y ' ( t ) =g ( t , x ( t ) , y ( t ) ) t ϵ [ t 0 ,t 0 + H ] x ( t 0 ) =α y ( t 0 ) =β
Chịậ đọận [ t 0 ,t 0 + H ] thậ nh n đọận nhọ0 bậ5ng nhậu cọ đọ dậ ị h= H n Cậc địễCm chịậ lậ t k =t 0 +k h,k =0,1 ,….,n Gịậ trị gậ&n đung tậị địễCm t k cu0ậ x (t) lậ x k =x (t k ) , cu0ậ y (t) lậ y k = y (t k )
Tậ xậy dưng cọng thưc hễ phương trì nh vị phận dưậ trễn phương phập Eulễr cậ0ị tịễ3n như sậu:
2.2.1 Giải thuật cho phương trình vi phân theo phương pháp Euler cải tiến
Nhập a,b, y 0 vậ n Đậ*t h= b−a n ,t 0 =a Vơị k =1,2 , , n tình z= y k −1 +hf ( t k−1 , y k−1 ) y k = y k−1 + h
2.2.2 Giải thuật cho hệ phương trình vi phân theo phương pháp Euler cải tiến
2.3 Spline bậc ba tự nhiên
2.3.1 Định nghĩa spline bậc ba tự nhiên
Chọ f (x) xậc định trễn đọận [ a,b] vậ mọt bậ0ng sọ3 x a= x 0 x 1 x 2 … x n =b y y 0 y 1 y 2 … y n Đậ*t y k =f ( x k ),k =0 .n Mọt splịnễ bậc bậ tư nhịễn nọị suy hậ m f ( x) trễn [ a,b] lậ hậ m g( x) thọ0ậ cậc địễ&u kịễn sậu:
- g(x ) cọ đậọ hậ m đễ3n cậ3p 2 lịễn tuc trễn [a,b]
- g(x )=g k ( x) lậ 1 đậ thưc bậc bậ trễn mọị đọận [ x k , x k+1 ], ∀ k=0 .n−1
2.3.2 Thuật xác định spline bậc ba tự nhiên Địễ&u kịễn g ' ' ( a ) =g ' ' ( b ) =0 ⟹ c 0 =c n =0
Bước 2: Gịậ0ị hễ AC=B tì m C vơị C= ( c 0 ;c 1 ;…; c n−1 ;c n ) T
Bước 3: Tình cậc hễ sọ3 a k , b k ,d k a k = y k , ∀ k=0 .n b k = y k+1 − y k h k − h k
3 Code: function bai3 clear; clc;
%% Giai theo Euler cai tien for n=1:N
%Ve spline tu nhien ts=0:.625:10; xq1 = 0:.01:10; s1 = spline(ts,x,xq1); plot(ts,x,'o',xq1,s1,'-') hold on s2=spline(ts,y,xq1); plot(ts,y,'o',xq1,s2,' ');
%% Tim nghiem chinh xac bang ham ode45
%%Hpt vi phan function dy=hpt(t,y) dy=zeros(2,1); dy(1)=a*y(1)-b*y(1)*y(2); %Y(:,1) la so con moi dy(2)=-c*y(2)+d*y(1)*y(2);%Y(:,2) la so thu san moi end
In this experiment, we accurately plot the data points for both X and Y using distinct line styles, with solid lines representing the sample points for X and dashed lines for the sample points for Y The legend clearly differentiates between the sample points and their respective splines, ensuring clarity in the representation of the new and traditional spline results.
Trong tháng 10, số lượng con mới và số lượng thú săn mới được ghi nhận Đối với động vật ăn cỏ, số lượng con mới là x(17) và đối với động vật ăn thịt, số lượng con mới là y(17) Sai số giữa số lượng con mới và số lượng thú săn mới trong tháng 10 lần lượt được tính bằng cách so sánh với giá trị Y(17,1) và Y(17,2).