SageMath
跳转到导航
跳转到搜索
解方程
var('x y')
solve(x^2 + 100 - x*y, x)
微积分
求导数:
f = 2 * cosh(x/2)
g = diff(f) # g 是 f 的导数
绘图
一般方程
绘制悬链线, 取值范围 :
plot(2*cosh(x/2), (x, -1, 1))
参数方程
(示例为曳物线):
parametric_plot((sech(x), x-tanh(x)), (x, -2, 2))
绘图函数返回一个 Graphics 对象,可以在其上绘制多个对象,也可指定绘图区大小:
p = plot(x^2, (-0.5, 1.4)) + line([(0,0), (1,1)], color='green')
p += line([(0.5, 0.5), (0.5, 0.5^2)], color='purple')
p += point(((0, 0), (0.5, 0.5), (0.5, 0.5^2), (1, 1)), color='red', pointsize=20)
p += text('A', (-0.05, 0.1), color='red')
p += text('B', (1.01, 1.1), color='red')
p += text('C', (0.48, 0.57), color='red')
p += text('D', (0.53, 0.18), color='red')
p.show(axes=False, xmin=-0.5, xmax=1.4, ymin=0, ymax=2)
隐函数
var("x y")
implicit_plot(x^2+y^2-2, (x,-3,3), (y,-3,3)).show(aspect_ratio=1)
3D 绘图
plot3d(sin(pi*((x)^2+(y)^2))/2, (x,-1,1), (y,-1,1))
点集
从文件读取并绘制一个点集的脚本,会生成临时图像并打开:
#!/usr/bin/sage -python
# vim:fileencoding=utf-8
from __future__ import print_function
import sys
from sage.all import *
#from sage.plot.point import point2d
def main(fname):
points = []
for i in open(fname):
points.append([float(x) for x in i.split()])
# p = point2d(points)
# p.plot().show()
point(points).show()
if __name__ == '__main__':
main(sys.argv[1]) if len(sys.argv) == 2 else sys.exit('give me a data file!')
环境变量
DOT_SAGE- 用户的 sage 目录,默认为
~/.sage