(1)变量定义
数学中常用x,y,z代表变量。
#!/usr/bin/python3
import sympy
x = sympy.Symbol("x")
(2)函数
函数的定义:一个变量的每个值通过某种变化关系后分别对应另一个变量的值,那么称后一个变量为前一个变量的函数,或称两变量之间有映射关系。
这里设“前一个变量”为x,“后一个变量”为y,则可记为
?sympy中这样定义:
import sympy
x = sympy.Symbol('x')
fx = x**2+4 #()是python符号,不可使用在变量名中
gx = (sympy.sin(x))/(2**x+sympy.E**sympy.pi)
?两个函数的真是面目是这样的:
(3)集合
函数的自变量和因变量的取值限于它们的域集内。
一般情况下,Python自带的集合只能有有限个元素,不能满足需要。
#Python集合函数
a = set() #空集合
b = set(1,3,5,1.2) #带数字的集合
c = set("a",0.12,False,51+3j,0x45568d5fa) #带有多种类型的集合,数学中一般不用
# ^ ^ ^ ^ ^
# 字符串 浮点数 布尔值 复数 十六进制数
#
常见的集合有实数集R,自然数集N,整数集Z等。这些在Sympy中自带。
from sympy import Naturals,Naturals0,Integers,Interval,Reals,pprint #pprint表示漂亮打印
pprint(Naturals) #自然数集
pprint(Naturals0) #正整数集
pprint(Integers) #整数集
pprint(Reals) #实数集
pprint(Naturals.contains(0)) #contains方法用于检测某集合是否包含某元素
pprint(Naturals0.contains(0)) #这里正整数集不包含0,所以输出False
#结果
?
??
?
?
False
True
定义在实数上的区间一般用大写字母表示。但PEP要求我们变量要全小写。
from sympy import Interval,pprint
set0 = Interval(-5,3) #闭区间,相当于[-5,3].
set1 = Interval(-5,3, left_open=True) #左开右闭区间,相当于(-5,3].
set2 = Interval(-5,3, right_open=True) #左闭右开区间,相当于[-5,3).
set3 = Interval(-5,3, left_open=True,right_open=True) #开区间,相当于(-5,3).
pprint(set0)
pprint(set1)
pprint(set2)
pprint(set3)
输出结果:
[-5,3]
(-5,3]
[-5,3)
(-5,3)
集合有很多种运算。
import sympy as s
A = s.FiniteSet(1,2) #FiniteSet生成有限个元素的集合
B = s.FiniteSet(2,3)
C = s.Union(A,B) #A∪B=C,并运算:两集之和,并集为两集中的元素,重复的不计.这时C=(1,3)
#另外的方法:C = A + B;C = A.union(B)
D = s.Intersection(A,B) #A∩B=D,交运算:两集的交集为两集中共有的元素。
#这时D={2}(只有一个元素)。
E = s.Complement(FiniteSet(1,2,3,4,5,6,7) , FiniteSet(2,3,5))
#补运算:一个集合减去另一个集合。如果减集合里有被减集合没有的元素,那么该元素对被减集合无影响。
#这时E = {1,4,6,7}
F = s.Powerset(FiniteSet(1,2))
#幂运算,即集合的所有子集构成的集族
G = A * B
#两集合的笛卡尔积
|