データライブラリ科学sympy

著作権:著作権:この記事はブロガーオリジナル記事ですが、許可ブロガーなく再生してはなりません。https://blog.csdn.net/qq_42658739/article/details/90417727

sympyは、計算問題にそれほど科学計算用のPythonライブラリである、多項式の評価が完了するような、式、直交、微分方程式、級数展開を解決する、強力な記号計算システムと限界を見つけ、行列演算と。
その構文については、Pythonは、シンプルで親しみ、豊かなエコパーティのライブラリで、個人的に日常生活に、よりエレガントなソリューション、仕事中に遭遇した計算問題の様々なと思います。
インストール:

pip install sympy

虚数単位のI

sympy.I
#i平方
sympy.I**2

-1の平方根

sympy.sqrt(-1

エンドeの自然対数:

print(sympy.log(sympy.E))

インフィニティOO:

print(sympy.oo)

パイ:

print(sympy.pi)

第四のルート8を見つけることにあるN番目のルートのルート(8,4)を決定します。

rst = sympy.root(8,4)
print(rst)

Kは、電力や階乗を求めます

print(2**3) #2的3次方
print(sympy.factorial(5)) #求5的阶乘

三角関数を探しています

print(sympy.sin(sympy.pi/2))

発現および発現の評価
記号のsympyセットは、関数、多項式として、発現系によって表すことができる、と評価することができます。

x = sympy.Symbol('x')
fx = 2*x + 1
print(type(fx)) #查看fx的类型
f = fx.evalf(subs={x:6}) #传入一个x的值,求出fx
print(f)

多変量方程式が解かれています。

x1,y = sympy.symbols('x1 y')
f1 = 2 * x1 + y
f1 = f1.evalf(subs = {x1:1,y:2}) #传入自变量值求出因变量值
print(f1)

方程式を解く:解く()
式sympy.solve機能の溶液を用いて、この機能は、典型的には二つの引数であり、
最初のパラメータは、(方程式の等号の同じ側にすべての項目が形成されている式)式式であります、
2番目のパラメータは式における未知数です。戻り値は(おそらく複素根)の式を表すすべてのルートのリストであります

通常の方程式ソリューション:
まず定義x不明を表す記号を

x = sympy.Symbol('x')

方程式を解く:X - 6 = 0戻りの溶液からなるリスト

print(sympy.solve(x - 6,x)) 

方程式の解

x,y = sympy.symbols('x y')
print(sympy.solve([x-y-8,x+y-2],[x,y]))
#第一个参数传入的方程组(也就是表达式),
#第二个参数传入的是方程组的变量,两个参数都是以列表形式传入

加算:加算(a、b)は
加算式の第1引数、合計着信タプルの形態の第2のパラメータに関する情報
最初のパラメータが第2のパラメータタプルが可変です2番目のパラメータが初期変数であり、3番目のパラメータは変数限界です。

n = sympy.Symbol('n')
print(sympy.summation(2 * n, (n,1,100)))

加算式ソリューション

x = sympy.Symbol('x')  #声明符号变量
i = sympy.Symbol('i',integer = True)
f =  sympy.summation(x,(i,1,5)) + 10 * x - 15  #构造表达式
reslute = sympy.solve(f,x) #第一个参数是表达式,第二个是变量;求解结果
print(reslute)

リミットの評価:

x = sympy.Symbol('x')
f1 = sympy.sin(x)/x    #声明表达式
sympy.limit(f1,x,0)     #求解表达式是f1,变量x趋于0的极限

導出:

x= sympy.Symbol('x')
f = x**2+2*x+1
print(sympy.diff(f,x))
#第一个参数是表达式,第二个参数是符号变量、返回一个<class 'sympy.core.add.Add'>类型的结果

変数関数デフレクタ

y = sympy.Symbol('y')
f3 = x**2+2*x+y**4
print(sympy.diff(f3,x)) #对x求偏导
print(sympy.diff(f3,y)) #对y求偏导

sympy.integrate機能:定積分を求める
最初のパラメータは、発現産物に充填され、第2のパラメータの組は、{、2番目の引数が下限である、第1のパラメータタプルが可変である第二の充填しますパラメータが上限]は
、複雑な積分時間を解い#、変数入れ子になったの原則に従ってください

x = sympy.Symbol('x')
f = 2 * x
print(sympy.integrate(f,(x,0,1)))

不定積分を解く:統合は、統合の多分上限と下限に単純ではありません。

x = sympy.Symbol('x')
f = sympy.exp(x)+3**2+sympy.log(x)
print(sympy.integrate(f,x)) 
#求不定积分,此时第二个参数填入的不再是元组,而是直接传入变量,因为没有上下限。当然也可以作为元组形式传入元组

微分方程式y「= 4XY [すなわち(Y / DX)4 =解くXの Y]を:

#定义符号变量
x=sympy.Symbol('x') 
 #定义符号函数、f可以与x构成函数方程f(x)、因为x就是自变量、f是因变量。
f = sympy.Function('f')
fx = sympy.diff(f(x),x)
print(sympy.dsolve(fx-2*x*f(x),f(x)))
#dsolve函数第一个参数传入微分方程表达式,第二个参数传入函数【f与x构成的函数f(x)】

かなり慣れてnumpyのをnumpyのための行列演算。

おすすめ

転載: blog.csdn.net/qq_42658739/article/details/90417727