有时候我们需要进行一些复杂的数学计算,比如求导, 求积分,解方程,还是用abcd字母代表变量的方程等,这就需要进行复杂的数学运算还需要具备良好的数学基础。不过现在有一个非常方便的在线工具,只需要几秒钟, 就能告诉我们所有的答案。
sage
&ems;sage是一个免费开源的数学计算软件系统, 里面包含了许多的package,比如NumPy, SciPy, matplotlib, Sympy, Maxima, GAP, FLINT, R 等。默认情况下,既可以运行sage自身的语法, 也兼容python的语法。正因为内部整合了许多包,所以它的安装包非常大,当然,它也有在线版本SageMathCell实现方便的在线运算。SageMathCell:http://sagecell.sagemath.org/
sage介绍
输入框是代码框,点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 Tools
方便快捷的求导求积分解方程在线工具sage介绍的更多相关文章
-
BUAA-OO-表达式解析与求导
BUAA-OO-表达式解析与求导 解析 按照常规,解析这一部分我们分为词法分析与语法分析.当然由于待解析的字符串较简单,词法分析器和语法分析器不必单独实现. 词法分析器 按照常规,我们先手写一个词法分 ...
-
OO_多项式求导_单元总结
概述: 面向对象第一单元的作业是三次难度依次递增的多项式求导.第一次作业是仅包含带符号整数和幂函数的多项式求导,例如:-1+xˆ233-xˆ06:第二次是在前面的基础上增加了三角函数的求导,例如:-1 ...
-
深度学习:Sigmoid函数与损失函数求导
1.sigmoid函数 sigmoid函数,也就是s型曲线函数,如下: 函数: 导数: 上面是我们常见的形式,虽然知道这样的形式,也知道计算流程,不够感觉并不太直观,下面来分析一下. 1.1 ...
-
OO第一单元总结__多项式求导问题
作业一.含幂函数的简单多项式的求导 (1)基于度量的程序结构分析 1. 统计信息图: 2. 结构信息图: 3. 复杂度分析 基本复杂度(Essential Complexity (ev(G)).模块设 ...
-
OO_Unit1_表达式求导总结
OO_Unit1_表达式求导总结 OO的第一单元主要是围绕表达式求导这一问题布置了3个子任务,并在程序的鲁棒性与模型的复杂度上逐渐升级,从而帮助我们更好地提升面向对象的编程能力.事实也证明,通过这 ...
-
OO第一单元总结——求导
一.基于度量分析程序结构 (一)第一次作业 (1)设计思路 本次作业只涉及到简单幂函数通过加减运算而复合而成的函数,因此笔者自然的把函数分成了函数本体以及单个的项两个部分,在笔者的设计中两个类的功能如 ...
-
OO第一单元总结——表达式求导
第一次作业 (1) UML结构图 (2)结构分析 Polynomial 类是对输入的字符串进行预处理,其中包括判断格式是否合法,运算符简化,分割成项等方法. Polynomial处理后得到的每一个项的 ...
-
面向对象第一单元总结:Java实现表达式求导
面向对象第一单元总结:Java实现表达式求导 题目要求 输入一个表达式:包含x,x**2,sin(),cos(),等形式,对x求导并输出结果 例:\(x+x**2+-2*x**2*(sin(x**2+ ...
-
Deep learning:五十一(CNN的反向求导及练习)
前言: CNN作为DL中最成功的模型之一,有必要对其更进一步研究它.虽然在前面的博文Stacked CNN简单介绍中有大概介绍过CNN的使用,不过那是有个前提的:CNN中的参数必须已提前学习好.而本文 ...
随机推荐
-
Effective Python2 读书笔记1
Item 2: Follow the PEP 8 Style Guide Naming Naming functions, variables, attributes lowercase_unders ...
-
uva 1658(最小费用最大流)
题意:一个带权有向图,求起点到终点的两条路径权值之和最小,且两条路径没有公共点(除起点,终点): 分析:拆点法,将u拆成u和u',u-u'容量为1,费用为0,这样就能保证每个点只用一次,起点s-s'容 ...
-
JavaScriptMinifier C#压缩Javascript
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Te ...
-
CCBReader
#ifndef _CCB_CCBREADER_H_ #define _CCB_CCBREADER_H_ #include "cocos2d.h" #include "Ex ...
-
Ural 1079 - Maximum
Consider the sequence of numbers ai, i = 0, 1, 2, …, which satisfies the following requirements: a0 ...
-
请使用千位分隔符(逗号)表示web网页中的大数字
方法一:使用正则表达式 语法如下: String(Number).replace(/(\d)(?=(\d{3})+$)/g, "$1,"); 举例: String(12345678 ...
-
Android--Led_Demo_APK控制LED灯
下面代码主要实现接口定义,实现从.so库文件接口函数在JAVA里面的声明:package com.friendlyarm.AndroidSDK; import android.util.Log; pu ...
-
oracle基础之游标的理解与使用
关于游标,首先要知道游标的定义. 游标,是内存中的一款区域,用来存放select的结果集 游标用来处理从数据库中检索的多行记录(使用select语句).利用游标,程序可以逐个的处理和遍历一次索引返回的 ...
-
prority_queue自定义类型使用
struct Tower{ Tower(int h, int p){ height = h; pos = p; } bool operator < (Tower &t) { if (he ...
-
「UOJ207」共价大爷游长沙
「UOJ207」共价大爷游长沙 解题思路 : 快速判断两个集合是否完全相等可以随机点权 \(\text{xor}\) 的思路可以用到这道题上面,给每一条路径随机一个点权,维护出经过每一条边的点权的 \ ...