SageMath

来自百合仙子's Wiki
跳转到导航 跳转到搜索

解方程

var('x y')
solve(x^2 + 100 - x*y, x)

微积分

求导数:

f = 2 * cosh(x/2)
g = diff(f) # g 是 f 的导数

绘图

一般方程

绘制悬链线x 取值范围 [1,1]

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

参见

外部链接