1. Trang chủ
  2. » Luận Văn - Báo Cáo

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 5 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 đề 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
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,18 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

File "D:\toandaicuong\main.py", line 4, in x = np.linalg.solvea,b File "", line 180, in solve File "D:\toandaicuong\venv\lib\site- packages\numpy\linalg\linalg.py", line 393, in solve

Trang 1

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 hiện : Nhóm 8

Trang 3

[72]

[31]]

B Tính định thức, ma trận nghịch đảo của các ma trận bài 1.8 (với m= 8) :

Trang 4

Kết quả: 3

 Hạng của ma trận = 3

B Tìm hạng và xét tính độc lập tuyến tính, phụ thuộc tuyến tính của các hệ vectơ trong bài 2.4

và 2.5 với m = 8 2.4.

print(np.linalg.matrix_rank(C))

Kết quả: 4

 Hạng ma trận = 4

Vì hạng ma trận = 4 = số véc tơ (4) => Hệ độc lập tuyến tính

2.5

X1 = X2 = X3 = X4 = (

Trang 5

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]])

Kết quả : [-0.70454545 0.17045455 7.17045455]

 Hệ có nghiệm: [-0.70454545 0.17045455 7.17045455]

Kết quả : [ 0.46666667 -0.00833333 0.525 0.375

]

Trang 6

 Hệ có nghiệm [ 0.46666667 -0.00833333 0.525 0.375 ]

b = np.array([0,0,0,0])

x = np.linalg.solve(a,b) print(x)

np.array([[2,-6,4,-6],[2,-1,1,1],[1,2,-1,4],[1,7,-b = np.array([-5,1,2,8])

x = np.linalg.solve(a,b) print(x)

Kết quả : Traceback (most recent call last):

Trang 7

File "D:\toandaicuong\main.py", line 4, in <module>

x = np.linalg.solve(a,b) File "< array_function internals>", line 180, in solve File "D:\toandaicuong\venv\lib\site-

packages\numpy\linalg\linalg.py", line 393, in solve

r = gufunc(a, b, signature=signature, extobj=extobj) File "D:\toandaicuong\venv\lib\site-

packages\numpy\linalg\linalg.py", line 88, in _raise_linalgerror_singular

raise LinAlgError("Singular matrix") numpy.linalg.LinAlgError: Singular matrix

 Hệ vô nghiệm hoặc vô số nghiệm

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 quả :

Trang 8

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 quả :

Trang 9

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 quả :

Trang 10

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 quả :

Trang 11

6.10.5

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 =(np.exp(x))/(x+1) plt.plot(x,y)

plt.xlabel("Truc x") plt.ylabel("Truc y") plt.title('Toan cao cap') plt.show()

Kết quả :

Trang 12

6.10.6

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)*(((x**2)-1)**(1/3)) plt.plot(x,y)

plt.xlabel("Truc x") plt.ylabel("Truc y") plt.title('Toan cao cap') plt.show()

Kết quả :

Trang 13

6.10.7

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*(((x**2)-1)**(1/8)) plt.plot(x,y)

plt.xlabel("Truc x") plt.ylabel("Truc y") plt.title('Toan cao cap') plt.show()

Kết quả :

Trang 14

x = np.arange(8,16,0.4)

y = np.arange(1,8,0.4)

X, Y = np.meshgrid(x, y)

z = (1/3)*(((X**2)+(Y**2))**(1/3)) fig = plt.figure()

ax = Axes3D(fig) ax.plot_surface(X, Y, z) plt.xlabel("Truc x") plt.ylabel("Truc y") plt.title('Toan cao cap') plt.show()

Kết quả :

Trang 15

7.3.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 = np.arange(1,8,0.4)

X, Y = np.meshgrid(x, y)

z = (X**2)*(np.log(X+Y)) fig = plt.figure()

ax = Axes3D(fig) ax.plot_surface(X, Y, z) plt.xlabel("Truc x") plt.ylabel("Truc y") plt.title('Toan cao cap') plt.show()

Kết quả :

Trang 16

7.3.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 = np.arange(1,8,0.4)

X, Y = np.meshgrid(x, y)

z = np.log((X*Y)+(((X**2)*(Y**2))**(1/3))) fig = plt.figure()

ax = Axes3D(fig) ax.plot_surface(X, Y, z) plt.xlabel("Truc x") plt.ylabel("Truc y") plt.title('Toan cao cap') plt.show()

Kết quả :

Trang 17

NHIỆM VỤ 5:

A Tính đạo hàm các hàm số trong bài 6.1 tại x =

8 6.1.1

Nhập:

import sympy

x = sympy Symbol ('x')

y = x**2/3 - 2/(sympy.sqrt(x))

Trang 18

y1 = y.diff(x) y1 = sympy.lambdify(x, y1) print (y1(8))

y1 = sympy.lambdify(x, y1) print (y1(8))

y1 = sympy.lambdify(x, y1) print (y1(8))

Trang 19

y = sympy.log((x**2 -sympy.sin(x)),3) y1 = y.diff(x)

y1 = sympy.lambdify(x, y1) print (y1(8))

y1 = sympy.lambdify(x, y1) print (y1(8))

y1 = sympy.lambdify(x, y1) print (y1(8))

Kết quả:

1.016192175717281

6.1.7.

Trang 20

y1 = sympy.lambdify(x, y1) print (y1(8))

Kết quả:

-0.27117052521989

B Tính các đạo hàm riêng cấp 1, 2 các hàm số trong bài 7.2 tại (8, 16)

z_x = sympy lambdify((x, y), z_x) z_y = sympy.diff(z, y)

Trang 21

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_x = sympy lambdify((x, y), z_x) z_y = sympy.diff(z, y)

z_y = sympy lambdify((x, y), z_y) print(z_x(8, 16))

print(z_y(8, 16))

Kết quả:

0.05590169943749474 0.034549150281252626

z_x = sympy lambdify((x, y), z_x) z_y = sympy.diff(z, y)

z_y = sympy lambdify((x, y), z_y) print(z_x(8, 16))

print(z_y(8, 16))

Trang 22

Kết quả:

0.05590169943749474 0.034549150281252626

z_x = sympy lambdify((x, y), z_x) z_y = sympy.diff(z, y)

z_y = sympy lambdify((x, y), z_y) print(z_x(8, 16))

print(z_y(8, 16))

Kết quả:

-0.11180339887498948 0.05590169943749472

z_y = sympy lambdify((x, y), z_y) print(z_x(8, 16))

print(z_y(8, 16))

Kết quả:

OverflowError: integer division result too large for a float

Trang 23

z_x = sympy lambdify((x, y), z_x) z_y = sympy.diff(z, y)

z_y = sympy lambdify((x, y), z_y) print(z_x(8, 16))

<lambdifygenerated-2>:2: RuntimeWarning: invalid value encountered in sqrt

return -y*arctan(sqrt(x**2 - y**2))/(x**2 + y**2)**(3/2)

- y/(sqrt(x**2 - y**2)*sqrt(x**2 + y**2)*(x**2 - y**2 + 1))

nan nan Giải thích : Lỗi do tập xác định vì => x>y mà x<y (8<16) => không thỏa mãn

Trang 24

z_x = sympy.diff(z, x) z_x = sympy lambdify((x, y), z_x) z_y = sympy.diff(z, y)

z_y = sympy lambdify((x, y), z_y) print(z_x(8, 16))

print(z_y(8, 16))

Kết quả:

0.049043278413829036 -1.222631678483764

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 quả :

0.07199999999999998 -0.036000000000000004 0.017999999999999988

7.2.2 :

Trang 25

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 quả :

-0.001397542485937368 -0.0027950849718747367 -0.0007617794066409208

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)

Trang 26

print(z_xx(8,16)) print(z_xy(8,16)) print(z_yy(8,16))

Kết quả :

0.015128594525018135 0.0018910743156272686 -0.005673222946881803

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 quả :

0.0027950849718747393 0.005590169943749476 -0.006288941186718158

7.2.5 :

Nhập :

Trang 27

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) 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))

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))

Trang 28

print(z_xy(8,16)) print(z_yy(8,16))

Kết quả :

(nan+7.040763791098415e-06j) (nan-1.408152758219683e-05j) (nan+2.816305516439366e-05j)

<lambdifygenerated-1>: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/

(sqrt(x**2 - y**2)*sqrt(x**2 + y**2)*(x**2 - y**2 + 1))

<lambdifygenerated-2>: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))

<lambdifygenerated-3>: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))

Trang 29

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 quả :

0.3736782927273071 0.015783190515072154 4.0303693439438755

NHIỆM VỤ 6:

6.10

* Tìm MIN 6.10.1,

Nhập: import math

from scipy.optimize import fmin

Trang 30

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 quả :

Optimization terminated successfully.

Current function value: 0.000000 Iterations: 15

Function evaluations: 30 [0.5]

1.3147681753683518e-31

Ghi chú Hàm số đạt min tại x = 0.5

Giá trị min: 1.3147681753683518e-31

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) print(f(*min_loc))

Trang 31

Kết quả :

Optimization terminated successfully.

Current function value: -0.250000 Iterations: 18

Function evaluations: 36 [-0.5]

print(min_loc) print(f(*min_loc))

Kết quả :: OverflowError: math range error

Trang 32

print(min_loc) print(f(*min_loc))

Kết quả :

Optimization terminated successfully.

Current function value: 0.000000 Iterations: 10

Function evaluations: 20 [1.]

Trang 33

min_loc = fmin(f, 1.0) print(min_loc)

print(f(*min_loc))

Kết quả :

Optimization terminated successfully.

Current function value: 1.000000 Iterations: 17

Function evaluations: 34 [-8.8817842e-16]

print(min_loc) print(f(*min_loc))

Kết quả :

Optimization terminated successfully.

Current function value: -0.395062

Trang 34

Iterations: 16 Function evaluations: 32 [0.33330078]

print(min_loc) print(f(*min_loc))

Kết quả :

Optimization terminated successfully.

Current function value: -0.128300 Iterations: 15

Function evaluations: 30 [0.57734375]

-0.12830005979537965

Ghi chú Hàm số đạt min tại x = 0.57734375

Giá trị min: -0.12830005979537965

Trang 35

print(min_loc) print(-f(*min_loc))

Ghi chú Giá trị max vượt quá giá trị lớn nhất của

Python (hàm số tiến ra 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)

Trang 36

Ghi chú Giá trị max vượt quá giá trị lớn nhất của

Python (hàm số tiến ra 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 quả :

Optimization terminated successfully.

Current function value: -0.367879 Iterations: 10

Function evaluations: 20 [1.]

0.36787944117144233

Trang 37

print(min_loc) print(-f(*min_loc))

Ghi chú Giá trị max vượt quá giá trị lớn nhất của

Python (hàm số tiến ra 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)

Trang 38

print(min_loc) print(-f(*min_loc))

print(min_loc) print(-f(*min_loc))

Ghi chú Giá trị max vượt quá giá trị lớn nhất của

Python (hàm số tiến ra vô cùng)

6.10.7,

Nhập: import math

Trang 39

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))

Ghi chú Giá trị max vượt quá giá trị lớn nhất của

Python (hàm số tiến ra vô cùng)

vec[1]), [0.1, 0.1]) print(min_loc) print(f(*min_loc))

Trang 40

Kết quả :

Optimization terminated successfully.

Current function value: 0.000000 Iterations: 39

Function evaluations: 76 [-1.00001244 1.00003511]

9.504592668463374e-10 Hàm số đạt min tại (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 quả :

Optimization terminated successfully.

Current function value: -1.125000 Iterations: 46

Function evaluations: 89

Trang 41

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 quả :

0.07199999999999998 -0.036000000000000004 0.017999999999999988

7.2.2 :

24

Trang 42

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 quả :

-0.001397542485937368 -0.0027950849718747367 -0.0007617794066409208

Ngày đăng: 23/12/2023, 18:05

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w