TP CHÍ KHOA HC - ĐẠI HỌC ĐỒNG NAI, S 35 - 2025 ISSN 2354-1482
119
NGHIÊN CU NG DNG PHÉP TÍNH VI PHÂN VÀ LP TRÌNH
PYTHON ĐỂ MÔ PHNG CHUYN ĐNG KHÔNG ĐU
Trn Xuân Hi
Trường Đại học Phú Yên
Email: tranxuanhoi@pyu.edu.vn
(Ngày nhận i: 4/3/2025, ngày nhận bài chỉnh sửa: 244/2025, ngày duyệt đăng: 22/5/2025)
TÓM TT
Nghiên cứu này trình bày phương pháp ng dng phép tính vi phân kết hp vi
ngôn ng lập trình Python để to phng vt chuyển động không đều. Sau đó tác
gi đã áp dụng phương pháp cho ba ví d minh ha, gm vật rơi tự do ri ny lên t
mặt đất; dao động ca con lắc đơn; phép cộng vn tc thông qua phng bài toán
chó đuổi th. Kết qu nghiên cu cho thy vic s dụng phương pháp này nhiều
tin lợi như có thể thc hin trên c máy tính và các thiết b di động, các thông s ca
hình động th điều chỉnh được theo mong muốn. Hơn nữa, phương pháp đã cho
thấy ý nghĩa ng dng ca phép tính vi phân trong phỏng cũng như tích hợp
mt s môn hc khác nhau, và thcông c để h tr trong dy hc nghiên cu
lĩnh vực khoa hc t nhiên và công ngh hin nay.
T khóa: Vi phân, mô phng, Vpython
1. M đầu
Vi phân mt khái niệm bản
trong toán hc gii tích. Vi phân nhiu
ng dụng trong các lĩnh vực khác nhau.
giúp m hiu gii quyết c bài
toán liên quan đến tốc độ thay đổi, bài
toán cc trị, cũng như đưng tiếp tuyến
ca các hàm s trong toán hc. Vi phân
giúp mô t các hiện tượng vt lí như vận
tc gia tc ca các vt chuyển động,
dòng chy dòng đin, tổng quát hơn
là kho sát s thay đổi của các đại lượng
vt lí theo thi gian [1], [2]. Đặc bit, vi
phân còn th ng dụng để tính toán
trong phỏng các đối tượng trong
nghiên cu kĩ thuật. Các chương trình
máy tính phát triển cao đang cho phép
những người làm phng s dng
phép tính để tương tác với các đối tượng
và tốc độ khác nhau.
Khái nim gia tốc cũng như các
chuyển động biến đổi nói chung mt
trong nhng ni dung quan trng trong
Vật nhưng cũng nội dung gây khó
hiểu đối vi hc sinh, sinh viên. S
không ngc nhiên khi sinh viên cm thy
khó hiu với nguyên bản ca vi
phân: vn tc gii hn ca t s gia
quãng đường đi được khong thi
gian ngắn dùng để đi hết quãng đường đó
[3]. mt s nghiên cứu đã ng dng
vi phân Mathemetica để kho sát
chuyển động biến đổi ca vật rơi t do
dao đng ca con lắc đơn [2] cũng
như dùng Excel đ phng chuyn
động ca con lắc đơn [3].
Nghiên cu này s tiếp cn trình
bày cách ng dng vi phân Vpython
để to mt s chuyển động biến đi, sau
đó đưa ra một vài ví d áp dụng như mô
phng vật rơi tự do, phng s dao
động ca mt con lắc đơn minh ha
bài toán chó đuổi thỏ. Ưu điểm ca
phương pháp này là tạo ra các ảnh đng
TP CHÍ KHOA HC - ĐẠI HỌC ĐỒNG NAI, S 35 - 2025 ISSN 2354-1482
120
mt cách nhanh chóng, hoạt động ging
như bản cht ca vt cũng như chủ động
điều chỉnh được các thông s ca chuyn
động. Hơn nữa, phương pháp còn có thể
thc hin trc tiếp trên trình duyt ca
máy nh hoặc điện thoi không cn
phải cài đặt.
Vi xu thế dy hc tích hợp tăng
ng ng dng công ngh như hiện
nay, nghiên cu này hi vọng đóng góp
phần nào đó trong công cuộc đổi mi
phương pháp dạy hc, phát triển năng
lực người học cũng như ng dng công
ngh trong nghiên cu và thut.
2. Phương pháp
2.1. Phép ly vi phân
Phép ly vi phân cho ta biết cách mt
hàm s thay đổi khi biến s ca thay
đổi. Nh phép ly vi phân ta th
xác định được giá tr gần đúng của mt
hàm s hoc một đại lượng cn kho sát
theo s thay đi ca biến s [4]. Trong
trường hp hàm mt biến y = f(x) thì khi
cho biến x thay đi mt s gia Δx, bng
phép lấy vi phân ta tìm được độ biến
thiên ca y. Tùy thuc vào yêu cu v sai
s cho phép ca bài toán ta th
điều chnh gtr ca s gia cho phù hp.
Khi xác định được độ biến thiên tc thi
dc) của đại lượng cn kho sát, ta
tiếp tc cho biến thay đổi mt s gia na
lại xác định độ biến thiên ti thời điểm
cách thời điểm ban đầu 2 s gia. C như
vy ta th to vòng lp tính toán và
xác định được tp xác định và tp giá tr
ca hàm s trong khong cn kho sát.
T hai tp s này ta th v được đồ
th, biết được qũy đạo chuyển động, hoc
thm chí phỏng được hoạt động ca
đối tượng.
Theo định nghĩa đạo hàm, ta có [4]:
𝑓(𝑥0)= lim
Δ𝑥→0
Δ𝑦
Δ𝑥 (1)
Nếu Δx đ nh theo yêu cu ca bài
toán thì:
𝑓(𝑥0)Δ𝑦
Δ𝑥
Ta thu được độ biến thiên ca y là:
Δ𝑦 𝑓(𝑥0). Δ𝑥
Hay:
𝑓(𝑥0+ Δ𝑥) 𝑓(𝑥0) 𝑓(𝑥0). Δ𝑥
Viết li:
𝑓(𝑥0+ Δ𝑥) 𝑓(𝑥0)+ 𝑓(𝑥0). Δ𝑥 (2)
Công thc (2) cho phép ta xác định
chui các cp giá tr liên tiếp nhau khi
thc hin vòng lp tính toán ng vi s
gia cho trước. Để minh ha cho công
thức (2), sau đây ta áp dng cho mt s
ví d c th.
2.2. Áp dng cho vật rơi tự do
V trí ca vật rơi tự do t trng thái
đứng yên được xác định theo:
= 𝑔𝑡2
2 (3)
Áp dng công thc (2), ta có:
(𝑡 + Δ𝑡) (𝑡)+ 𝑣. Δ𝑡 (4)
2.3. Áp dng cho con lắc đơn
Gia tc góc ca con lắc đơn được
xác định theo công thc (5), với θ là góc
lch ca con lc:
𝛾 = 𝑔
𝑙sin 𝜃 (5)
Tốc độ góc:
𝜔 = 𝛾𝑡 (6)
Góc lch:
𝜃 = 𝛾𝑡2
2 (7)
Áp dng công thc (2) cho (6) (7)
ta được:
(𝑡 + Δ𝑡) 𝜔(𝑡)+ 𝛾. Δ𝑡 (8)
(𝑡 + Δ𝑡) 𝜃(𝑡)+ 𝜔𝑡. Δ𝑡 (9)
TP CHÍ KHOA HC - ĐẠI HỌC ĐỒNG NAI, S 35 - 2025 ISSN 2354-1482
121
2.4. Áp dng cho bài toán chó đuổi th
Bài toán: Mt con th (T) chy dc
theo trc x vi tốc độ không đổi v thì b
mt con chó (C) xut phát t một điểm
trên trục y đuổi theo vi tốc độ không đổi
V, biết rng chó chạy nhanh hơn thỏ
luôn hướng v phía th. Hãy phng
hiện tượng.
Giải bài toán ta thu được các kết qu
sau [5]:
V trí th: 𝑥𝑇=𝑣𝑡 (10)
ta được:
𝑥𝑇(𝑡 + Δ𝑡) 𝑥𝑇(𝑡)+ 𝑣. Δ𝑡 (11)
Vn tc ca chó ti thời điểm bt
được xác định theo (12), trong đó R
bán kính vector, 𝑛
󰇍
là vector đơn vị:
𝑉
󰇍
= 𝑉 𝑅
󰇍
𝑡−𝑅
󰇍
𝑐
Δ𝑅 = 𝑉𝑛
󰇍
(12)
Áp dng công thc (2) cho quãng
đường của chó đi được:
𝑠 𝐶(𝑡 + Δ𝑡) 𝑠 𝐶(𝑡)+ 𝑉
󰇍
. Δ𝑡 (13)
2.5. To mô phng cho chuyển động
Theo nguyên tc to hot hình, mt
đoạn hot hình gm nhiu ảnh tĩnh, mỗi
nh có những thay đổi nh v hình dng
hoc v trí, chúng xut hin biến mt
mt cách liên tiếp trong mt khong thi
gian ngn to ra cm giác c động hoc
chuyển động khi ta quan sát. Đối vi các
đại lượng biến đổi không đu, chng
hạng như các dao động điều hòa, vật rơi
t do hoc chuyển động gia tc nói
chung thì vic to hot hình giống như
tht s phc tạp hơn so với các chuyn
động đu bi quy lut xut hin ca các
ảnh nh không đu. Các v trí hoc
hình dng ca vt biến đổi theo mt quy
lut hoc hàm s nào đó.
nhiều cách để v các ảnh tĩnh như
v th công, v bng các phn mềm đồ
ha trên y tính rồi “ghép” chúng li
thành hình động. Đối với các hình động
đơn giản và mang tính hc thut thì Web
Vpython mt công c đáng xem xét.
Web Vpython mt phn của thư viện
Python, kết hp gia ngôn ng lp trình
Python với các module đ họa 3D được
định nghĩa sẵn bng các hàm [6]. ng
dụng thư viện này cho phép người dùng
tạo các đối tượng 3D, điu khin các
đối tượng này chuyển động theo mt quy
lut hoc một hàm nào đó. Do vậy, Web
Vpython mt công c thun tiện để
minh ha phng toán học, cũng
như các hiện tượng t nhiên. Đặc bit
Web VPython là mt trong nhng công
c tốt để h tr trong dy học do tính đơn
gin và cp phép ngun m của nó. Hơn
nữa, cho phép người dùng viết
chạy các chương trình trực tiếp trên trình
duyt web y nh hoc các thết b di
động như máy tính bảng và điện thoi di
động ti trang https://glowScript.org.
Trong nghiên cu này, các ng thc
vi phân (4), (8), (9), (11) (13) được viết
theo ngôn ng Python và chy trên trang
Web Vpython được th hin trên ph
lc 1, ph lc 2 và ph lc 3. Các khai báo
v điu kin ban đầu ca h cũng như đồ
ha của các đối tượng tt nhiên đưc thc
hiện trước khi dùng các m để điu
khin đối tượng chuyển động.
3. Kết qu nghiên cu và tho lun
3.1. Kết qu nghiên cu
Các phương trình vi phân (4), (9),
(11) và (13) được th hin trên Vpython
lần lượt phương trình (4’), (9’), (11’)
TP CHÍ KHOA HC - ĐẠI HỌC ĐỒNG NAI, S 35 - 2025 ISSN 2354-1482
122
(13’), trong đó các đại lượng tương
ứng được lit bng 1. đây, bài
báo tp trung khai thác ng dng ca vi
phân nên vic tp trung vào bàn lun v
các đoạn Python liên quan s trình
bày mt nghiên cu khác.
Bng 1: Các biến và phương trình thể hin trong Vpython
Đại lượng trong
phương trình vi phân
Đại lượng tương ứng trong
Vpython
Ghi
chú
h
ball.pos.y
v
ball.velocity.y
Δt
dt
θ
bob.angle
ω
bob.omega
xT
rabbit.pos
v
rabbit_velocity
sC
distance_travelled_by_dog
V
mag(dog_velocity)
Phương trình (4)
ball.pos.y += ball.velocity.y * dt
(4’)
Phương trình (9)
bob.angle += bob.omega * dt
(9’)
Phương trình (11)
rabbit.pos += rabbit_velocity * dt
(11’)
Phương trình (13)
distance_travelled_by_dog +=
mag(dog_velocity) * dt
(13’)
Ph lc 1 đoạn Vpython
phng hot hình ca vật rơi tự do ph lc
2 của dao động con lắc đơn, ph lc
3 phỏng bài toán chó đuổi th.
Trong các đoạn bao gm các thành
phần như khai báo thông số v điều kin
ban đầu ca h, dng các khi hình hc,
định nghĩa các đại lượng s dng
trong các phương trình vi phân các
thành phần điều khin.
Các đon hot hình s được phát ra
ngay khi chy trc tiếp chương tnh
trên trình duyt web. Trên hình 1nh
chp màn nh của c đoạn hot nh
vật rơi t do (hình 1a), nh chp dao
động ca con lắc đơn (nh 1b) và bài
toán chó đui th (hình 1c). Các đồ th
biu din v trí cũng đưc hin th tương
ng vi trng ca vt. Đi vi vật rơi tự
do, đ t c quá trình vt đi xung
đi lên, trong d y vật được th
không vn tc đầu ny n khi mt
đất. H s va chm là t l gia tốc độ
lúc sau tc đ lúc trước khi va chm
vi mặt đất đưc ly 0,9, tc va
chạm này là không đàn hồi. Đối vi con
lắc đơn, biên độ dao động được ly
π/16 (khong 110).
TP CHÍ KHOA HC - ĐẠI HỌC ĐỒNG NAI, S 35 - 2025 ISSN 2354-1482
123
a) b)
c)
Hình 1: nh chp t hình động (a) là vật rơi tự do, (b) là con lắc đơn và (c) là bài
toán chó đuổi th cùng với các đồ th hoc qu đạo v trí chạy tương ứng vi trng
thái ca vật trên hình động*
*Hình a), vật rơi từ độ cao 10m với gia tốc rơi tự do g = 9,81m/s2 và hệ số va chạm e
= 0,9. Hình b), con lắc đơn có chiều dài 10m, dao động với biên độ góc π/16.
3.2. Tho lun
Kết qu của hai đoạn hot hình v
vật rơi t do dao động ca con lắc đơn
được th hin khi chạy chương trình. Vật
rơi tự do vi vn tc nhanh dần đều khi
đi xuống chm dần đều khi đi lên.
Quãng đường vật rơi được qua thi gian
trên hình động cũng đưc v đồ th tương
ng vi trng thái chuyển động ca vt.
Đồ th y có dạng là các đường parabol
như thể hin trên hình 1a. Các s liu ta
độ trên đồ th này đưc ly t phép tính
vi phân để v ra, th hin trên dòng lnh
26 ca ph lc 1. Điều này chng t hình
dng của đồ th y phù hp vi công
thc thuyết của quãng đường vật rơi tự
do, dng h = gt2/2. d, theo
thuyết thì thời gian rơi t do t độ cao
10m xuống đất tại nơi gia tốc trng