expand(,complex=true):表示式分為實數、虛數兩部分
定積分運算:integrate(表示式,(自變數,積分下界,積分上屆))
in:
import numpy as np
from sympy import *
#將x定義為符號
x=symbol("x",real=true)
#建立多個符號:x,y,r=symbols('x,y,r')
#引數:positive=true,表示符號為正
#var():快速建立變數和symbol物件
#泰勒展開
tmp=series(exp(i*x),x,0,10)
tmp#獲得tmp實部
re(tmp)
#獲得tmp虛部
im(tmp)
out:
1 + i*x - x**2/2 - i*x**3/6 + x**4/24 + i*x**5/120 - x**6/720 - i*x**7/5040 + x**8/40320 + i*x**9/362880 + o(x**10)
x**8/40320 - x**6/720 + x**4/24 - x**2/2 + re(o(x**10)) + 1
deep=true:對所有子表示式化簡
recursive=true:遞迴進行最大程度化簡
in:
var("a,b,x")
#展開eq得到eq2
eq=(1+a*x)**3+(1+b*x)**2
eq2=expand(eq)
eq2#合併同類項
collect(eq2,x)
#得到x的各次冪係數,如獲得x的二次項係數
p=collect(eq2,x,evaluate=false)
p[x**2]
out:
a**3*x**3 + 3*a**2*x**2 + 3*a*x + b**2*x**2 + 2*b*x + 2
a**3*x**3 + x**2*(3*a**2 + b**2) + x*(3*a + 2*b) + 2
3*a**2 + b**2
in:
var("a,b,c")
#解一元二次方程
solve(a*x**2+b*x+c,x)
#解二元二次方程,結果每個元組表示方程的一組解
solve((x**2+x*y+1,y**2+x*y+2),x,y)
out:
[(-b + sqrt(-4*a*c + b**2))/(2*a), -(b + sqrt(-4*a*c + b**2))/(2*a)]
[(-sqrt(3)*i/3, -2*sqrt(3)*i/3), (sqrt(3)*i/3, 2*sqrt(3)*i/3)]
hint=best,返回最簡單的解,得到最簡單的顯函式表示式
(不夠精確,且不適合計算無窮積分)
一些基礎語句補充:
MATLAB符號計算
1.建立符號物件 建立符號變數和符號常量 matlab提供了兩個建立符號物件的函式 sym和syms,兩個函式的用法不同。1 sym函式 sym函式用來建立單個符號量,一般呼叫格式為 符號量名 sym 符號字串 該函式可以建立乙個符號量,符號字串可以是常量 變數 函式或表示式。應用sym函式還可以定...
keras 學習符號計算
本文簡單敘述了如何使用符號計算的方法,方便以後解構keras源 時參閱。正如官網所述 keras使用的後端theano和tensorflow軍委符號運算。符號主義的計算要首先定義各種變數,然後建立乙個 計算圖 計算圖規定了各個變數的計算關係,建立好了的計算圖需要編譯確定其內部細節,最後載入資料流,方...
MATLAB的符號計算
數學計算有數值計算與符號計算之分。這兩者的根本區別是 數值計算的表示式 矩陣變數中不允許有未定義的自由變數 而符號計算可以含有未定義的符號變數。對於一般的程式設計軟體如 c,c 等語言實現數值計算還可以 但是實現符號計算並不是一件容易的事。而 matlab 自帶有符號工具箱 symbolic mat...