研究源码前还是先学会使用吧,下面的是一些使用教程:
这个是以往相关的文章
import sympy
import numpy as np
print(np.double(sympy.log(sympy.E*sympy.pi)))
先感受一下数值计算和符号计算的区别
2.1447298858494
是一个数值型的结果
x=sympy.Symbol('x')
# 定义一个符号
fx=2*x+1
# fx是一个表达式
fx.evalf(subs={x:2})
# 这个函数专门用来求解
开始符号计算了,先定义一个符号变量
5.0
求值结果
import math
print(math.sin(math.pi))
这是普通数值计算
1.2246467991473532e-16
结果
from sympy import *
print(sin(pi))
符号计算表达式
0
所以就直接是0了,不知道为什么上面写了一堆
x,y=symbols('x y')
# 定义符号
可以这样一次声明多个符号变量
x,y,z=symbols('x y z')
y=expand((x+1)**2)
print(y)
符号计算
x**2 + 2*x + 1
结果
z=Rational(1,2)
# 构造以一个分数
使用Rational生成一个分数
print(z)
打印结果
1/2
结果
str_expr = 'x**2+2*x+1'
expr = sympify(str_expr)
# 这个函数的意思是符号化
print(expr)
将字符表达式符号化
x**2 + 2*x + 1
符号化的而结果
pi.evalf(3)
# 指定对应的精度
也可以提前设置计算精度
3.14
结果
import numpy
a = numpy.pi/3
x = symbols('x')
expr=sin(x)
f = lambdify(x,expr,'numpy')
# 这个函数把sympy的表达似乎转转为numpy的表达式
f(a)
和numy之间的转换计算
0.8660254037844386
计算结果
喜闻乐见的求导运算
甚至还可以求积分
求极限
级数展开等
这些是渲染了公式,就直接的截图了
Matrix(
[
[1,-1],
[3,4],
[0,2]
]
)
# 构造矩阵
Matrix([[1,-1],[3,4],[0,2])
# 构造矩阵
一般来说,大家写的矩阵都是这个样子,但是我习惯写成上面的那样,因为规律一目了然,也不是规律。。。我不知道怎么说了。
关于矩阵的各种运算,也放在这里了
最后画两个图
联系客服