LỜI CẢM ƠN
Em xin chân thành cảm ơn Trường Đại học Tôn Đức Thắng, Khoa Công Nghệ Thông Tin, bộ môn Kỹ Thuật Phần Mềm và thầy Nguyễn Văn Khoa đã giúp em hoàn thành bài tiểu luận này.
TP Hồ Chí Minh, ngày 19 tháng 12 năm 2023 Tác giả
(Ký tên và ghi rõ họ tên)Trương Công Bắc
Trang 4CÔNG TRÌNH ĐƯỢC HOÀN THÀNH TẠI TRƯỜNG ĐẠI HỌC TÔN ĐỨC THẮNG
Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi và được sự hướng dẫn khoa học của ThS Nguyễn Văn Khoa Các nội dung nghiên cứu, kết quả trong đề tài này là trung thực và chưa công bố dưới bất kỳ hình thức nào trước đây Những số liệu trong các bảng biểu phục vụ cho việc phân tích, nhận xét, đánh giá được chính tác giả thu thập từ các nguồn khác nhau có ghi rõ trong phần tài liệu tham khảo.
Ngoài ra, trong Dự án còn sử dụng một số nhận xét, đánh giá cũng như số liệu của các tác giả khác, cơ quan tổ chức khác đều có trích dẫn và chú thích nguồn gốc
Nếu phát hiện có bất kỳ sự gian lận nào tôi xin hoàn toàn chịu tráchnhiệm về nội dung Dự án của mình Trường Đại học Tôn Đức Thắng không
liên quan đến những vi phạm tác quyền, bản quyền do tôi gây ra trong quá trình
Trang 5TÓM TẮT
Qua bài tiểu luận này, em nắm được các tính năng cơ bản của Python bằng các phép tính và một vài thuật toán thông dụng:
Biết sử dụng các hàm trong thư viện numpy, sympy để tính đạo hàm, thế các giá trị vào hàm số đã được dựng.
Sử dụng thư viện mathplotlib để dựng hình, vẽ biểu đồ, đồ thị, …
Trang 6MỤC LỤC
DANH MỤC HÌNH VẼ 3
CHƯƠNG 1 PHƯƠNG PHÁP GIẢI BÀI TẬP 4
1.1 Yêu cầu 1a 4
1.2 Yêu cầu 1b 4
1.3 Yêu cầu 1c 5
CHƯƠNG 2 MÃ NGUỒN VÀ ĐẦU RA 7
2.1 Yêu cầu 1a 7
Trang 8CHƯƠNG 1 PHƯƠNG PHÁP GIẢI BÀI TẬP
1.1 Yêu cầu 1a
Gọi thư viện sympy để tính toán toán học; matplotlib để vẽ đồ thị Định nghĩa biến ký hiệu là ‘x’.
Khởi tạo biến ‘A’ có giá trị là 50.
Định nghĩa hai biểu thức toán học từ đề bài cho là ‘fx’ và ‘gx’.
Nghiệm của phương trình ‘fx – gx = 0’ là giao điểm của hai đồ thị Ở đây, em sử dụng hàm ‘solve’ trong thư viện sympy để giải quyết vấn đề trên và đưa giá trị vào biến ‘roots’.
‘x1’ và ‘x2’ là hoành độ của hai điểm giao điểm ‘y1’ và ‘y2’ là tung độ tương ứng với ‘x1’ và ‘x2’.
Tạo một mảng giá trị từ -1200 đến 1200 với bước nhảy là 5 Định nghĩa hàm số cho đồ thị ‘f(x)’ và ‘g(x)’.
Tính giá trị của hàm số tương ứng với mỗi giá trị ‘x’.
Sử dụng hàm ‘pllt.plot’ để vẽ đồ thị của ‘f(x)’, ‘g(x)’ và đánh dấu điểm giao điểm trên đồ thị.
Đặt tiêu đề cho đồ thị là ‘Question 1a’ bằng hàm ‘plt.title’.
Hiển thị chú thích cho đồ thị bằng hàm ‘plt.legend’ và hiển thị đồ thị bằng hàm ‘plt.show’.
1.2 Yêu cầu 1b
Gọi thư viện sympy để tính toán toán học; matplotlib để vẽ đồ thị Định nghĩa biến ký hiệu là ‘x’.
Khởi tạo biến ‘A’ có giá trị là 50
Định nghĩa biểu thức ‘fx’ và ‘dfx’ là đạo hàm của ‘fx’ theo biến ‘x’.
Trang 9lần lượt là hoành độ và tung độ của điểm tiếp tuyến tại x=0 ‘k’ là hệ số góc.
‘fx2’ là hàm số ‘fx’ sau khi dịch chuyển xuống 4 A3đơn vị.
‘x1’, ‘x2’, ‘y1’, ‘y2’ là các giá trị của điểm giao điểm giữa đường tiếp tuyến và đồ thị hàm số ‘fx2’.
‘xx’, ‘yy’ là giá trị của điểm giao điểm giữa đường tiếp tuyến và đồ thị gốc ‘fx’.
Tạo mảng ‘x’ có giá trị từ -1200 đến 1000 với bước nhảy là 1 Mảng này sẽ được sử dụng để tính giá trị của các hàm số và đường tiếp tuyến tại các điểm trên trục x.
Định nghĩa hàm số ‘fx’, ‘fx2’ và đường tiếp tuyến ‘pttt’ bằng lambda Sử dụng mảng ‘x’ đã tạo để tính giá trị của ‘fx’, ‘fx2’ và đường tiếp
tuyến tại từng điểm.
Vẽ đồ thị bằng hàm ‘plt.plot’.
Thêm tiêu đề và chú thích bằng hàm ‘plt.title’ và ‘plt.legend’ Cuối cùng là hiển thị đồ thị hàm số bằng hàm ‘plt.show’
1.3 Yêu cầu 1c
Gọi thư viện sympy để tính toán toán học; matplotlib để vẽ đồ thị Định nghĩa hai biến ký hiệu là ‘x’ và ‘x0’.
Khởi tạo biến ‘A’ có giá trị là 50.
‘xm’ và ‘ym’ lần lượt là tung độ và hoành độ tiếp điểm đề bài cho Định nghĩa biểu thức ‘fx’ và ‘dfx’ là đạo hàm của ‘fx’ theo biến ‘x’ ‘fx0’ là giá trị của ‘fx’ tại ‘x0’ Và tương tự, ‘dfx0’ là giá trị của đạo
hàm ‘dfx; tại ‘x0’.
Tính phương trình tiếp tuyến có dạng: ‘pttt = dfx0 * (xm - x0) + fx0’ Tìm nghiệm của phương trình ‘ym – pttt = 0’ để xác định x1 và x2 Tính ‘y1’ và ‘y2’ là giá trị của f(x) tại ‘x1’ và ‘x2’.
Tính ‘k1’ và ‘k2’ là hệ số góc của hàm số tại hai điểm ‘x1’ và ‘x2’.
Trang 10 Từ đó, ta tìm được phương trình hai phương trình tiếp tuyến.
Tạo một mảng ‘x_values’ có giá trị từ -1200 đến 1000 với bước nhảy là 1 Mảng này được sử dụng để tính giá trị của các hàm số và đường tiếp tuyến tại các điểm trên trục x.
Định nghĩa hàm số ‘fx’ và đường tiếp tuyến ‘pttt1’, ‘pttt2’.
Sử dụng mảng ‘x_values’ để tính giá trị ‘fx’, đường tiếp tuyến thứ nhất và thứ hai tại từng điểm.
Vẽ đồ thị ‘fx’, ‘pttt1’ và ‘pttt2’ và đánh dấu giao điểm trên đồ thị bằng hàm ‘plt.plot’.
Thêm tiêu đồ và chú thích bằng hàm ‘plt.title’ và ‘plt.legend’ Hiển thị đồ thị trên màn hình bằng hàm ‘plt.show’.
Trang 11CHƯƠNG 2 MÃ NGUỒN VÀ ĐẦU RA
2.1 Yêu cầu 1a
2.1.1 Mã nguồn
Hình 2.1.1 Câu 1a
2.1.2 Đầu ra
Trang 12Hình 2.1.2 Đáp án 1a
2.2 Yêu cầu 1b
2.2.1 Mã Nguồn
Trang 13Hình 2.2.1 Câu 1b
2.2.2 Đầu ra
Trang 14Hình 2.1.1 Đáp án 1b
Trang 16Hình 2.3.1 Câu 1c
Trang 17Hình 2.3.2 Đáp án 1c
2.3.2 Đầu ra