📜  SymPy-函数类

📅  最后修改于: 2020-11-05 04:45:46             🧑  作者: Mango


Sympy包具有Function类,该类在sympy.core中定义。函数模块。它是所有应用的数学函数的基类,也是未定义函数类的构造函数。

以下类别的功能是从Function类继承的-

  • 复数功能
  • 三角函数
  • 整数函数
  • 组合功能
  • 其他杂项功能

复数功能

这组功能在sympy.functions.elementary.complexes模块中定义。

回覆

此函数返回表达式的实部-

>>> from sympy import * 
>>> re(5+3*I)

上面的代码片段的输出如下-

5

>>> re(I)

上面的代码片段的输出是-

0

此函数返回表达式的虚部-

>>> im(5+3*I)

上面的代码片段的输出如下-

3

>>> im(I)

上面的代码片段的输出如下-

1个

标志

此函数返回表达式的复杂符号。

对于真实表达,符号将为-

  • 如果表达式为正则为1
  • 如果表达式等于零,则为0
  • 如果表达式为负,则为-1

如果表达式是虚构的,则返回的符号为-

  • 如果im(expression)为正
  • -I如果im(expression)为负
>>> sign(1.55), sign(-1), sign(S.Zero)

上面的代码片段的输出如下-

(1,-1、0)

>>> sign (-3*I), sign(I*2)

上面的代码片段的输出如下-

(-I,I)

腹肌

此函数返回复数的绝对值。它定义为复平面中原点(0,0)与点(a,b)之间的距离。此函数是内置函数abs()的扩展,可以接受符号值。

>>> Abs(2+3*I)

上面的代码片段的输出如下-

$ \ sqrt13 $

共轭

此函数返回复数的共轭数。为了找到复共轭,我们改变了虚部的符号。

>>> conjugate(4+7*I)

执行上面的代码段后,您将获得以下输出:

4-7

三角函数

SymPy定义了所有三角比率(sin cos,tan等)及其反等比(例如asin,acos,atan等)的定义。这些函数针对以弧度表示的给定角度计算各自的值。

>>> sin(pi/2), cos(pi/4), tan(pi/6)

上面的代码片段的输出如下-

(1,sqrt(2)/ 2,sqrt(3)/ 3)

>>> asin(1), acos(sqrt(2)/2), atan(sqrt(3)/3)

上面的代码片段的输出如下-

(pi / 2,pi / 4,pi / 6)

整数功能

这是一组对整数执行各种运算的功能。

天花板

这是一个单变量函数,它返回不小于其参数的最小整数值。如果是复数,则将实部和虚部的上限分开。

>>> ceiling(pi), ceiling(Rational(20,3)), ceiling(2.6+3.3*I)

上面的代码片段的输出如下-

(4、7、3 + 4 * I)

地板

此函数返回不大于其参数的最大整数值。在复数的情况下,此函数也将实部和虚部分开。

>>> floor(pi), floor(Rational(100,6)), floor(6.3-5.9*I)

上面的代码片段的输出如下-

(3、16、6-6 * I)

压裂

此函数表示x的小数部分。

>>> frac(3.99), frac(Rational(10,3)), frac(10)

上面的代码片段的输出如下-

(0.990000000000000,1/3,0)

组合功能

组合学是一个数学领域,涉及有限或离散系统中的选择,排列和运算问题。

阶乘

阶乘在组合学中非常重要,因为它给出了排列n个对象的多种方式。它象征性地表示为𝑥!此函数是对非负整数的阶乘函数的实现,负整数的阶乘是复数无穷大。

>>> x=Symbol('x') 
>>> factorial(x)

上面的代码片段的输出如下-

X!

>>> factorial(5)

上面的代码片段的输出如下-

120

>>> factorial(-1)

上面的代码片段的输出如下-

$ \ infty \ backsim $

二项式

该函数具有多种函数,我们可以从一组n个元素中选择k个元素。

>>> x,y=symbols('x y') 
>>> binomial(x,y)

上面的代码片段的输出如下-

$(\ frac {x} {y})$

>>> binomial(4,2)

上面的代码片段的输出如下-

6

Pascal三角形的行可以通过二项式函数生成。

>>> for i in range(5): print ([binomial(i,j) for j in range(i+1)])

执行上面的代码段后,您将获得以下输出:

[1]

[1,1]

[1、2、1]

[1、3、3、1]

[1,4,6,4,1]

斐波那契

斐波那契数是由初始项F0 = 0,F1 = 1和两项递归关系Fn = Fn-1 + Fn-2定义的整数序列。

>>> [fibonacci(x) for x in range(10)]

执行上述代码段后,将获得以下输出-

[0,1,1,2,3,5,8,13,21,34]

Tribonacci

Tribonacci数是由初始项F0 = 0,F1 = 1,F2 = 1和三项递归关系Fn = Fn-1 + Fn-2 + Fn-3定义的整数序列。

>>> tribonacci(5, Symbol('x'))

上面的代码片段给出的输出等于下面的表达式-

$ x ^ 8 + 3x ^ 5 + 3x ^ 2 $

>>> [tribonacci(x) for x in range(10)]

执行上述代码段后,将获得以下输出-

[0,1,1,2,4,4,7,13,24,44,81]

杂项功能

以下是一些常用功能的列表-

最小值-返回列表的最小值。为了避免与内置函数min冲突,将其命名为Min。

最大值-返回列表的最大值。为避免与内置函数max冲突,将其命名为Max。

root-返回x的第n个根。

sqrt-返回x的主平方根。

cbrt-此函数计算x的主立方根(x ++ Rational(1,3)的快捷方式)。

以下是上述其他功能及其各自输出的示例-

>>> Min(pi,E)

Ë

>>> Max(5, Rational(11,2))

$ \ frac {11} {2} $

>>> root(7,Rational(1,2))

49

>>> sqrt(2)

$ \ sqrt2 $

>>> cbrt(1000)

10