Các biến toán biểu tượng có thể được kết hợp thành các biểu thức toán học tượng trưng. Khi trong một biểu thức, các biến toán biểu tượng có thể được trao đổi với sự thay thế. Một biểu thức toán học tượng trưng là sự kết hợp của các biến toán học tượng trưng với số và toán tử toán học như Biểu hiện và thay thế
Biểu thức
+
, -
, /
và expr = 2*x + y
expr2 = expr.subs[x, 2]
expr2
0. Các quy tắc Python tiêu chuẩn để tính toán các số áp dụng trong các biểu thức toán học biểu tượng Sympy.
Sau khi các ký hiệu
expr = 2*x + y expr2 = expr.subs[x, 2] expr21 và
expr = 2*x + y expr2 = expr.subs[x, 2] expr22 được tạo, một biểu thức toán học tượng trưng sử dụng
expr = 2*x + y expr2 = expr.subs[x, 2] expr21 và
expr = 2*x + y expr2 = expr.subs[x, 2] expr22 có thể được xác định.
In [1]:
from sympy import symbolsx, y = symbols['x y'] expr = 2*x + y
Thay thế
Sử dụng phương pháp
expr = 2*x + y expr2 = expr.subs[x, 2] expr25 của Sympy để chèn giá trị số vào biểu thức toán học tượng trưng. Đối số đầu tiên của phương pháp
expr = 2*x + y expr2 = expr.subs[x, 2] expr25 là ký hiệu toán học và đối số thứ hai là giá trị số. Trong biểu thức dưới đây:
Nếu chúng ta thay thế:
Biểu thức kết quả là:
Chúng ta có thể mã hóa sự thay thế ở trên bằng phương pháp
expr = 2*x + y expr2 = expr.subs[x, 2] expr25 của Sympy như được hiển thị bên dưới.
Out[2]:
$ \ DispltStyle y + 4 $
Phương phápexpr = 2*x + y expr2 = expr.subs[x, 2] expr25 không thay thế các biến tại chỗ,
expr = 2*x + y expr2 = expr.subs[x, 2] expr25 chỉ hoàn thành thay thế một lần. Nếu
x, y, z = symbols['x y z'] expr = 2*x + y expr2 = expr.subs[x, z] expr20 được gọi sau khi phương thức
expr = 2*x + y expr2 = expr.subs[x, 2] expr25 được áp dụng, biểu thức
x, y, z = symbols['x y z'] expr = 2*x + y expr2 = expr.subs[x, z] expr20 ban đầu được trả về.
Out[3]:
$ \ DisplayStyle 2 x + y $
Để làm cho sự thay thế vĩnh viễn, một đối tượng biểu thức mới cần được gán cho đầu ra của phương thứcexpr = 2*x + y expr2 = expr.subs[x, 2] expr25.
In [4]:
expr = 2*x + y expr2 = expr.subs[x, 2] expr2
Out[4]:
$ \ DispltStyle y + 4 $
Phương phápexpr = 2*x + y expr2 = expr.subs[x, 2] expr25 không thay thế các biến tại chỗ,
expr = 2*x + y expr2 = expr.subs[x, 2] expr25 chỉ hoàn thành thay thế một lần. Nếu
x, y, z = symbols['x y z'] expr = 2*x + y expr2 = expr.subs[x, z] expr20 được gọi sau khi phương thức
expr = 2*x + y expr2 = expr.subs[x, 2] expr25 được áp dụng, biểu thức
x, y, z = symbols['x y z'] expr = 2*x + y expr2 = expr.subs[x, z] expr20 ban đầu được trả về.z is substituted for the symbol x [z replaces x].
In [5]:
x, y, z = symbols['x y z'] expr = 2*x + y expr2 = expr.subs[x, z] expr2
Out[5]:
$ \ DisplayStyle 2 x + y $
Để làm cho sự thay thế vĩnh viễn, một đối tượng biểu thức mới cần được gán cho đầu ra của phương thứcexpr = 2*x + y expr2 = expr.subs[x, 2] expr25.
Các biến Sympy cũng có thể được thay thế thành các biểu thức Sympy. Trong phần mã bên dưới, ký hiệu Z được thay thế cho ký hiệu x [z thay thế x].
$ \ DispltStyle y + 2 Z $
In [6]:
x, y, z = symbols['x y z'] expr = y + 2*x**2 + z**[-3] expr2 = expr.subs[y, 2*x] expr2
Out[6]:
Biểu thức cũng có thể được thay thế thành các biểu thức khác. Xem xét những điều sau:
thay thế trong
kết quả trong
$ \ DisplayStyle 2 x^{2} + 2 x + \ frac {1} {z^{3}} $
In [7]:
from sympy import symbols, exp n0, Qv, R, T = symbols['n0 Qv R T'] expr = n0exp[-Qv/[RT]]Một ví dụ thực tế liên quan đến các biến số toán học tượng trưng, biểu thức và thay thế có thể bao gồm một biểu thức phức tạp và một số thay thế.
In [8]:
expr.subs[n0, 3.48e-6].subs[Qv,12700].subs[R, 8031].subs[T, 1000+273]
Out[8]:
N_0 = 3,48 \ lần 10^{-6}
Chúng ta có thể tạo bốn biến toán biểu tượng và kết hợp các biến thành một biểu thức với mã bên dưới.In [9]:
expr2 = expr.subs[n0, 3.48e-6].subs[Qv,12700].subs[R, 8031].subs[T, 1000+273]
Out[10]:
Nhiều phương thức Sympy
x, y, z = symbols['x y z'] expr = 2*x + y expr2 = expr.subs[x, z] expr24 có thể được chuỗi với nhau để thay thế nhiều biến trong một dòng mã. $ \ DisplayStyle \ frac {3,48 \ cdot 10^{-6}} {e^{\ frac {12700} {10223463}}} $
Out[11]:
Để đánh giá một biểu thức là số điểm nổi, hãy sử dụng phương pháp
x, y, z = symbols['x y z'] expr = 2*x + y expr2 = expr.subs[x, z] expr25 của Sympy.
$ \ DisplayStyle 3.47567968697765 \ CDOT 10^{-6} $
Bạn có thể kiểm soát số chữ số các đầu ra phương thức
x, y, z = symbols['x y z'] expr = 2*x + y expr2 = expr.subs[x, z] expr25 bằng cách truyền một số làm đối số.
Hàm hoặc phương pháp sympy | Sự mô tả | Thí dụ |
x, y, z = symbols['x y z'] expr = 2*x + y expr2 = expr.subs[x, z] expr27 | Tạo các biến toán biểu tượng | x, y, z = symbols['x y z'] expr = 2*x + y expr2 = expr.subs[x, z] expr28 |
expr = 2*x + y expr2 = expr.subs[x, 2] expr25 | thay thế một giá trị thành một biểu thức toán học tượng trưng | x, y, z = symbols['x y z'] expr = y + 2*x**2 + z**[-3] expr2 = expr.subs[y, 2*x] expr20 |