Từ những thực tế trên, với mong muốn làm thế nào để có thể giải quyết những bài toán vật lý đơn giản cũng như phức tạp với sự trợ giúp của máy tính đã thôi thúc tôi chọn và thực hiện tập
Trang 2.eÒ2 CAM ON
caste
Bốn năm vừa qua là khoảng thời gian quý báu để em rèn luyện, học tập, chuẩn
bị về mọi mặt cho công tác giảng day sau này dưới sự dạy dỗ, dìu dất của Quý Thầy,
Cô trong khoa Vật lý cũng như của Quý Thay, Cô của trường Đại Hoc Sư Phạm TP Hồ
Chí Minh Em xin gửi đến Quý Thấy, Cô lời cảm ơn chân thành nhất, Chúc Quý Thầy,
Cô sức khỏe và thành công.
Đặc biệt em xin cắm ơn Thẩy-TS Đỗ Xuân Hội, người đã gợi ý ý tưởng để tàiluận văn này; cũng như đã giúp đỡ, hướng dẫn nhiệt tình, nhận xét, góp ý vé mặt nội
dung trong quá trình thực hiện.
|
Trang 3LOF HOI PAU
calle
1 Sự phát triển mạnh mẽ của ngành Công nghệ thông tin dang được ứng dung
rộng rãi trong việc giảng dạy và nghiên cứu khoa học Máy tính có thể giúp con người
giải quyết được rất nhiều vấn để vì nó có khả năng xử lý cực nhanh và chính xác
Riêng trong lĩnh vực vật lý, hiện nay ở nhiều trường Đại học trên thế giới, sinh
viên ngành vật lý được giảng dạy tin học để lập trình tính toán nhằm giải quyết mộtbài toán, mô phỏng, khảo sát một hiện tượng với các ngôn ngữ truyền thống như
Pascal, Fortran, C,
Tất nhiên là máy tính, cũng như các ngôn ngữ lập trình đều do con người tạo thành, cho nên những gì máy tính làm được thì con người bình thường cũng có thể làm
được! Vấn để ở đây là thời gian và tốc độ thực hiện
Ở nước ta, nói chung, sinh viên các ngành không chuyên về tin học đấu tư rất ít
thời gian để tìm hiểu về máy tính; cũng như tìm hiểu và tận dụng khả năng to lớn của
các phần mềm trong công việc của mình bởi những lý do sau:
e Han chế về thời gian và diéu kiện vật chất
e Các sinh viên chưa nhận thức hết vai trò của máy tính trong công việc
sau này của mình.
© Đối với sinh viên ngành vật lý, còn có một lý do quan trọng hơn, là chưa
có trường lớp, sách vở, tài liệu chính quy để có thể giúp ho chon lựa, sử
dụng và học tập.
Tại khoa Vật lý trường Đại học Sư Phạm TP Hồ Chí Minh, sinh viên cũng được
giảng dạy các môn Pascal (hoặc C) ở năm I, Flash và Powerpoint ở năm IV Ở môn
học thứ nhất, sinh viên chỉ được truyền đạt các kiến thức chung chung, không chuyên
sâu phục vụ cho vật lý; ở môn Flash và Powerpoint, sinh viên sẽ được học cách tạo
các mô hình và thiết kế giáo án điện tử
Từ những thực tế trên, với mong muốn làm thế nào để có thể giải quyết những
bài toán vật lý đơn giản cũng như phức tạp với sự trợ giúp của máy tính đã thôi thúc
tôi chọn và thực hiện tập luận văn này: Ứng dụng Matlab khảo sát một số hiện tượng
e Chương I: Khảo sát hiện tượng rơi theo phương thẳng đứng, ném xiên,
không có lực cén môi trường và có lực cẩn môi trường.
e Chương 2: Khảo sát các dao động con lắc, dao động điểu hòa của con
lắc lò xo; dao động tự do của con lắc đơn với biên độ bất kỳ; dao động
tắt dan và cưỡng bức của con lắc lò xo và con lắc đơn
Trang 4e Chương 3: Kiểm chứng lại ba định luật Kepler từ định luật vạn vật hấp
dẫn thông qua khảo sát chuyển động của 9 hành tinh trong Thái Dương
hệ.
© Chương 4: Khảo sát các nhân hút quan trọng trong hiện tượng chaos; đây
là một lĩnh vực còn mới ở nước ta.
3 Thông qua hơn 50 chương trình lớn nhỏ trong tập luận văn này, hy vọng rằng người đọc sẽ có thể hiểu được và sử dụng thành thạo Matlab, cũng như nắm được các
thuật toán, phương pháp khi giả: quyết một bài toán, đặc biệt là khi gặp phải những
bài toán mà chúng ta không thể giải quyết theo phương pháp truyền thống.
Các chương trình mö phỏng được viết sẵn cũng sẽ góp phần vào bộ sưu tập các
mô phỏng cho sinh viên vật lý sau này khi giảng dạy ở các trường phổ thông; hoặc có
thể đùng cho sinh viên làm tài liệu bổ sung môn Cơ học đại cương ở các trường đại
học.
Mặc dù đã có nhiều cố gắng, tập luận văn chấc chấn vẫn không tránh khỏi
những thiếu xót Mong nhận được su góp ý từ Quý Thấy, Cô và các bạn đọc.
TP Hỗ Chí Minh, tháng 5 năm 2004
Trang 5MỤC LỤC
Trang Lời nói đầu
Chương G NGÃ G247 RR 1
A; Tổng quan về Matin oo si es 2
B Tổng quan về mô phỏng và mô hình hóa 6
Chương 1: Các hiện tượng rơi 2222k 9 Ais Ge ch OS OW ae ects oc 10 DG then Osten ccs ect ca dla 10 II Chương trình trong Matlab eee c2 c2 rrrereree it ILL Mô phỏng chuyển động của vật rơi tự đo 12
1 Phương pháp thứ nhất để tạo ảnh động 12
2 Phương pháp thứ hai để tạo ảnh động 13
3 Nhận xét giữa hai phương pháp tạo ảnh động 13
4 Các bước thực hiện cho bài toán vật rơi tự đo 1§
5 Chương trình 222222222222122020 01050 0e econo 16 B Rơi có lực cản không khí In, 2I hs n6 21
II Phương pháp số để giải bài toán 21
17 PHI GRE WO as iets ck x06 2026222226622) 21 3ˆ Phưng ph pe6 sooo oes 22 3;MwgGc6h chưng ĐÀN 126214260222 ciáickecse: 23 Ác Chung Waa he iia sates cca 9160000100022 4G2a6E 23 III Phương pháp giải tích 22122225122222/22222227017227 25 1 Giải phương trình T=g-M' lu Tu n nan: 25 2 Giải phương trình vi phân và tính tích phân dùng các câu lệnh của Matiab 5 scs 26 3 Viết chương trình +++-cczvstrezrzvEErrr.rrrrrrzv 21 4 Mô phỏng chuyển động - 552202 29 C Khảo sát chuyển động rơi tổng quát không lực cản 35
LÔ empl casts ure SS 6u) 35 Go GIANG VÔ tk ese v16 126sc06ov ca 35 1 Khảo sát đổ thị v(t), x(t), y(Ò S2 35 2 Mô phỏng chuyển động, - 22 5-SSs22szcrve 38 D Khảo sát chuyển động rơi tổng quát có lực cẳn 46
L;Khảo sắt các (ham Sốs:.2S⁄—s2sc<c 2476222 1000162204 c601122 166 46
1 Hệ phương trình vi phân mô tả chuyển
động Của VỆ acc á100/26606)2202i2ïn24204áa 46
Trang 6Oe, ~—kerneeereere= s “2
Phương pháp giải tích PIR ORS PONG HOT PICONET TRITON PICT 59
CHưng De Thame động 6n lềc 2s S2 tscaoss pnconmsnnbenssenscasonvipccorypenes hid 62
A Dao động diéu hòa của con lắc lò xo 63
HẬU Ai), sass sas ai TOA SƯ: ZEP2/VV//1)”}Ƒ\VEOEPCVCEYYLCT SA 63
Võ MXH 6à peers oer rN OT yey pe eens oe pee Oe HT Poe ee 63
2 Viết.chương trình:s.s‹. c:~-<<c eccentric 63
B Dao động tự đo của con lắc đơn 0020222222202 se 68
1 Sự dao động với biên độ nhỏ S c2 cSS-2 68
I, Sự dao động với biên độ bất KY eee ecaeceseecneceeneeeeeeeeeneeee 68
(, Phường Ra iy giải ŒỀ -c-eSSSẴSeeeeee 68
2 Sử dụng các hàm jacobi trong Matlab 69
3 Các chương trình khảo sát 5555552 T0
4 Mô phỏng dao động của con lắc đơn 79
C Dao động tắt dẳn-đao động cưỡng bức 222 0002220022222 c6 84
! Giải phương trình, hệ phương trinh vi phân bằng
các phương pháp số SH e 84
1 Phương pháp Euler 2S 2222250222207 84
2 Phương pháp Runge-Kutta bậc 2 84
3 Phương pháp Runge-Kutta bậc đ 86
11 Lam quen với cách giải một số phương trình,hệ
phương trình vi phân đơn giản cv 86
1 Phương pháp Runge-Kutta bậc 2 86
2 Phương pháp Runge-Kutta bậc 4 90
3 Giải hệ phương trình hoặc phương trình vi
phân cấp cao bằng phương pháp Runge-Kutta
"` ằ Ằƒï_—_——_ —.—=.=== 90
HI Khảo sát dao động tắt dẫn, dao động cưỡng bức của
con lếc Mà XD CS ống co RENE CREE Tana 93
(Lý V227) 222022220612 25/2/20223) 01/020) 94
2 Mô phỏng chuyển động 222-5552 9
IV Khảo sát dao động tắt dẫn, dao động cưỡng bức của
cơn Bếp ĐÓNG24:6660666060 G6060 82s(A2 02 103
17L ÿ Man OR i iss scat aaa asa maa eae 103
2 DAG phỏng dào đỒNG ss ccscisscsceeesisineisscocerestteoebecemerrtieamnsis 103
Chương 3: Kiểm chứng ba định luật Kepier H2
A Kiểm nghiệm lại ba định luật Kepler-Bài toán hai vật 112
[BA COMI Nà VO SG 22t IGG4G60(026461010t6x4i H3
1z Bài Gần Bài YỆ ko sáco2444 n0 x4440t606ixaa H3
2 Áp dụng tim quỹ đạo Trái Đất s c2scc 113
Se BINN TUẬY ELSE es besaioreseoassnbseesnirensessaereesrz 118
Trang 74 Định luật II và II Kepler 80%448422A)2300829/3699880 000009 123
6 Mô phỏng chuyển đông các hành tinh
dinh Mặt TRÒ C2 6c 2Ÿ0662266s0166 ke i22: 126 ILINNIB SG 266cc pret some cenit i63 136
1 Biểu thức định lượng của các định luật Kepler 136
2 Vai trò của các điểu kiện đẩu 136
Bi See GON is S60i0212))8010166 10800 200A4(by04taxGXiieseussetad 138
1 Sv Hạb mãnh Sao đỒ 22s eases sce S602 eguiea 138
11 Cha9 đạo củn Bee ĐỒ: << c6 1k lc022/02 da 138
II Khảo sát một mô hình Sao đôi ‹- Ă se 139
1 Khảo sất quỹ đạo, chu kỳ, khoảng cách
đến tâm chung của mỗi Sao trên quỹ đạo 140
2 Mô phỏng chuyển động của một hệ Sao đôi 143
CN ES CO Ăn eeeeose=rsnreonnosseemree 154
HH —_————— —ỶŸẰ.Ằ~ớ-Ằằớ-Ằ-S 155
8 Bade sái các ORISA Di a venensereeecesy spent exnepnn nesmonqeasennt(ommeene con sense 158
By FURR ge BAO UG UB BOP perp-oce yp anh an 158
II Hàm mô tả sự tăng dân số eae auton 161
1O ĐH sss ceca ssiss vcaencan boseach abase | anes G0206 14G 161
2 CRO eit niki BE a cs oa ieee 161
3 Khảo sát sự nhân đôi chu kỳ 163
4 Khảo sắt sự nhạy cảm của điều kiện ban đầu 165
5 Tao giao diện để khảo sất - (5555555552 167
TUR; Nhân Bế HÉND C141 in 0à Gã (0464026666606 neon 170
Bi GEE BG vvyyeineeoxiiedaitcoiivanerenraacooeeooeeoeceiees 170
2 Chương trình khảo 880 ccccccssoccsesernnnnsnsorececenosnvananssnesees 171
3 Tạo giao diện khảo SHE c0cccsesssseseseereerenervenneennenreneneennens 172
IV Nhâp BI NÀO koysoseeseeennoeeteosoeonnonoooceeonnoeeooenoasoonnooosooneooseoooo 176
2 Chương trình khảo sắt S226 176
3 Tạo giao diện khảo sát 178
1¿ Q00 thê PRE RERS A RRR STAN Up pteny ee Dap ry Sen 6600665 181
2 Chương trình khảo sát cce.eeseeees 181
3 Tạo giao diện khảo sắt cc.ceecce 183
LD KẾY he G020) (0656GGGG1026001206021266161104300)20380.96641109403661018G4100S¿& 185
PP NGIGGG16c0áccGGGGG2GG%01006AákSc666460A46004444G6G-tk466iise4š 186
Trang 8Ung dung Matlab kikẳo sat một vế hign higng cơ học
CHƯƠNG 0: MỞ ĐẦU
COhutemy 0: Mé đâu
Trang 9đững dụng Matlab khhảe lát met id hign litgng cế hee
TONG QUAN VE MATLAB
Matlab (Matrix laboratory) là một môi trường tính toán rất mạnh Ngoài những
cầu lênh cơ ban phải có ở một ngôn ngữ lập trình: lệnh xuất - nhập; cấu trúc điều
kiện, vòng lập; xử lý chuỗi, mảng Matlab còn có một thư viện ham tích hợp khống lỏ
VỀ mặt toán học, chúng ta có thể để dang tìm nghiệm của một phương trình, phương
trình vi phân, hệ phương trình vi phdn ; các lệnh dùng để tính tích phân, nguyên ham,
dao ham, ma trận (tất cả các phép toán về ma trận) ;, các cấu trúc dang để biến đổi
chuỗi số như biến đổi Fourier, biến đổi Laplace; ngoài ra còn có các cấu trúc thực hiện
các thuật toán Như vậy, với Matlab người dùng sẽ an tâm về công cụ tính toán
Bên cạnh đó, Matlab còn có một thy viên hàm rất mạnh phục vụ cho dé họa: vẽ
các hình từ cơ bản đến phức tạp trong không gian 2 và 3 chiểu, các chế độ tô màu khác
nhau, khả năng tạo ảnh động và khả năng tạo giao diện tương tác với người dùng.
Có thể tóm gọn Matlab qua các vùng làm việc chính của nó như sau:
1, Cửa sổ nhập lệnh (Command Window); Các phép toán, cầu lệnh có thể thực hiện
trực tiếp tit nơi này, nhưng có điểu đặc biệt là chúng ta sẽ không thể sửa đổi lại các
câu lệnh đã nhập trước đó, do vậy cũng bất tiện Đối với những chương trình nhỏ, cỡ vài dòng lệnh, chúng ta có thể dùng cửa số nhập lệnh: nhưng đối với những chương
trình lớn hơn, việc không thể chỉnh sửa các lệnh phía trước là một trở ngại rất lớn Ví
du, để giải phương trình bậc 2, ta có thể gõ lệnh trực tiếp trong Command Window:
Với lệnh help_tén câu lệnh người sử dụng sẽ nhận được các hướng dẫn về cách
sử dụng câu lệnh mình đang cẩn trợ giúp (vi dụ help solve: hướng dẫn về cách dùnglệnh solve) Với lệnh demo, người sử dụng sẽ được xem rất nhiều các chương trình có
sin trong thư viện của Matlab, do nhà sản xuất cung cấp.
2 M-file: Ở môi trường này, người dùng có thể tạo cho mình một chương trình, được
lưu đưới dang hàm mở của Matlab Khi cắn, chúng ta có thể sửa chữa các lệnh bên
Chitong 0: Mé đấu 2
Trang 10Ung dụng Matlab khảo sát một id kiện tượng cơ học
trong các hàm này để thay đổi chức năng của chương trình đã tạo (điểm khác biệt so
với sử dụng Command Windows) Ví du:
function veanh
for x=-100;100
y=x*2;
hold on end
Đây là chương trình vẻ đổ thi của hàm số y =x’ Kết quả thu được:
3 Figure: Nếu chúng ta sử dụng các câu lệnh để vẽ hình thì hình vẽ đó sẽ được thể hiện trong cửa sổ figure Trong cửa sổ này, chúng ta có thể sửa đổi lại một số chi tiết
của hình vẽ nếu muốn: thêm các ghi chú hoặc xem hình vẽ với nhiều chọn lựa khác
nhau về góc nhìn, độ phóng đại, thay đổi màu sắc
4 Tạo giao diện (GUI): Một chương trình (M-file) mỗi lan chạy thì chúng ta phải gọi
lại tên chương trình đó và thay đổi các thông số của chương trình qua bàn phím hoặc
trong cấu trúc chương trình Diéu này cũng không thuận tiện cho việc trình điển Do đóMatlab cung cấp một công cụ giúp người dùng tạo các giao diện tương tác Qua đó,
người dòng có thể thay đổi các thông số trực tiếp trên giao điện này Ví dụ: giao diện
khảo sát hàm gia tăng din số (chương 4):
Ohutong 0: Mé đâu 3
Trang 11đừng dụng Matlab khảo vắt một số liệm tượng cơ hoe
Ta thay đổi trực tiếp các thông số từ các con trượt hoặc khung nhập số liệu.
5 Simulink và Model: Đây là môi trường cung cấp cho người dùng các khối tượng
trưng cho các dang tín hiệu, các máy thu, máy phát giúp người sử dụng có thể tạo các
mô hình để mô phỏng lại một sự biến đổi, một quá trình nào đó (biến đổi của một tín
hiệu chẳng hạn) Ví dụ:
Chuteng 0: Mé đấu 4
Trang 12Ung dụng Matlab khảo sát một id hiện tượng oo học
Ngoài ra, Matlab cho phép liên kết với một số ngôn ngữ lập trình khác, hoặc một số
môi trường ứng dụng khác bằng cách sử đụng thích hợp các câu lệnh.
Trong giới hạn của tập luận văn nay, chúng ta chỉ sử dụng đến 4 chức năng đầu
tiên của Matlab, phiên bản 6.5 (Matlab 6p§) Các Simulink và Model là những chức
năng rất hay, nhưng đồi hỏi phải có thời gian để khám phá nó Diéu này xin dành cho
các bạn đọc yêu thích Matlab.
©ludeng 0: Mé đầu 5
Trang 13đừng dung Matlab khảo sit mgt số hign litgng cơ kẹc
TONG QUAN VE MO PHONG
1 GIỚI THIỆU
1 Mô phỏng được sử dụng lắn đấu tiên năm 1950 trong kế hoạch chiến lược ở quân
đội Nó được sử dụng trong các lĩnh vực công nghệ chỉ từ đấu những nãm 80 Càng
ngày mô phỏng càng được sử dung rong rãi trong nhiều lĩnh vực khác nhau: kinh tế (m6phỏng sự thay đổi giá cả của một mặt hàng, sức bán của một mặt hàng ), y tế (m6phỏng sự phát triển của bệnh dịch ), sản xuất (mô phỏng sự vận hành của máy móc
trước khi sản xuất ra chúng, mô phỏng những kết quả có thể xảy ra nếu thay đổi một cơ
cấu nào đó của má y ) Vậy mô phỏng là gì?
2 Mô phỏng thường đi đôi với mô hình hóa, và trong nhiều trường hợp chúng ta không
thể phân biệt được hai khái niệm này Nói chung chúng luôn xuất hiện cùng nhau Có
thể hiểu mô phỏng là sự thực hiện một mô hình là hình ảnh thể hiện của thực tế.
Hay nói cách khác, mô phỏng là sự thể hiện lại thực tế bằng một công cụ, phương
tiện nào đó, thông thường là máy tính.
3 Như đã nói, mô phỏng ngày càng trở nên phổ biến trong mọi linh vực, bởi những lý
do
se Sự phát triển nhận thức và hiểu các kỹ thuật mới của con người (kỳ thuật tự
động).
© Sy đa dạng về số lượng khả năng, tính để dàng sử đụng của các phần mềm (tin
học) dùng trong mô phỏng: đặc biệt là các phẩn mềm có chức năng tạo ảnhchuyển động
e Việc sử đụng máy tính ngày càng trở nên phổ biến: máy tính có bộ nhớ và tốc
độ xử lý ngày càng mạnh.
II TRONG LĨNH VỤC VAT LÝ
1 Giới hạn của các phương pháp giải tích
Phương pháp giải tích dùng để giải quyết những bài toán mà chúng ta đã đơn
giản hóa so với thực tế Do vậy, kết quả thu được đôi khi sẽ không phù hợp với hiện
thực Đối với những bài toán phức tạp hơn, thực tế hơn, thường thì phương pháp này
không còn hữu hiệu; đòi hỏi chúng ta phải sử dụng các phương pháp khác để tiếp cận
vấn đề.
Trong lĩnh vực vật lý, mô phỏng được sử dung rộng rãi trong: nghiên cứu, cũng như trong giảng dạy Mô phỏng cùng với việc sử dụng những thuật toán thích hợp sẽ
giúp con người giải quyết được nhiều vấn dé phức tạp
2 Mô phỏng là sự trung gian giữa thực tế và lý thuyết
Trong việc giảng dạy nghiên cứu vật lý có bao gồm một bước là việc làm xuất
hiện mối quan hệ giữa thực tế (các hiện tượng, vật thể, máy móc ) với lý thuyết và
những mô hình được nghĩ hoặc tưởng tượng bởi các nhà vật lý Mô phỏng xuất hiện
như là một sự trung gian thích hợp để làm dé dang bước chuyển đổi giữa lý thuyết vàthực tế.
mm
ung 0: ®W“k đầu 6
Trang 14(Ung dụng Matlab kihúo sát một vế kiệm tung eo lọc
Có 3 cấp độ của việc mô phỏng:
© - Cấp độ tính toán: sử dung máy tính cùng với những phin mềm thích hợp để
nhận số liệu và tính toán các thông xố của mô hình.
© Cấp độ trình điển: Các kết quả tính toán được biểu diễn dudi dạng 46 thị,
biểu đổ và xây dựng các hình ảnh của mô hình (như là con lắc lò xo, mạch
điện ) Để thực hiện được điểu này, người làm mô phỏng cắn phải có
những phần mềm có khả năng đồ họa.
© Cap độ trình diễn lại thực tế: Đây cũng là cấp độ cao nhất Người làm mô
phỏng tạo ra các hình ảnh hoạt động của mô hình, làm cho mô hình có tính
thực tế hơn.
Cấp độ trình điển
—
Cấp độ trình diễn thực tế
3 Tiến hành cho việc xây đựng một mô phỏng
Qua phân tích ở trên, ta thấy rằng việc xây dựng một mô hình mô phỏng có thể
được thực hiện theo các bước sau:
Mô hình lý thuyết
Mô phỏng
Xây dựng mô hình mô —
phỏng dựa trên các kết Đối chiếu, nhận xét, so
quả thu được từ việc xử lý sánh với thực tế.
Dem áp đụng mô
hình trong thực tiễn
4 Uu và nhược điểm của mô phỏng
lung 0: Mé& dau 7
Trang 15Ung dụng Matlab khảo vắt mot vế kiệm tượng «ở học
Trong nhiều tình huống, mô phỏng là công cụ phân tích thích hợp, nó giúp cho
chúng ta giải quyết được nhiều vấn để Tuy nhiên chúng ta cẩn phải cân nhắc kỹ các
ưu nhược điểm của phương pháp này trước khi 4p dung cho một tình huống nào đó:
Mô phỏng có thể được sử dụng ngay cả khi các số liệu đầu vào còn hời hot
Việc phân tích bằng mô hình thường ít tốn kém so với phân tích một hệ thực tế.
Việc mô phỏng cho phép đánh giá những biến số quan trọng đối với hệ, cũngnhư sự tác động qua lại giữa các biến: bằng cách thay đổi giá trị của biến số rồi
nhận xét kết quá của hệ, từ đó xem biến nào có ảnh hưởng quan trọng đối với
sự thay đổi của hệ
Quá trình xây đựng mô hình mô phỏng cho phép thu được những hiểu biết chính
xác hơn vé mô hình lý thuyết được phân tích và có thể chứng minh rằng mô
hình này có thể hoạt động một cách khác so điểu mà mọi người vẫn thường
nghĩ: trong mô phỏng, từ một mô hình đơn giản chúng ta ngày càng thêm vào
các yếu tố khác cho thích hợp hơn với thực tế, những yếu tố thêm vào này có
thể đưa đến kết quả rất khác thường so với suy nghĩ trước đó của con người
4.2 Nhược điểm
Những mô hình mô phỏng có thể tốn kém hơn vì nó cần thời gian khá lớn để
xây dựng và đánh giá tính thực tế.
Nhiều quá trình xử lý thường đòi hỏi, các công cụ tin học hiện đại, đất tiền.
Đôi khi những kết quả thu được từ mô phỏng rất khó giải thích.
5 Khi nào thì cẩn sử dụng mô phỏng?
Khi mà mô hình lý thuyết hoặc hệ đang khảo sát không có lời giải giải tích.
Khi mà những ưu điểm của việc làm mô phỏng nhiều hơn các khuyết điểm
Khi hệ đang xét có sự xuất hiện của biến ngẫu nhiên
Khi cơ chế của hệ quá phức tạp.
Khi mục tiêu của chúng ta là muốn quan sát sự biến đổi của hệ theo thời gian
Khi mà chúng ta coi trọng việc trình diễn một hình ảnh động.
salle
Ohuteng 0: Mé đầu 8
Trang 16dừng dung Matlab khảo vit ah hidn tt oo
CHƯƠNG 1 CÁC HIEN TƯỢNG ROI
Trong chương đầu tiên này, chúng ta
sẽ khảo sát các chuyển động rơi không
cố lực cin không khí và có lực cẩn
không khí tỷ lệ với bình phương độ lớn
vận tốc của vật Để giải quyết chuyển
động có lực cin, những phương pháp số
đơn giản nhất để giải phương trình vi
phân được đưa vào Ngoài ra, chương
này cũng sẽ giới thiệu những câu lệnh
đơn giản, thường gặp của Matlab.
Ohitong 1: ©iíe kiệm ligng rơi °
Trang 17Ung dựng Matlab khảo sát mbt 16 hign lrigng cứ hge
A SỰ ROLTY DO
I LY THUYẾT
Theo định nghĩa, sự rơi của các vật trong chân không chỉ dưới tác dụng của
trọng lực gọt là sự rơi tự do
Trong quá trình rơi tự do vật chuyển động nhanh din đều với gia tốc a=g (gia
tốc trọng trường) Theo đó vận tốc của vật tại một thời điểm bất kỳ và quãng đường mà
vật đi được sau khoảng thời gian t là:
v= Vvạ + gl
với W là vectơ vận tốc của vật tại thời điểm t= 0 Hình vẽ trên mính họa cho hai công
thức bên dưới.
Theo đó 46 thị v(t) là một nhánh của đường thẳng, s(t) là một cung của parabol
Outong 1: Giác kiệm tetgng rot 10
Trang 18Ung dụng Matlab khio sit một vế kiện tung eđ lige
Il CHƯƠNG TRÌNH TRONG MATLAB
Khảo sắt sự rơi tự do rất đơn giản, ở đây chỉ đưa ra chương trình mà khơng cắn
giới thiệu một thuật tốn nào cả Chương trình này xem như để làm quen với các câu
lệnh cơ bản của Matlab.
Các giải thuật sẽ được trình bày ở những đoạn sau, khi khảo sắt các hiện tượng
rơi khác tổng quát hơn.
Chương trình
function roitudo;
%⁄4Khao sat do thi s(t), v(t) cua mot vat roi tu do
cle;
%Nhap du lieu ban dau
dispDO THI CUA SU ROI TU DO’)
vũ=input(Nhap van toc ban dau (m/s):");
g“input(Nhap gia toc trong truong (m/s*2):');
dcltat=input(Khoang thoi gian giua hai lan do (s):");
tmax*input(Thoi gian khao sat ($):");
-%Gan nhan va ten cho đo thi
- title("Noa thd v(t), sít)';{ontname','vni-times','fontsize', 12)
xlabel(‘Trulc thời gian t(s)','fontname'’,'vni-times','fontsize’,12)
YLABEL('Tnuic vận todc v(m/s) và quadng đường s(m)','fontname'’,
‘vni-times’,'fontsize’, 12)
gtext('v=v(t)')
gtext('swa(t)') xả: i
Chạy thử chương trình với các giá trị của v0, g, deltat, tmax ta sẽ thu được các
đổ thị s(t) và v(t) Chú ý rằng với khoảng thời gian giữa hai lin khảo sát deltat càng
nhỏ thì đổ thị thu được càng chính xác
Với v0=0m/s; g=9,8n/s`; deltat=0,01s; tmax=5; ta cĩ kết quả sau:
ung 1: Ode kiện titgng rơi 7
Trang 1911 MÔ PHONG CHUYỂN ĐỘNG CUA VAT RƠI TỰ DO
Vội dường như di chuyển theo đường
chéo của bức ảnh khi 5 bức ảnh trên
được chống lên nhau.
Chúng ta sẽ sử dụng nhận xét trên để tiến hành tạo hình ảnh của một vật rơi tự
do, cũng như cho tất cả các mô phỏng khác trong các phần sau
Ohitong 1: Cae kiện tigng rot r2
Trang 20tấn, Matlab khảo sit xổ hignt œ
Tác dung: Giữ lai nền đã được chọn, nghĩa là giữ lại “nền” của các bức ảnh
2 Phương pháp thứ hai để tạo ảnh động
2.1 Nguyên tắc
Ở phương pháp này, chúng ta cũng giữ nguyễn nền của hình ảnh Tại thời điểm
t, ta vẽ vật; tại thời điểm t+dt tiếp theo ta cũng vẽ vật và đồng thời trong lẳn vẽ này,
vật được vẽ ở thời điểm t sẽ bị xóa đi nhờ một câu lệnh.
2.2 Các lệnh sử dụng trong Matlab
2.2.1 Lệnh Aanlde=plot(x,y,’*') ;
Lệnh này có tác dụng tạo một Aandle để vẽ vật tại tọa độ x, y Về sau, để vẽ
vật, ta không cắn dùng lệnh plot, chỉ cắn gọi lại handle Muốn thay đổi các thông số
cần vẽ ta thay đổi trực tiếp trên handle này
2.2.2 Lệnh sef(handle, 'erasemode ', 'xor ')
Lệnh này gửi đến thuộc tính erasemode của handle giá trị là xor Erasemode là
thuộc tính vé chế độ xóa; xor có ý nghĩa là xóa những hình ảnh trước đó Nếu ta thay
“sor” bồi "none” thì các hình vẽ trước sẽ không được xóa.
2.2.3 Lệnh set(handle, 'xdata’,x,"ydata’,y)
Vật chuyển động, nghĩa là các tọa độ x, y sẻ thay đổi theo thời gian Nên tại
mỗi lin vẽ vật, chúng ta thay đổi các thông số xdata, ydata của handle dé thay đổi
tương ứng vị trí của vật.
2.2.4 Lệnh drawnow
Lệnh này có tác dụng thực hiện động tác vẽ.
3 Nhận xét giữa hai phương pháp tạo ảnh động
Với phương pháp thứ nhất, do có sự chdng chập giữa các bức ảnh với nhau, nên
hình ảnh thu được sẽ không đẹp Mà cụ thể là ta sẽ thấy phong nền liên tục “rung”,
xuất hiện các sọc ngang chạy dài từ trên cao xuống trong quá trình vật chuyển động.
Phương pháp thứ hai khắc phục hoàn toàn nhược điểm này, ta sẽ có hình ảnh vật
chuyển động đẹp hơn, hình không còn bị rung >
Cho nên trong những chương trình mô phỏng về sau, phương pháp hai sẽ được vận dụng chủ yếu.
Cũng xin giới thiệu một chương trình đơn giản, được xử lý lin lượt bằng cả hai
phương pháp; và ding lin lượt cả hai chế độ xóa xer và none trong phương pháp hai,Chương trình này mô phỏng chuyển động của vật có quỹ đạo hình xoấn ốc (chuyểnđộng của electron trong điện từ trường chẳng hạn)
Trang 21Ung dụng Matlab khảo sit một số kiệm lagng sơ hge
Ta chọn thời gian khảo sát là t=0:0,01: 10 (giây).
Các chương trình như sau :
chuyển động như sau:
Ohiteng f: Cade kiệm tung ret 14
Trang 22lng dụng Matlab kde sát một id hiện tượng eo hee
4 Các bước thực hiện cho bài toán vật rơi tự do
4.1 Tính số bức ảnh cần thiết
Đối với bài toán này, ta nhận thấy sau một khoảng thời gian rơi vật sẽ chạm
đất, do đó số bức ảnh cẩn thiết (từ nay về sau ra sẽ gọi tất là j) có giới hạn và cẩn phải được xác định Khác với nhiều trường hợp khác, như dao động điều hòa, j có
giá trị tùy ý, theo yêu cầu của người khảo sát.
Ban đầu vật ở độ cao h, có vận tốc vạ (v,>0 nếu vạ hướng xuống, và
ngược lại), Dễ dàng tính được khoảng thời gian cắn thiết để vật chạm đất là:
thời giá trịj cẩn thiết là: j =—
Vì j không thể lẻ, nên phải làm tròn bằng cách sử đụng hàm round Nếu
phẩn lẻ của j vượt quá hay bằng 0,5 thì round(j)= (phần nguyên của j)+1 Ví dụ
round(1,7)=2 Ngược lại nếu phần lẻ của j nhỏ hơn 0,5 thì round(j)= phần nguyên
của j Ví dụ round(1,4)=1 Đây là điều cẩn lưu ý nếu muốn tạo ảnh chính xác
hương 1: Cae kiện trgng roi 75
Trang 23Ta còn có 2 ảnh đặc biệt: một ảnh ghi lại trạng thái ban đầu của vật, day là ảnh
tĩnh, vật “bị treo lơ lửng", chỉ khi nào nhấn phím ENTER từ người diéu khiển thi quá trình rơi mới bất đầu Ảnh thứ hai cũng là ảnh tĩnh, ghi lại trạng thái của vật khi đã
Ngoài handle chính dùng để vẽ vật, ta dùng thêm 5 handle phụ là các text Các
text này sẽ ghí lại thời điểm, độ cao, vận tốc của vật.
5 Chương trình
function mophoagrtd
%4Mo phong chuyen dong cua mot vat theo phuong thang dung
cle
%4'Nhap du lieu ban dau
h“input(CDo cao ban đau (m):);
đeltat=input('Khoang thoi gian gius hai lan khao sat (s):');
vOwinput(Van toc ban dau (m/s);’);
g@input('Gia toc trong truong (m/s*2):');
Trang 244 Miatlah &káo vit 4 oo
xlabel("Théei gian (sỲ, ỔfontsizeỖ,12,ỖcolorỖ,ỖmỖ,"fontnameỖ,'vni-times' )
ylabel("Vaiin toác (m/s)', ỔfontsizeỖ,12,'colorỖ,'mỖ,'fontname',\vni-times' )
- xiabel("Thôụi gian (s}, 'fontsize', | 2,'eoloặ,'m','fontnarne',Vni-tipes' )
- ylabel(Quađng ựđỏôụng (mỳ, 'fontsize',12,'color','m''fontname','vni-timesỢ)
- axis([0 T 0 s(soanh)])
Ở=====ỞỞỞỞỞ-Tao các text thong baoỞỞ===========ỞỞ
-%4Text thoi gian, do lon thoi gian, don vi thoi gian
_ệText cho quang duong dich chuyen
Cua ng 1: Ode hign tượng rot
Trang 25%4Gan cac gia tri cho cac handle ve va các text thong bao
set(handle chính, 'xdata',10,ydata ,y()) set(handle_v/xdata',1()),ydata',v(j))
set(handlc x,'xdata'1),ydata',s()))
set(text_thoigian,‘string’,t(j))
set(text_docao,'string’ y(j))
set(text_vantoc,'string’,v(j)) set(text_quangduong, 'string’,s(j))
drawnow
el;
end
© Chwong trình này có thé sử dung cho trường hợp vật được ném lên trên
© Chạy thử chương trình: độ cao ban đầu h=200m; khoảng thời gian giữa hai lần
khảo sát 0,01s; vận tốc đầu vụ =10m/s ; gia tốc trọng trường g =9,8Im/+° Kết
quả thu được như sau:
Trang 26Lúc t= 0, máy dang ở trạng thái chờ.
$$
lung 1: Cade kiện tượng rơi THU VIÊN
Trưởng thụ Ho Sư- ham
TY, HÔ-UH ;, HO - LH win
Trang 27Vật chụm đất ở thời điểm t=5,44699s.
Chutong 1: Cae kiện tidgwg rot
Trang 28Ms Matlab thao cát ad hign «o
B ROL CÓ LỰC CAN CUA KHÔNG KHÍ
I.LÝ THUYẾT
Khi chuyển động trong chất lưu vật sé chịu tác dụng của lực cản Thực nghiệm
cho thấy lực cản này tỷ lệ với bình phương độ lớn vận tốc trong trường hợp chuyển
động với vận tốc lớn hoặc tỷ lệ với độ lớn vận tốc trong trường hợp vật chuyển động
chim.
Ở đây chúng ta sẽ xét trường hợp thứ nhất, khí mà vật rơi xuống từ một nơi khá
cao:
r= Ck’,
với C là hệ xố cản, không thứ nguyên; & =3PA „ Ø là khối lượng riêng của chất lưu, A
là tiết diện hiệu dụng của vật (diện tích tiết diện ngang vuông góc với vận tốc v).
Đối với vật hình cầu bán kính r thì 4= #r; và chúng ta chỉ xét trường hợp này
Xét vật có dạng hình cẩu (viên bi chẳng hạn) rơi theo phương thẳng đứng, gia
tốc của vật là: a=g-P4y hay — ~.
II PHƯƠNG PHÁP SỐ ĐỂ GIẢI BÀI TOÁN
1 Phân tích toán học a.
1.1 Vận tốc
Ta biết rằng gia tốc a là đạo hàm của vận tốc v theo thời gian nên:
với v(t+h) là vận tốc tại thời điểm t+h; v(t) là vận tốc tại thời điểm t.
biểu thức này càng chính xác khi h càng gắn về 0.
Do vậy ta có sự liên hệ đơn giản giữa giá trị vận tốc tại hai thời điểm t và t+h là;
v(f+ h) = v(t)+ halo) ()
Chitong 1: Ode kiệm tetgng rai 21
Trang 291.2 Quãng đường địch chuyển
Ke tương tự; Vi wht) móc ten EHH van;
dt *= h
s(t +h) = s(t)+ hv{f) (2)
1.3 Ý nghĩa vật lý của hai phép gắn đúng
Ta hiểu rằng nếu xét trong khoảng thời gian rất nhỏ thì có thể xem gia tốc a có
độ lớn không đổi Theo công thức viết cho chuyển động biến đổi déu, vận tốc của vặt
sẽ được xác định như trên, theo (1).
Đồng thời nếu xét trong một khoảng thời gian rất bé thì xem như vận tốc của vật
không đổi, do đó quãng đường mà vật dịch chuyển trong khoảng thời gian đó sẽ làhv(?), từ đó ta có công thức (2) xác định quãng đường mà vật đã dịch chuyển sau
khoảng thời gian t+h.
Một vấn để phải suy nghĩ đó là rõ rằng trong khoảng thời gian rất bé này vận
tốc của vật không phải là không thay đổi Nếu nói rằng a không đổi thì v phải tăng dẫn
trong khoảng thời gian này!
Nếu sử dụng công thức (2) để xác định quãng đường dịch chuyển ta sẽ mắc phải
một sai số khá lớn Nhưng nếu ta thay v trong biểu thức (2) bởi giá trị trung bình của v,
ký hiệu là v trong khoảng thời gian này, phép tính sẽ chính xác hơn Thật vậy, điểu
này hoàn toàn phù hợp với giả thiết a không đổi trong khoảng thời gian khảo sát rất bé
Tóm lại, để tính s, ta dang công thức: s(+ ñ)=s()+vJ @)
2 Phương pháp số
Ta quay lại với vấn để cần giải quyết: xác định các thông số của vật có dụng
hình cầu tại một thời điểm nào đó trong quá trình rơi của nó
Các diéu kiện ban đấu: khi t=0: v=v,; a= đ,
Sau khoảng thời gian h rất nhỏ lần thứ nhất, vật có:
Trang 304 Chương trình
function roicoluccan;
%4Khao sat do thi su phụ thuoc cua v, a va s cua vat roi theo phuong thang dung
Yetrong khong khi vao thoi gian t
cle;
disp("KHAO SAT SU ROI CO LUC CAN)
g=input(’Gia toc trong truong (m/s^2):?);
vØ=input('Van toc dau (m/s):’);
deltat=input(‘Khoang thoi gian giua hai lan khao sat (s):");
tmaxinput(‘Thoi gian khao sat ($):);
C=input(He so can:’);
p=input(‘Khoi luong rieng cua khong khi (kg/m^3):);
- m=input(Khoi luong cua vat (kg):’);
r=input(Ban kinh cua vat (m):);
[tvas] %Xuat cac gia trit, v, a, s ra man hinh
plot(t.v,ta.t,s⁄20) %Ve do thi v(t), a(t), s(t)
Trang 31ing dụng Matlab khảo uit một vố kiện tượng cơ học
tet+deltat;
end
% Gan nhan va ten cho do thi
xlabel('Truic thời gian t(s),'fontname','vni-times',fontsize',12)
ylabel('Trulc v(m/s), a(m/s^2), s(*20m)’,'fontname','vni-times’,'fontsize’,12)
tile(Độ thỏ v(t), a(t), s(t)'fontname'’,'vni-times’,'fontsize’,12)
Trang 32dừng dụng Matlab khảo sit xế higa £ oe
Il, PHƯƠNG PHAP GIẢI TÍCH
1 Giải phương trình w= g-Ne (*)
Ohutong 1: Cade hign tugng rot
Trang 33dừng dụng AWatlah khảo lát một vã kiện on
re
Vậy: a=4g ¢
Gay
1.3 Quãng đường dịch chuyển
Lấy tích phân biểu thức vận tốc theo thời gian ta sẽ có s :
Như vậy chúng ta đã thu được các biểu thức xác định v, a, s theo thời gian t
Chúng ta sẽ ding các biểu thức này để viết chương trình và so sánh với kết quả theo
phương pháp số.
2 Giải phương trình vi phân và tính tích phân dùng các câu lệnh của Matlab
2.1 Giới thiệu chung
Matlab cung cấp các câu lệnh để giải phương trình, hệ phương trình; phương
trình, hệ phương trình vi phân; tính đạo ham, nguyên hàm, tích phân của một hàm số
Chúng ta tận đụng khả năng này để giải phương trình ở phần trên
© Dé giải một phương trình vi phân, ta dùng lệnh:
đsolve(* phương trình ’, ‘ điểu kiện ', * biến ") 3
Với phương trình chúng ta đang khảo sắt, cụ thể lệnh sẽ là: ,
I=int(I+x^2, x ,0, 1) Kết quả là I=4/3.
Ohuteny 1: Cae kiệm trang rơi 26
Trang 34Ung dụng Matlab kháe sát một sdb kiện tượng cơ hoe
Kết quả tính tích phân không phải là một giá trị làm tròn gắn đúng mà nó được
mặc định viết ở dang phân số, log, mũ Nói chung là dạng nguyên hàm của hàm số
lấy tích phân Đây là điều bất tiện, chẳng hạn ta thu được kết quả trong phép tính nào
© Để tính giá trị hầm số tại một giá trị xác định của biến :
Giả sử ta có hàm số Í(x,y,z ), chúng ta muốn tính giá trị của f khi x=x0, y=y0, z=zŨ ta làm như sau: I=subs(hàm số, {x,y,z_}, (x0,y0,z0 })
Ví dụ ƒ(x,y)= vÌ *+yÌ, x = 0,y, =2.
“Dung cac lenh cua Matlab khao sat su phư thuoc cua v, a, s cua vat roi trong khong
%⁄4khi theo thoi gian t
cle;
syms tA BV
%—————————`hap du lieu/
đisp(KHAO SAT SU ROI CO LUC CAN)
gr input('Gia toc trong truong (m/s*2):');
v0=input("Van toc dau (m/s):');
deltat=input(‘Khoang thoi gian giua hai lan khao sat (s):');
tmax=input("Thoi gian khao sat (s):');
€CinputCHe so can:’);
-p=input(Khot luong neng cua khong khi (kg/mˆ^3):),
m=input(Khoi luong cua vat (kg):”);
r=input(Ban kinh cua vat (m):');
3%⁄4Tinh gia tri cua v ung voi gia tri cu the cua A, B, V
vesubs(v, (A,B, V}, (g,heso,v0) );
Trang 35ab Matlab kitảo lút một số kiện bi eo
Chương trình trên tuy có gọn nhưng lại mắc phải nhược điểm rất lớn: Câu lệnh
tính quãng đường qđ=eval(im(v,t,0,T)) làm cho máy chạy rất chậm Nếu thời gian khảo
sát tmax lớn thì có thể ta không đủ kiên nhẫn để chờ xuất hết tất cả kết quả ra màn
hình.
Do đó tất nhiên chúng ta sẽ không dùng nhiều các chương trình loại này Vì
muốn vẽ đổ thị hoặc mô phỏng lại chuyển động cẩn phải có một số lượng lớn các dit
disp((KHAO SAT SU ROI CO LUC CAN’)
g“input(Gia toc trong truong (m/s*2):");
v0=input( "Van toc đau (m/s):’);
deltatwinput('Khoang thoi gian giua hai lan khao sát (s):’);
tmax=input('Thoi gian khao sat (s):”);
C=input(He so can”),
p=input(Khoi luong rieng cua khong khi (kg/m^3):);
me=input(Khoi luong cua vat (kg):);
r=input( "Ban kinh cua vat (m):”);
Trang 36Ung dụng Matlab khảo uit một số hign trưng eo học
Chú ý rằng đối với một phương trình có nhiều nghiệm, các nghiệm sẽ được mặc
định là các phắn tử của một ma trận cột Như đối với phương trình bậc hai, nghiệm thứ
nhất là x(1.1) nghiệm thứ hai là x(2.1) Phan tử đầu lúc nào cũng lớn hơn phan tử sau,
Do vậy khi tìm Z bằng cách giải phương trình ta cũng sẽ thu được hai giá trì
Z(1.1)>Z(2.1) Nhưng thời gian vật rơi chỉ có duy nhất Cho nên ta phải chọn giá trị
disp(°KHAO SAT SU ROI CO LUC CAN)
g7input(Gia toc trong truong (m/s%2):');
v0=input(Van toc dau (m/s);");
C=input(He so can:’);
p=input(‘Khoi luong meng cua khong khi (kg/m^3);');
me=input(Khoi luong cua vat (kg):”);
r=input("Ban kinh cua vat (m):?);
hmax=input("Do cao ban dau (m):');
94———————-tinh thoi gian r0i———————————————%⁄4
thoigian=subs(t, (K,G,V0,A2},(k,g.v0,A I(1,1)));
-%——————tinh van toc, gia toc khi cham dat ————————⁄
Trang 37W Matlab khéo sit 46 hi eo
xlabel(Théei gian (s}, ‘fontsize’,12,’color’,'m',‘fontname’,'vni-times’ )
_ ylabel(v(m/s), a(m/s^2}, 'foatsize'„Ì2,'color,,rw,'fontname','vni-times' )
axis([0 thoigian 0 vmax])
- Ye——Tao he trục thu ba de ve do thi quang duong di duoc
- subplot('position',[0.68 0.11 0.3 0.3])
handle_x=plot(tt(),s(j), erase,'none','color,r);
set(gca,'color’ {0.5 | 1],'fontsize',8)
xlabcl("Thời gian (s}, ‘fontsize’,12,‘color’,’m’,'fontname’,'vni-times' )
ylabel(Quaưng đường (m)’, 'fontsize',12,'color,'m','fontname',`vni-times")
- axis{{0 thoigian 0 hmax])
' Ye——Tao các Text thong bao
‘Style’,"text’,"Units', ‘normalized ‘Position',[0.1 0.76 0.1 0.05]
‘backgroundcolor’,[0.7 0.7 0.7),'‘foregroundcolor'’,'b’,'string' hmax);
Trang 38Me Matlab khảo sit một số ñiệm ooh
Trong đổ thị v(t), a(t) thì đường màu xanh chỉ v(t); đường mau đỏ chỉ a(t); các
giá trị mầu xanh trong 6 nhỏ ở trên chỉ v và giá trị màu đỏ trong 6 nhỏ ở-đưới chi a.
Cung 1: Cie kiệm tượng rơi 32
Trang 39Khi t=0, máy ở trạng thái chờ.
Chung 1: Cade kiệm (gớg rơi
Trang 40ương 1: Ode kiện tượng roi 34