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

Báo cáo bài tập lớn Đề tài 8 vẽ quỹ Đạo và xác Định vectơ momen Động lượng của chuyển Động với phương trình cho bởi x(t) và y(t)

19 9 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 đề Vẽ Quỹ Đạo Và Xác Định Vectơ Momen Động Lượng Của Chuyển Động Với Phương Trình Cho Bởi X(t) Và Y(t)
Tác giả Vũ Hữu Quang, Trương Đình An, Trần Phạm Trung Nhân, Lê Thị Lan Anh, Lê Minh Hoài
Người hướng dẫn GVHD : Lưu Gia Thiện
Trường học Đại học Bách Khoa
Chuyên ngành Khoa Học Ứng Dụng
Thể loại báo cáo bài tập lớn
Năm xuất bản 2024
Thành phố TP. HCM
Định dạng
Số trang 19
Dung lượng 315,57 KB

Nội dung

HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA KHOA HỌC ỨNG DỤNG BÁO CÁO BÀI TẬP LỚN ĐỀ TÀI 8: Vẽ quỹ đạo và xác định vectơ momen động lượng của chuyển động với phương trình cho bởi xt và yt

Trang 1

ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA KHOA HỌC ỨNG DỤNG

BÁO CÁO BÀI TẬP LỚN

ĐỀ TÀI 8:

Vẽ quỹ đạo và xác định vectơ momen động lượng của chuyển động với phương trình cho bởi x(t) và y(t)

LỚP L18, NHÓM 8:

1 Vũ Hữu Quang

2 Trương Đình An

3 Trần Phạm Trung Nhân

4 Lê Thị Lan Anh

5 Lê Minh Hoài

TP HCM, 11/2024

Trang 2

ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA KHOA HỌC ỨNG DỤNG

BÁO CÁO BÀI TẬP LỚN

ĐỀ TÀI 8:

Vẽ quỹ đạo và xác định vectơ momen động lượng của chuyển động với phương trình cho bởi x(t) và y(t)

Nhóm 8:

1 Vũ Hữu Quang MSSV: 2412864

2 Trương Đình An MSSV: 2410048

3 Trần Phạm Trung Nhân MSSV: 2412441

4 Lê Thị Lan Anh MSSV: 2410097

5 Lê Minh Hoài MSSV: 2411055

GVHD : Lưu Gia Thiện

Trang 3

TÓM TẮT BÀI BÁO CÁO

Bài báo cáo tập trung vào việc sử dụng Python để tính toán và biểu diễn đồ thị của quỹ đạo cũng như sự biến thiên của momen động lượng theo thời gian

Dựa trên cơ sở lý thuyết về momen động lượng của hệ chất điểm, bài tập lớn yêu cầu

vẽ quỹ đạo và xác định vectơ momen động lượng của chuyển động với phương trình cho bởi x(t) và y(t) Chương trình Python đã được xây dựng để nhập phương trình x(t), y(t), sau đó tính đạo hàm để xác định vận tốc, tính momen động lượng và vẽ đồ thị quỹ đạo cũng như biểu đồ momen động lượng theo thời gian Kết quả được minh họa qua hình ảnh đồ thị, cho thấy được quỹ đạo và sự biến thiên của momen động lượng theo thời gian, đồng thời kiểm nghiệm được hiệu quả của chương trình

Qua bài báo cáo này, cả nhóm đã có thêm những kiến thức về momen động lượng và xác định được quỹ đạo của chuyển động cho bởi phương trình x(t) và y(t) Đồng thời, các thành viên trong nhóm cũng rèn luyện được kĩ năng làm việc nhóm, tính thần trách nhiệm

và niềm đam mê, yêu thích đối với môn học

Trang 4

LỜI CẢM ƠN Điều đầu tiên, nhóm chúng em xin được gửi lời cảm ơn sâu sắc đến cô Dương Thị Như Tranh – người đã tận tình chỉ dạy và trang bị cho chúng em những kiến thức cần thiết trong suốt thời gian ngồi trên ghế giảng đường, làm nền tảng cho chúng em có thể hoàn thành bài báo cáo này

Chúng em cũng xin được bày tỏ lời cảm ơn chân thành gửi đến thầy Lưu Gia Thiện, người đã trực tiếp hướng dẫn, truyền đạt những kinh nghiệm quý báu và giải đáp những vấn đề khó khăn trong suốt quá trình thực hiện bài báo cáo "Vẽ quỹ đạo và xác định vectơ momen động lượng của chuyển động với phương trình cho bởi x(t) và y(t)" của nhóm

Đồng thời, chúng em cũng vô cùng biết ơn Trường Đại học Bách Khoa đã tạo điều kiện cho chúng em được học tập và tiếp thu thêm nhiều kiến thức trong quá trình học bộ môn Vật lý 1 ở trường

Bên cạnh đó, cũng xin được gửi lời cảm ơn đến các thành viên của nhóm 8 – L18 đã luôn giúp đỡ và chia sẻ mọi vấn đề trong học tập lẫn cuộc sống

Do kiến thức chuyên môn còn hạn chế và kinh nghiệm thực tiễn còn thiếu sót nên trong quá trình thực hành và báo cáo không thể tránh khỏi những sai sót và hạn chế Vì vậy, chúng em rất mong nhận được sự góp ý, chỉ bảo thêm của quý thầy cô để hoàn thiện bài báo cáo cũng như cho quá trình học tập, làm việc sau này

Một lần nữa, chúng em xin được cảm ơn thầy cô vì sự tận tâm và nhiệt huyết trong xuyên suốt quá trình giảng dạy Chính nhờ những kiến thức và kinh nghiệm quý báu mà thầy cô truyền đạt đã giúp chúng em trưởng thành hơn và có thêm nhiều động lực phấn đấu trong học tập và phát triển bản thân

Cuối cùng, chúng em xin kính chúc thầy cô dồi dào sức khỏe, chúc thầy cô luôn là ngọn đuốc sáng soi đường, dẫn lối cho nhiều thế hệ sinh viên tương lai

Chúng em xin chân thành cảm ơn!

Trang 5

MỤC LỤC

DANH MỤC CÁC HÌNH ẢNH iv

CHƯƠNG 1: MỞ ĐẦU 1

1.1.Đề tài: 1

1.2 Yêu cầu: 1

1.3 Điều kiện: 1

1.4 Phương pháp thực hiện: 1

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 2

2.1.Định nghĩa: 2

2.2.Momen động lượng của chất điểm: 2

2.3 Momen động lượng của hệ chất điểm: 2

2.4 Phương trình momen động lượng cho bởi x(t) và y(t): 2

2.5 Bài toán ví dụ: 3

CHƯƠNG 3: PYTHON 5

3.1 Tổng quan về Python 5

3.2 Một số hàm sử dụng trong chương trình 5

3.3 Đoạn code hoàn chỉnh 7

3.4 Kết quả và đồ thị 10

CHƯƠNG 4: KẾT LUẬN 12

TÀI LIỆU THAM KHẢO 13

Trang 6

DANH MỤC CÁC HÌNH ẢNH Hình 1 Kết quả bài toán 1

Hình 2 Kết quả bài toán 2……….……11

Trang 7

CHƯƠNG 1: MỞ ĐẦU

1.1.Đề tài:

Vẽ quỹ đạo và xác định vectơ momen động lượng của chuyển động với phương trình cho trước bởi x(t) và y(t)

1.2 Yêu cầu:

Sử dụng Python để tính toán và biểu diễn đồ thị của quỹ đạo cũng như sự biến thiên của momen động lượng theo thời gian

1.3 Điều kiện:

1) Sinh viên cần có kiến thức về lập trình cơ bản trong Python

2) Tìm hiểu các lệnh Python liên quan đến symbolic và đồ họa

1.4 Phương pháp thực hiện:

1) Thu thập dữ liệu: xác định các hàm x(t) và y(t) cho chuyển động cụ thể

2) Phân tích và tính toán: Tính toán các đại lượng cần thiết, bao gồm vận tốc và momen động lượng

3) Xây dựng chương trình Python để vẽ đồ thị thể hiện quỹ đạo và vectơ momen động lượng

Trang 8

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT

2.1.Định nghĩa:

Momen động lượng là một đại lượng đặc trưng cho một vật thể trong chuyển động quay, biểu thị mức độ và hướng quay của vật thể xung quanh một điểm quay cố định

2.2.Momen động lượng của chất điểm:

Cho một chất điểm khối lượng m, vị trí ⃗r, chuyển động với vận tốc  ⃗v Momen động lượng ⃗L đối với điểm gốc O của chất điểm này được định nghĩa như sau:

⃗L=⃗r ×⃗p

Đơn vị của momen động lượng trong hệ SI: kg m2

/ s

2.3 Momen động lượng của hệ chất điểm:

Momen động lượng toàn phần ⃗L của một hệ chất điểm đối với điểm gốc O được định nghĩa là tổng momen động lượng của từng chất điểm đối với O:

⃗L=∑⃗L i=∑⃗r i × ⃗p i

Đối với chất điểm thứ i, giữa momen động lượng và momen lực có liên hệ sau:

M i=d ⃗ L i

dt

Vậy, momen lực của một hệ chất điểm đối với điểm gốc O bất kỳ:

M=∑⃗M i=∑d ⃗ L i

dt = ¿ d

dt∑⃗L i=d ⃗L

dt ¿

2.4 Phương trình momen động lượng cho bởi x(t) và y(t):

Momen động lượng ⃗L của một hạt chất điểm trong chuyển động quay quanh một gốc tọa độ là một đại lượng vectơ được xác định bởi tích chéo của vectơ bán kính ⃗r(t) và vector động lượng ⃗p(t ):

⃗L=⃗r ×⃗p

Trong đó, ⃗r=(x(t), y(t)) là vị trí của hạt tại thời điểm t và ⃗p=m ⃗v(t) là vectơ động lượng (m là khối lượng của hạt và ⃗v(t) là vận tốc)

Vectơ vận tốc được xác định bởi đạo hàm của hàm vị trí theo thời gian:

⃗v(t)=(dx(t)

dt ,

dy(t)

dt )

Trang 9

2.5 Bài toán ví dụ:

Bài toán 1: Cho hai phương trình động học x (t )=2t , y (t )=4 t2

+t Tính vận tốc và momen động lượng của chất điểm Với m =5 (kg)∆ t =5 (s)

Cách giải:

Vận tốc:

Với x(t)=2 t : v x(t)=dx(t)

dt =2

Với y (t)=4t2+t : v y(t)=dy(t)

dt =8 t +1

Vận tốc tại thời điểm t =5 s: v x(5)=2 m/s, v y(5)=8 ×5+1=41 m/s

Do đó, vận tốc chất điểm tại thời điểm t =5 s là:

⃗v(5)=(2 , 41)

Động lượng chất điểm:

⃗p=m× ⃗v=5 ×(2 , 41)=(10,205) Momen động lượng:

⃗L=⃗r ×⃗p

Trong đó: ⃗r=(x(t), y(t))

Tại t =5 s: x(5)=10 , y(5)=105

Vậy ⃗r=(10,105)

Suy ra: ⃗L=⃗r ×⃗p=(10,105)×(10,205)=1000(kg m2

/s)

Bài toán 2: Cho hai phương trình động học x(t)=sin(t), y(t)=sin 2(t). Tính vận tốc và momen động lượng của chất điểm Với m =3 (kg)∆ t =15(s)

Cách giải:

Vận tốc:

Với x(t)=sin(t): v x(t)=dx(t)

dt =cos(t )

Với y(t)=sin 2(t): v y(t)=dy(t)

dt =sin (2t )

Vận tốc tại thời điểm t =15 s: v x(15)=cos(15)=√6+√2

4 m /s

Trang 10

v y(15)=sin (30)=12m / s

Do đó, vận tốc chất điểm tại thời điểm t =15 s là:

⃗v(15)=( √6+√2

4 ,

1

2) Động lượng chất điểm:

⃗p=m× ⃗v=3 ×( √6 +√2

4 ,

1

2)=(3√6+3√2

4 ,

3

2) Momen động lượng:

⃗L=⃗r ×⃗p

Trong đó, ⃗r=(x(t), y(t))

Tại t =15 s: x(15)=√6 −√2

4 , y(15)=2−√3

4

Vậy  ⃗r=( √6−√2

4 ,

2−√3

4 ) Suy ra: ⃗L=⃗r ×⃗p=( √6 −√2

4 ,

2 −√3

4 )×(3√6 +3√2

4 ,

3

2)=3√6 −3√2

16 (kg m2

/s)

Trang 11

CHƯƠNG 3: PYTHON

3.1 Tổng quan về Python

Python (viết tắt của “Python Programming Language”) là một ngôn ngữ lập trình bậc cao, dễ học, và mạnh mẽ Được phát triển bởi Guido van Rossum, Python ban đầu được thiết kế để nhấn mạnh tính đơn giản và khả năng dễ đọc của mã nguồn Qua thời gian, Python đã trở thành một công cụ mạnh mẽ hỗ trợ cho nhiều lĩnh vực khác nhau như tính toán khoa học, phân tích dữ liệu, phát triển ứng dụng web, học máy, và nhiều lĩnh vực khác

Python cho phép làm việc với cấu trúc dữ liệu như danh sách, từ điển, và tập hợp, cung cấp thư viện mạnh mẽ để vẽ biểu đồ và xử lý dữ liệu như Matplotlib, Seaborn, Pandas, và NumPy Python cũng hỗ trợ hiện thực thuật toán, phát triển giao diện người dùng, và tích hợp với các ngôn ngữ khác như C, C++, và Java Bên cạnh đó, Python có một thư viện phong phú với các công cụ mạnh mẽ như SciPy cho tính toán khoa học, TensorFlow và PyTorch cho học máy, cũng như Flask và Django cho phát triển web Các thư viện này giúp Python trở thành lựa chọn hàng đầu cho việc xây dựng các ứng dụng phân tích dữ liệu, phát triển thuật toán, và mô hình hóa

Ngoài ra, Python hỗ trợ một số công cụ trực quan và mô phỏng như Matplotlib và Plotly, giúp người dùng dễ dàng tạo biểu đồ và mô phỏng hệ thống Những công cụ này cung cấp môi trường mạnh mẽ để thực hiện các dự án nghiên cứu, phát triển và triển khai các ứng dụng trong nhiều lĩnh vực khác nhau

3.2 Một số hàm sử dụng trong chương trình

trợ xử lý dữ liệu số hiệu quả

linspace(start, stop, num) Tạo mảng giá trị đều nhau từ start đến

stop với num điểm, dùng để tạo các điểm thời gian cho mô phỏng

matplotlib.pyplot (plt) Thư viện vẽ đồ thị 2D, dùng để hiển thị

quỹ đạo và biểu đồ mômen động lượng

tượng, hỗ trợ các phép tính như đạo hàm,

Trang 12

tích phân và chuyển đổi biểu thức.

toán học

var (ở đây để tính vận tốc theo thời gian từ x(t) và y(t))

sympify(input) Chuyển đổi chuỗi nhập từ người dùng

thành biểu thức SymPy, cho phép xử lý toán học trực tiếp trên chuỗi

lambdify(symbols, expr, modules) Chuyển đổi biểu thức toán học SymPy

thành hàm số thực thi được bằng NumPy, giúp tính giá trị của x(t) và y(t) tại các thời điểm cụ thể

matplotlib.animation.FuncAnimation Tạo hoạt hình động bằng cách cập nhật

các phần tử đồ thị theo từng khung hình (frame)

set_xlim(min, max) Thiết lập giới hạn trục x của đồ thị

set_ylim(min, max) Thiết lập giới hạn trục y của đồ thị

plot(x, y, style) Vẽ đồ thị tuyến tính với giá trị x, y và kiểu

Trang 13

grid(True) Hiển thị lưới trên đồ thị.

FuncAnimation(fig, func, frames) Tạo hoạt hình bằng cách cập nhật đồ thị

với hàm func qua từng frames khung hình

trong cùng một khung hình để tránh bị chồng lấn

trong hoạt hình (vẽ lại quỹ đạo và mômen động lượng đến thời điểm hiện tại)

dạng chuỗi

Bảng Các lệnh được dùng trong Python

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

from matplotlib.animation import FuncAnimation # Công cụ tạo hoạt hình động

# Khởi tạo biến ký hiệu `t` cho phương trình chuyển động

t = sp.symbols('t')

# Hàm nhập biểu thức từ người dùng và chuyển thành SymPy

def input_function(prompt):

user_input = input(prompt)

Trang 14

return sp.sympify(user_input)

# Nhận phương trình chuyển động từ người dùng

xt = input_function("Nhập phương trình x(t) (vd: cos(t)): ")

yt = input_function("Nhập phương trình y(t) (vd: sin(t)): ")

# Tính đạo hàm của x(t) và y(t) theo t

vxt = sp.diff(xt, t)

vyt = sp.diff(yt, t)

# Chuyển biểu thức SymPy thành hàm có thể tính toán với NumPy

x = sp.lambdify(t, xt, 'numpy')

y = sp.lambdify(t, yt, 'numpy')

# Nhận thông tin vật lý từ người dùng

m = float(input("Nhập khối lượng của vật (kg): "))

tg = float(input("Nhập thời gian chuyển động (s): "))

# Khởi tạo mảng thời gian từ 0 đến tg

t_values = np.linspace(0, tg, 500)

# Tính tọa độ, vận tốc và mômen động lượng

x_values = x(t_values)

y_values = y(t_values)

vx_values = sp.lambdify(t, vxt, 'numpy')(t_values)

vy_values = sp.lambdify(t, vyt, 'numpy')(t_values)

L = m * (x_values * vy_values - y_values * vx_values) # Công thức tính mômen động lượng

# Khởi tạo không gian đồ thị

Trang 15

# Cấu hình biểu đồ quỹ đạo

ax1.set_xlim(np.min(x_values), np.max(x_values))

ax1.set_ylim(np.min(y_values), np.max(y_values))

ax1.set_aspect('equal', adjustable='box')

ax1.set_xlabel('x(t) [m]')

ax1.set_ylabel('y(t) [m]')

ax1.set_title('Quỹ đạo chuyển động')

ax1.grid(True)

orbit_line, = ax1.plot([], [], 'b-', label='Quỹ đạo')

# Cấu hình biểu đồ mômen động lượng

ax2.set_xlim(0, tg)

ax2.set_ylim(np.min(L), np.max(L))

ax2.set_xlabel('t (s)')

ax2.set_ylabel('Mômen động lượng L [kg·m²/s]')

ax2.set_title('Mômen động lượng theo thời gian')

ax2.grid(True)

momentum_line, = ax2.plot([], [], 'r-', label='Mômen động lượng (L)')

# Hàm cập nhật cho animation

def update(frame):

# Cập nhật quỹ đạo

orbit_line.set_data(x_values[:frame], y_values[:frame])

# Cập nhật mômen động lượng

momentum_line.set_data(t_values[:frame], L[:frame])

Trang 16

# Tạo animation

ani = FuncAnimation(fig, update, frames=len(t_values), interval=1, blit=False, repeat=False)

# Hiển thị đồ thị

plt.tight_layout()

plt.show()

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

Hình 1 Kết quả bài toán 1

Trang 17

Hình 2 Kết quả bài toán 2

Trang 18

CHƯƠNG 4: KẾT LUẬN Dựa trên những kết quả vừa thu được, nhóm đã hoàn thành bài báo cáo và đạt được những kết quả mong muốn khi thực hiện chương trình vẽ quỹ đạo và xác định vector momen động lượng của chuyển động với phương trình cho trước

Qua việc thực hiện bài tập lớn, cả nhóm đã hiểu hơn về vector momen động lượng và xác định được quỹ đạo của chuyển động cho bởi phương trình x(t) và y(t) Qua đó xây dựng được một chương trình giải toán hợp lý và hiệu quả Cùng với sự hỗ trợ của công cụ Python, bài toán được giải quyết và dễ dàng khảo sát được quỹ đạo của chuyển động Tuy vậy, việc hiểu được bài toán và xây dựng một chương trình Python cũng gây không ít khó khăn cho cả nhóm, vì các thành viên có sự hiểu biết khác nhau về Python, nên cả nhóm luôn phải hỗ trợ lẫn nhau để tất cả có thể nắm rõ những kiến thức cần thiết

Bên cạnh đó, sau khi hoàn thiện chương trình giải toán trên Python, cả nhóm đã nhận thấy chương trình có những ưu điểm nổi trội, không chỉ tính toán dễ dàng, tiện lợi, thuật toán của chương trình còn cho thấy tiết kiệm thao tác và thời gian hơn nhiều so với cách tính phổ thông Mặc dù chương trình vẫn cho ra kết quả thỏa yêu cầu bài toán, nhưng đoạn code vẫn chưa thực sự được tối ưu, khi thiết kế rườm rà và mất nhiều thời gian, công sức

Mặc dù gặp nhiều khó khăn, nhóm đã cố gắng hết mình Qua việc thực hiện bài báo cáo này, các thành viên đã rèn luyện được kỹ năng làm việc nhóm, tinh thần trách nhiệm

và kỷ luật, đồng thời nâng cao tinh thần và niềm đam mê đối với môn học, qua đó có thêm động lực tìm hiểu thêm nhiều ứng dụng thực tế khác của bộ môn vật lý 1

Trang 19

TÀI LIỆU THAM KHẢO [1] Nhiều tác giả, Giáo trình vật lý đại cương A1, Trường đại học Bách Khoa – ĐHQG

TP HCM, 2009

[2] Nhiều tác giả, Sách bài tập vật lý đại cương A1, Trường Đại học Bách Khoa – ĐHQG

TP HCM, 2023

Ngày đăng: 30/11/2024, 15:01

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w