有時候咱們須要進行一些複雜的數學計算,好比求導, 求積分,解方程,仍是用abcd字母表明變量的方程等,這就須要進行復雜的數學運算還須要具有良好的數學基礎。不過如今有一個很是方便的在線工具,只須要幾秒鐘, 就能告訴咱們全部的答案。html
&ems;sage是一個免費開源的數學計算軟件系統, 裏面包含了許多的package,好比NumPy, SciPy, matplotlib, Sympy, Maxima, GAP, FLINT, R 等。默認狀況下,既能夠運行sage自身的語法, 也兼容python的語法。正由於內部整合了許多包,因此它的安裝包很是大,固然,它也有在線版本SageMathCell實現方便的在線運算。SageMathCell:http://sagecell.sagemath.org/python
輸入框是代碼框,點evaluate以後,會在下面出現結果框(計算的結果或者是畫的圖形), 而且在代碼框右下方有一個切換語言的選項。代碼框支持tab補全,支持? + 函數來查看函數幫助。函數
x = var(x) #聲明x爲變量 f(x) = x^3 + x^2 +2 #定義函數f(x) diff(f, x) #f(x) 對x 求導
integral(f, x) # f(x) 對x不定積分
integral(f, x, 0, 1) #f(x) 對x 0,1 定積分
var('x y p q') #聲明變量 eq1 = p+q==9 #等式1 eq2 = q*y+p*x==-6 #等式2 eq3 = q*y^2+p*x^2==24 #等式3 solve([eq1, eq2, eq3,p==1],p,q,x,y) #已知 p==1解方程
[[p == 1, q == 8, x == -4/3*sqrt(10) - 2/3, y == 1/6*sqrt(10) - 2/3], [p == 1, q == 8, x == 4/3*sqrt(10) - 2/3, y == -1/6*sqrt(10) - 2/3]]
var('x a') f(x) = sqrt(x+a) taylor(f,x, 1, 2) #f(x)在1處水平爲2進行泰勒展開
circle((0,0), 1, rgbcolor=(1,1,0)) #圓心爲0,0半徑爲1的圓
以上只是做爲基本的引入, 更多的內容能夠本身去看manual,它具備幾乎全部你能想象的到的很是強大的數學計算功能。工具
Sage tutorial: http://doc.sagemath.org/html/en/tutorial/index.html
Philipp K. Janert, Data Analysis with Open Source Toolslua