Mô tả mã nguồn câu 1:

Một phần của tài liệu TIỂU LUẬN trình bày tóm tắt vấn đề về chức năng của 3 thư viện trong python numpy, sympy, matplotlib sau đó in ra chú thích từng dòng (Trang 35 - 38)

CHƯƠNG 2– PHẦN MÔ TẢ MÃ NGUỒN

2.1 Mô tả mã nguồn câu 1:

import sympy as sp; import numpy as np; import matplotlib.pyplot as plt #Khai báo thư viện

A = 84 #A là một số nguyên đại diện cho 4 chữ số của MSSV (bỏ đi các chữ số 0 ở đầu)

B = A % 2 # B là số dư khi lấy A chia cho 2 print("A B la:",A,B) # In ra kết quả cùa A và B global x # Gọi biến x toàn khu vực

x = sp.Symbol('x') # Gán biến x thành ký tự

f_x = lambda x: A * x**2 - 2 * A * x + A # Định nghĩa hàm số f(x) bằng hàm ẩn danh

g_x = lambda x: -A * x**2 + A**2 * x + A # Định nghĩa hàm số g(x) bằng hàm ẩn danh

f0 = f_x(0); f1 = f_x(1); fA = f_x(A); # Gán lần lượt 0,1,giá trị A vào f(x)

g0 = g_x(0); g1 = g_x(1); gA = g_x(A); # Gán lần lượt 0,1,giá trị A vào g(x)

print("Cau a:")

print('f(0) =',f0)

print('f(1) =',f1)

print('f(A) =',fA)

# In ra lần lượt 3 giá trị khi f(0),f(1),f(A) print("Cau b:")

print('g(0) =',g0)

print('g(1) =',g1)

print('g(A) =',gA)

# In ra lần lượt 3 giá trị khi g(0),g(1),g(A)

def f(x):

return A * x**2 - 2 * A * x + A # Tạo hàm f(x)

def g(x):

return -A * x**2 + A**2 * x + A # Tạo hàm g(x) def cau_c():

x1 = np.arange(-50,100,.1) # Tạo trục hoành từ -50 -> 100 với bước nhảy là 0.1

yf = list(map(f, x1)) # Tạo trục tung với từng giá trị của x1 theo hàm số f(x) yg

= list(map(g, x1)) # Tạo trục tung với từng giá trị của x1 theo hàm số g(x)

plt.plot(x1, yf, 'k', label = 'f(x)') # Tạo đường hàm f(x) màu đen trong đồ thị

plt.plot(x1, yg, 'blueviolet', label = 'g(x)') # Tạo đường hàm g(x) màu tím xanh trong đồ thị

plt.title('Cau c') # In ra tựa đề đồ thị là Câu c,d và e

plt.grid() # In ra đường dạng lưới cho đồ thị

plt.legend() # In ra nhãn để phân biệt từng đồ thị với nhau

plt.show() # In ra đồ thị

def cau_d():

x1 = np.arange(-50,100,.1) # Tạo trục hoành từ -50 -> 100 với bước nhảy là 0.1

yf = list(map(f, x1)) # Tạo trục tung với từng giá trị của x1 theo hàm số f(x)

ystretched = list(map(f, x1/(B + 2)))

# Tạo trục tung của hàm số fx bị kéo dãn với hệ số = trục hoành chia cho B + 2

plt.plot(x1, yf, 'k', label = 'f(x)') # Tạo đường hàm f(x) màu đen trong đồ thị

plt.plot(x1, ystretched, 'g', label = 'f(x) bi keo gian')

# Tạo đường hàm f(x) màu xanh lá cây bị kéo dãn trong đồ thị plt.title('Cau d') # In ra tựa đề đồ thị là Câu c,d và e

plt.grid() # In ra đường dạng lưới cho đồ thị

plt.legend() # In ra nhãn để phân biệt từng đồ thị với nhau

plt.show() # In ra đồ thị def cau_e():

x1 = np.arange(-50, 90, .1) # Tạo trục hoành từ -50 -> 100 với bước nhảy là 0.1

yf = list(map(f, x1)) # Tạo trục tung với từng giá trị của x1 theo hàm số f(x) yg

= list(map(g, x1)) # Tạo trục tung với từng giá trị của x1 theo hàm số g(x) fx = A * x**2 - 2 * A * x + A # Tạo ra biến hàm fx gx

= -A * x**2 + A**2 * x + A # Tạo ra biến hàm gx

x_root = sp.solve(fx - gx) # Gán nghiệm của 2 biến fx và gx khi trừ nhau vào x_root y_root = gx.subs(x, x_root[0]) # Lấy nghiệm thứ nhất của x_root thay vào biến x của biến hàm gx

################ Thay nghiệm của x_root vào 1 trong 2 biến fx hoặc gx ###############

y_root1 = gx.subs(x, x_root[1]) # Lấy nghiệm thứ hai của x_root thay vào biến x củabiến hàm gx

plt.plot(x1, yf, 'k', label = 'f(x)') # Tạo đường hàm f(x) màu đen trong đồ thị

plt.plot(x1, yg, 'blueviolet', label = 'g(x)') # Tạo đường hàm g(x) màu tím xanh trong đồ thị

plt.plot(x_root[0], y_root, 'ro', label = 'Giao diem cua f(x) and g(x)') plt.plot(x_root[1], y_root1, 'ro')

# Tạo ra giao điểm bằng chấm màu đỏ của 2 đồ thị hàm f(x) và g(x)

plt.title('Cau e') # In ra tựa đề đồ thị là Câu c,d và e

plt.grid() # In ra đường dạng lưới cho đồ thị

plt.legend() # In ra nhãn để phân biệt từng đồ thị với nhau

plt.show() # In ra đồ thị

print("Giao diem thu 1:",x_root[0],y_root) # In ra giao điểm thứ nhất của fx và gx

print("Giao diem thu 2:",x_root[1],y_root1) # In ra giao điểm thứ hai của fx và gx

cau_c() # Gọi hàm để thực hiện cau_d() # Gọi hàm để thực hiện cau_e() # Gọi hàm để thực hiện

Một phần của tài liệu TIỂU LUẬN trình bày tóm tắt vấn đề về chức năng của 3 thư viện trong python numpy, sympy, matplotlib sau đó in ra chú thích từng dòng (Trang 35 - 38)

Tải bản đầy đủ (DOCX)

(47 trang)
w