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

(TIỂU LUẬN) thảo luận nhóm TMU học PHẦN TOÁN CAO cấp NHIỆM vụ sử DỤNG PYTHON GIẢI các bài TOÁN

48 38 0

Đ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 đề Sử Dụng Python Giải Các Bài Toán
Tác giả Nhóm 8
Người hướng dẫn Lê Văn Tuấn
Trường học Trường Đại Học Thương Mại
Chuyên ngành Toán Cao Cấp
Thể loại Bài Thảo Luận
Định dạng
Số trang 48
Dung lượng 1,13 MB

Nội dung

TRƯỜNG ĐẠI HỌC THƯƠNG MẠI KHOA HTTTKT & TMĐT BÀI THẢO LUẬN HỌC PHẦN: TOÁN CAO CẤP NHIỆM VỤ: SỬ DỤNG PYTHON GIẢI CÁC BÀI TOÁN Lớp học phần 2213AMTA1011 : Giảng viên : Lê Văn Tuấn Nhóm thực : Nhóm 0 NHIỆM VỤ 1: A Thực phép tính 1.1 a), c), d) 1.1 a) Nhập: import numpy as np A = np.array([[2, 4],[-4, 7],[0, 1]]) B = np.array([[-2, 1, -6, -1],[5, 4, 7, 10]]) print(np.dot(A,B)) Kết :  [[16 18 16 38] [43 24 73 74] [ 10]] 1.1 c) Nhập: import numpy as np A = np.array([[1,1,1,1],[1,1,-1,-1],[1,-1,1,-1],[1,-1,-1,1]]) print(np.linalg.matrix_power(A,2)) Kết quả:  [[4 0 0] [0 0] [0 0] [0 0 4]] 1.1 d) Nhập: import numpy as np A = np.array([[4, 7, 4],[8, 2, 5],[9, -3, 1]]) B = np.array([[5], [6], [4]]) print(np.dot(A,B)) Kết quả:  [[78] 0 [72] [31]] B Tính định thức, ma trận nghịch đảo ma trận 1.8 (với m= 8) : 1.8.1 Nhập: import numpy as np A = np.array([[3, 4, 2],[6, 8, 4],[9, 12, 8]]) print(np.linalg.det (A)) Kết quả:  Định thức = + Vì định thức = => khơng có ma trận nghịch đảo 1.8.2 Nhập: import numpy as np B = np.array([[1, 2, 1, 1],[2, 3, 2, 6],[-63, -1, 0, 11],[1, 1, 1, 5]]) print(np.linalg.det (B)) Kết quả: -1.1191048088221598e-13 => Định thức = -1.1191048088221598e-13 Vì định thức => khơng có ma trận nghịch đảo NHIỆM VỤ : A Tìm hạng ma trận 1.7 với = 1.7.1 Nhập: import numpy as np A = np.array([[5, -4, 3, 1],[9, 8, 6, 3],[4, 1, 3, 2]]) print(np.linalg.matrix_rank(A)) 0 Kết quả:  Hạng ma trận = 1.7.2 Nhập: import numpy as np B = np.array([[1, 8, -1, 2],[2, -1, 8, 5],[1, 10, -6, 1]]) print(np.linalg.matrix_rank(B)) Kết quả:  Hạng ma trận = B Tìm hạng xét tính độc lập tuyến tính, phụ thuộc tuyến tính hệ vectơ 2.4 2.5 với m = 2.4 = (1, -1, 2, 0, 3); = (2, -3, 5, 1, -4); = (4, -5, 9, 1, 8); = (2, -2, 4, 9, 6) Nhập: import numpy as np C = np.array([[1, -1, 2, 0, 3],[2, -3, 5, 1, -4],[4, -5, 9, 1, 8],[2, -2, 4, 9, 6]]) print(np.linalg.matrix_rank(C)) Kết quả:  Hạng ma trận = Vì hạng ma trận = = số véc tơ (4) => Hệ độc lập tuyến tính 2.5 X1 = X2 = X3 = X4 = ( 0 Nhập: import numpy as np D = np.array([[1, 0, -1, 2, -2],[2, 1, 0, 3, -5],[5, 2, -1, 8, 8-64],[-3,-1,1,-5,8+3]]) print(np.linalg.matrix_rank(D)) Kết quả:  Hạng ma trận = < số véc tơ (4)  Hệ phụ thuộc tuyến tính NHIỆM VỤ : Giải hệ PTTT 3.4, 3.6, 3.9 với m = k = 3.4.1 Nhập: import numpy as np a = np.array([[9, 1, 1],[1, 9, 1],[1, 1, 9]]) b = np.array([1,8,64]) x = np.linalg.solve(a, b) print(x) Kết : [-0.70454545 0.17045455 7.17045455]  Hệ có nghiệm: [-0.70454545 0.17045455 7.17045455] 3.4.2 Nhập: import numpy as np a = np.array([[2, 1, 3, 4],[0, 3, 1, 4],[-4, -2, 4, -6],[2, 4, 9, -7]]) b = np.array([4, 2, -2, 3]) x = np.linalg.solve(a, b) print(x) Kết : [ 0.46666667 -0.00833333 0.525 ] 0 0.375  Hệ có nghiệm [ 0.46666667 -0.00833333 0.525 0.375 ] 3.6.1 Nhập: import numpy as np a = np.array([[1,1,1],[1,-2,-2],[1,4,16]]) b = np.array([0,0,0]) x = np.linalg.solve(a,b) print(x) Kết : [ -0 0.]  Hệ có nghiệm [ -0 0.] 3.6.2 Nhập: import numpy as np a = np.array([[2, 3, 1, 2],[4, 5, 3, 4],[6, 7, 5, 7], [8,9,9,8]]) b = np.array([0,0,0,0]) x = np.linalg.solve(a,b) print(x) Kết : [ 0 -0 -0.]  Hệ có nghiệm [ 0 -0 -0.] 3.9 Nhập: import numpy as np a = np.array([[2,-6,4,-6],[2,-1,1,1],[1,2,-1,4],[1,7,4,11]]) b = np.array([-5,1,2,8]) x = np.linalg.solve(a,b) print(x) Kết : Traceback (most recent call last): 0 File "D:\toandaicuong\main.py", line 4, in x = np.linalg.solve(a,b) File "< array_function internals>", line 180, in solve File "D:\toandaicuong\venv\lib\sitepackages\numpy\linalg\linalg.py", line 393, in solve r = gufunc(a, b, signature=signature, extobj=extobj) File "D:\toandaicuong\venv\lib\sitepackages\numpy\linalg\linalg.py", line 88, in _raise_linalgerror_singular raise LinAlgError("Singular matrix") numpy.linalg.LinAlgError: Singular matrix  Hệ vô nghiệm vô số nghiệm NHIỆM VỤ 4: A Vẽ đồ thị hàm số 6.10 đoạn [8,16] 6.10.1 : Nhập: import numpy as np from matplotlib import pyplot as plt from mpl_toolkits.mplot3d import Axes3D x = np.arange(8,16,0.4) y = x*(((1-2*x)**2)**(1/3)) plt.plot(x,y) plt.xlabel("Truc x") plt.ylabel("Truc y") plt.title('Toan cao cap') plt.show() Kết : 0 6.10.2 Nhập: import numpy as np from matplotlib import pyplot as plt from mpl_toolkits.mplot3d import Axes3D x = np.arange(8,16,0.4) y =x+3*((x**2)**1/3) plt.plot(x,y) plt.xlabel("Truc x") plt.ylabel("Truc y") plt.title('Toan cao cap') plt.show() Kết : 0 6.10.3 Nhập: import numpy as np from matplotlib import pyplot as plt from mpl_toolkits.mplot3d import Axes3D x = np.arange(8,16,0.4) y =x/(np.exp(x)) plt.plot(x,y) plt.xlabel("Truc x") plt.ylabel("Truc y") plt.title('Toan cao cap') plt.show() Kết : 0 6.10.4 Nhập: import numpy as np from matplotlib import pyplot as plt from mpl_toolkits.mplot3d import Axes3D x = np.arange(8,16,0.4) y =x*((np.log(x))**2) plt.plot(x,y) plt.xlabel("Truc x") plt.ylabel("Truc y") plt.title('Toan cao cap') plt.show() Kết : 10 0 Iterations: 16 Function evaluations: 32 [0.33330078] -0.3950617276886478 Ghi Hàm số đạt x = 0.33330078 Giá trị min: -0.3950617276886478 6.10.7, Nhập: import math from scipy.optimize import fmin def f(x): return x*((x**2-1)**1/3) min_loc = fmin(f, 1.0) print(min_loc) print(f(*min_loc)) Kết : Optimization terminated successfully Current function value: -0.128300 Iterations: 15 Function evaluations: 30 [0.57734375] -0.12830005979537965 Ghi Hàm số đạt x = 0.57734375 Giá trị min: -0.12830005979537965 34 0 * Tìm MAX 6.10.1, Nhập: import math from scipy.optimize import fmin def f(x): return -(x* (1-2*x)**2/3) min_loc = fmin(f, 1.0) print(min_loc) print(-f(*min_loc)) Kết : Warning: Maximum number of function evaluations has been exceeded [6.338253e+28] 3.3950599605575043e+86 Ghi Giá trị max vượt giá trị lớn Python (hàm số tiến vô cùng) 6.10.2, Nhập: import math from scipy.optimize import fmin def f(x): return -(x+ 3* x**2/3) min_loc = fmin(f, 1.0) print(min_loc) 35 0 print(-f(*min_loc)) Kết : Warning: Maximum number of function evaluations has been exceeded [6.338253e+28] 4.0173451106474974e+57 Ghi Giá trị max vượt giá trị lớn Python (hàm số tiến vô cùng) 6.10.3, Nhập: import math from scipy.optimize import fmin def f(x): return -(x/math.e**x) min_loc = fmin(f, 1.0) print(min_loc) print(-f(*min_loc)) Kết : Optimization terminated successfully Current function value: -0.367879 Iterations: 10 Function evaluations: 20 [1.] 0.36787944117144233 36 0 Ghi Hàm số đạt max x = Giá trị max : 0.36787944117144233 6.10.4, Nhập: import math from scipy.optimize import fmin def f(x): return -(x*math.log(x)**2) min_loc = fmin(f, 1.0) print(min_loc) print(-f(*min_loc)) Kết : Warning: Maximum number of function evaluations has been exceeded [6.338253e+28] 2.787695426470232e+32 Ghi Giá trị max vượt giá trị lớn Python (hàm số tiến vô cùng) 6.10.5, Nhập: import math from scipy.optimize import fmin def f(x): return -(math.exp(x)/(x+1)) min_loc = fmin(f, 1.0) 37 0 print(min_loc) print(-f(*min_loc)) Kết : OverflowError: math range error 6.10.6, Nhập: import math from scipy.optimize import fmin def f(x): return -((x+1)*((math.pow(x,2)-1)**1/3)) min_loc = fmin(f, 1.0) print(min_loc) print(-f(*min_loc)) Kết : Warning: Maximum number of function evaluations has been exceeded [6.338253e+28] 8.487649901393761e+85 Ghi Giá trị max vượt giá trị lớn Python (hàm số tiến vô cùng) 6.10.7, Nhập: import math 38 0 from scipy.optimize import fmin def f(x): return -(x*((x**2-1)**1/3)) min_loc = fmin(f, 1.0) print(min_loc) print(-f(*min_loc)) Kết : Warning: Maximum number of function evaluations has been exceeded [6.338253e+28] 8.487649901393761e+85 Ghi Giá trị max vượt giá trị lớn Python (hàm số tiến vô cùng) 7.9 * Tìm MIN 7.9.1, Nhập: import math from scipy.optimize import fmin def f(x,y): return x**2 + x*y +y**2 +x-y+1 min_loc = fmin(lambda vec: f(vec[0], vec[1]), [0.1, 0.1]) print(min_loc) print(f(*min_loc)) 39 0 Kết : Optimization terminated successfully Current function value: 0.000000 Iterations: 39 Function evaluations: 76 [-1.00001244 1.00003511] 9.504592668463374e-10 Hàm số đạt (x, y) = (-1.00001244 , 1.00003511) (0, 1) Giá trị min: 9.504592668463374e-10 7.9.2, Nhập: import math from scipy.optimize import fmin def f(x,y): return 2*x**4+y**4-x**2-2*y**2 min_loc = fmin(lambda vec: f(vec[0], vec[1]), [0.1, 0.1]) print(min_loc) print(f(*min_loc)) Kết : Optimization terminated successfully Current function value: -1.125000 Iterations: 46 Function evaluations: 89 40 0 import sympy x, y = sympy.symbols ('x y', real = True) z = (x**3 + y**3)/(x**2 + y**2) z_x = sympy.diff(z, x) z_xx = sympy.diff(z_x,x) z_xx = sympy.lambdify((x,y), z_xx) z_x = sympy.diff(z, x) z_xy = sympy.diff(z_x,y) z_xy = sympy.lambdify((x, y), z_xy) z_y = sympy.diff(z, y) z_yy = sympy.diff(z_y,y) z_yy = sympy.lambdify((x, y), z_yy) print(z_xx(8,16)) print(z_xy(8,16)) print(z_yy(8,16)) Kết : 0.07199999999999998 -0.036000000000000004 0.017999999999999988 7.2.2 : 24 0 Nhập : import sympy x, y = sympy.symbols ('x y', real = True) z = sympy.log(x + sympy.sqrt(x**2 + y**2)) z_x = sympy.diff(z, x) z_xx = sympy.diff(z_x,x) z_xx = sympy.lambdify((x,y), z_xx) z_x = sympy.diff(z, x) z_xy = sympy.diff(z_x,y) z_xy = sympy.lambdify((x, y), z_xy) z_y = sympy.diff(z, y) z_yy = sympy.diff(z_y,y) z_yy = sympy.lambdify((x, y), z_yy) print(z_xx(8,16)) print(z_xy(8,16)) print(z_yy(8,16)) Kết : -0.001397542485937368 -0.0027950849718747367 -0.0007617794066409208 7.2.3 : Nhập : 0 import sympy x, y = sympy.symbols ('x y', real = True) z = sympy exp(sympy.atan(y/x)) z_x = sympy.diff(z, x) z_xx = sympy.diff(z_x,x) z_xx = sympy.lambdify((x,y), z_xx) z_x = sympy.diff(z, x) z_xy = sympy.diff(z_x,y) z_xy = sympy.lambdify((x, y), z_xy) z_y = sympy.diff(z, y) z_yy = sympy.diff(z_y,y) z_yy = sympy.lambdify((x, y), z_yy) 25 0 print(z_xx(8,16)) print(z_xy(8,16)) print(z_yy(8,16)) Kết : 0.015128594525018135 0.0018910743156272686 -0.005673222946881803 7.2.4 : Nhập : import sympy x, y = sympy.symbols ('x y', real = True) z = sympy.log((sympy.sqrt(x**2 + y**2)-x)/ (sympy.sqrt(x**2 + y**2)+x)) z_x = sympy.diff(z, x) z_xx = sympy.diff(z_x,x) z_xx = sympy.lambdify((x,y), z_xx) z_x = sympy.diff(z, x) z_xy = sympy.diff(z_x,y) z_xy = sympy.lambdify((x, y), z_xy) z_y = sympy.diff(z, y) z_yy = sympy.diff(z_y,y) z_yy = sympy.lambdify((x, y), z_yy) print(z_xx(8,16)) print(z_xy(8,16)) print(z_yy(8,16)) Kết : 0.0027950849718747393 0.005590169943749476 -0.006288941186718158 7.2.5 : Nhập : 0 26 import sympy x, y = sympy.symbols ('x y', real = True) z = x**(y**3) z_x = sympy.diff(z, x) z_xx = sympy.diff(z_x,x) z_xx = sympy.lambdify((x,y), z_xx) 0 z_x = sympy.diff(z, x) z_xy = sympy.diff(z_x,y) z_xy = sympy.lambdify((x, y), z_xy) z_y = sympy.diff(z, y) z_yy = sympy.diff(z_y,y) z_yy = sympy.lambdify((x, y), z_yy) print(z_xx(8,16)) print(z_xy(8,16)) print(z_yy(8,16)) Kết : OverflowError: integer division result too large for a float 7.2.6 : Nhập : import sympy x, y = sympy.symbols ('x y', real = True) z = sympy.atan((sympy.sqrt(x**2 - y**2)))/ ((sympy.sqrt(x**2 + y**2))) z_x = sympy.diff(z, x) z_xx = sympy.diff(z_x,x) z_xx = sympy.lambdify((x,y), z_xx) z_x = sympy.diff(z, x) z_xy = sympy.diff(z_x,y) z_xy = sympy.lambdify((x, y), z_xy) z_y = sympy.diff(z, y) z_yy = sympy.diff(z_y,y) z_yy = sympy.lambdify((x, y), z_yy) print(z_xx(8,16)) 27 0 print(z_xy(8,16)) print(z_yy(8,16)) Kết : (nan+7.040763791098415e-06j) (nan-1.408152758219683e-05j) (nan+2.816305516439366e-05j) :2: RuntimeWarning: invalid value encountered in sqrt return 3*x**2*arctan(sqrt(x**2 - y**2))/(x**2 + y**2)**(5/2) - 2*x**2/(sqrt(x**2 - y**2)*sqrt(x**2 + y**2)*(x**2 - y**2 + 1)**2) - 2*x**2/(sqrt(x**2 y**2)*(x**2 + y**2)**(3/2)*(x**2 - y**2 + 1)) - x**2/ ((x**2 - y**2)**(3/2)*sqrt(x**2 + y**2)*(x**2 - y**2 + 1)) - arctan(sqrt(x**2 - y**2))/(x**2 + y**2)**(3/2) + 1/ 0 (sqrt(x**2 - y**2)*sqrt(x**2 + y**2)*(x**2 - y**2 + 1)) :2: RuntimeWarning: invalid value encountered in sqrt return 3*x*y*arctan(sqrt(x**2 - y**2))/(x**2 + y**2)**(5/2) + 2*x*y/(sqrt(x**2 - y**2)*sqrt(x**2 + y**2)*(x**2 - y**2 + 1)**2) + x*y/((x**2 y**2)**(3/2)*sqrt(x**2 + y**2)*(x**2 - y**2 + 1)) :2: RuntimeWarning: invalid value encountered in sqrt return 3*y**2*arctan(sqrt(x**2 - y**2))/(x**2 + y**2)**(5/2) - 2*y**2/(sqrt(x**2 - y**2)*sqrt(x**2 + y**2)*(x**2 - y**2 + 1)**2) + 2*y**2/(sqrt(x**2 y**2)*(x**2 + y**2)**(3/2)*(x**2 - y**2 + 1)) - y**2/ ((x**2 - y**2)**(3/2)*sqrt(x**2 + y**2)*(x**2 - y**2 + 1)) - arctan(sqrt(x**2 - y**2))/(x**2 + y**2)**(3/2) - 1/ (sqrt(x**2 - y**2)*sqrt(x**2 + y**2)*(x**2 - y**2 + 1)) 28 0 ... print(np.linalg.matrix_rank(D)) Kết quả:  Hạng ma trận = < số véc tơ (4)  Hệ phụ thuộc tuyến tính NHIỆM VỤ : Giải hệ PTTT 3.4, 3.6, 3.9 với m = k = 3.4.1 Nhập: import numpy as np a = np.array([[9, 1,... ax.plot_surface(X, Y, z) plt.xlabel("Truc x") plt.ylabel("Truc y") plt.title(''Toan cao cap'') plt.show() Kết : 16 0 NHIỆM VỤ 5: A Tính đạo hàm hàm số 6.1 x = 6.1.1 Nhập: import sympy x = sympy Symbol...NHIỆM VỤ 1: A Thực phép tính 1.1 a), c), d) 1.1 a) Nhập: import numpy as np A = np.array([[2, 4],[-4,

Ngày đăng: 05/12/2022, 06:44

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w