有时候咱们须要进行一些复杂的数学计算,好比求导, 求积分,解方程,仍是用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