Update sympy_example.py

This commit is contained in:
guanjihuan 2021-06-25 11:35:19 +08:00
parent 73d480e536
commit 93b74c642f

View File

@ -16,8 +16,6 @@ print(z**2)
print() print()
# 替换Substitution # 替换Substitution
print('变量替换:') print('变量替换:')
expression_1 = x**2+1 expression_1 = x**2+1
@ -26,8 +24,6 @@ print(value_1)
print() print()
# 字符串转成符号表达式 # 字符串转成符号表达式
print('字符串转成符号表达式:') print('字符串转成符号表达式:')
expression_string = 'x**3+1' expression_string = 'x**3+1'
@ -39,8 +35,6 @@ print(value_2)
print() print()
# 简化表达式 # 简化表达式
print('简化表达式:') print('简化表达式:')
expression_3 = sympy.simplify(sympy.sin(x)**2 + sympy.cos(x)**2) # 使用sympy.simplify() expression_3 = sympy.simplify(sympy.sin(x)**2 + sympy.cos(x)**2) # 使用sympy.simplify()
@ -48,8 +42,6 @@ print(expression_3)
print() print()
# 符号矩阵 # 符号矩阵
print('符号矩阵:') print('符号矩阵:')
a, b = sympy.symbols('a b') a, b = sympy.symbols('a b')
@ -58,21 +50,32 @@ print(matrix)
print() print()
sympy.init_printing(use_unicode=True)
# 符号矩阵的特征值和特征向量 # 符号矩阵的特征值和特征向量
print('符号矩阵的特征值和特征向量:') print('符号矩阵的特征值和特征向量:')
eigenvalue = matrix.eigenvals() # 使用.eigenvals()方法 eigenvalue = matrix.eigenvals() # 使用.eigenvals()方法
print('特征值\n', eigenvalue, '\n')
sympy.pprint(eigenvalue)
print('\n', sympy.pretty(eigenvalue))
print()
eigenvector = matrix.eigenvects() # 使用.eigenvects()方法 eigenvector = matrix.eigenvects() # 使用.eigenvects()方法
print('特征值\n', eigenvalue) print('特征向量\n', eigenvector, '\n')
print('特征向量\n', eigenvector) sympy.pprint(eigenvector)
print('\n', sympy.pretty(eigenvector))
print() print()
P, D = matrix.diagonalize() # 使用.diagonalize()方法 P, D = matrix.diagonalize() # 使用.diagonalize()方法
print('特征值\n', D) print('特征值\n', D, '\n')
print('特征向量\n', P) print(sympy.pretty(D), '\n')
print('特征值\n', D.subs(a, -4).subs(b, 2)) print('特征向量\n', P, '\n')
print('特征向量\n', P.subs(a, -4).subs(b, 2)) print(sympy.pretty(P), '\n')
print()
print('特征值\n', D.subs(a, -4).subs(b, 2), '\n')
print(sympy.pretty(D.subs(a, -4).subs(b, 2)), '\n')
print('特征向量\n', P.subs(a, -4).subs(b, 2), '\n')
print(sympy.pretty(P.subs(a, -4).subs(b, 2)), '\n')
print() print()
# 和numpy对比 # 和numpy对比