Skip to content

Latest commit

 

History

History
340 lines (217 loc) · 6.63 KB

ScientificCalculation.md

File metadata and controls

340 lines (217 loc) · 6.63 KB

科学计算文档

[TOC]

原理

本部分通过Python的SymPy库来实现科学计算,并对QQ读取进来的字符串进行了处理,因此理论上能够通过QQ消息实现所有的SymPy库功能,并且通过机器人的文字消息或图片消息返回结果。

本文档列出了一些经过详细测试的、基本的功能。

查看SymPy文档以了解可调用的全部功能。

模板

sympy
# 注释
a = cos(pi)

show([a])
play

输出结果

show文字输出

以文字消息输出结果,输入参数为变量表达式。

  • 单变量:show(单变量)
  • 多变量:show([变量1,变量2,变量3])

playLaTeX引擎渲染输出

最后一行输入play命令,机器人会将结果通过LaTeX引擎渲染为图片并输出。

部分命令无法采用LaTeX进行渲染,则必须调用show()以文本形式输出。

常用功能

符号表示

Symbol符号表示

参数
参数 数据类型 默认值 说明
expression 字符串 - 变量表达式
注意
  • 变量名要求为单个字母

  • 支持希腊字母(以英文拼写)和数学常数

示例
# 变量名=Symbol(‘变量表达式’)
a = Symbol(‘alpha ** 2’)
x = Symbol(‘x’)

恒等变换

expand展开方程

参数
参数 数据类型 默认值 说明
expression 符号表达式 - 变量表达式
注意
  • 参数写在最前面
  • 通过点号与函数进行连接
示例
# 表达式.expand()展开方程
((x + y) ** 3).expand()

facrot折叠方程

参数
参数 数据类型 默认值 说明
expression 符号表达式 - 变量表达式
注意

示例
# facrot(表达式)折叠方程
factor(x ** 2 + 2 * x * y + y ** 2)

apart分离分式

参数
参数 数据类型 默认值 说明
expression 符号表达式 - 变量表达式
注意

示例
# apart(表达式)分离分式
apart((x + 3) / (x - 1))

together合并分式

参数
参数 数据类型 默认值 说明
expression 符号表达式 - 变量表达式
注意

示例
# together(表达式)合并分式
together(1 / x + 1 / y + 1 / z)

化简

simplify常规化简

参数
参数 数据类型 默认值 说明
expression 符号表达式 - 变量表达式
注意

示例
# simplify()常规化简
simplify((x ** 3 + x ** 2 - x - 1) / (x ** 2 + 2 * x + 1))

trigsimp三角化简

参数
参数 数据类型 默认值 说明
expression 符号表达式 - 变量表达式
注意

示例
# trigsimp( )三角化简
trigsimp(sin(x) / cos(x))

powsimp指数化简

参数
参数 数据类型 默认值 说明
expression 符号表达式 - 变量表达式
注意

示例
# powsimp()指数化简
powsimp(x ** a * x ** b)

解方程

solve解方程

参数
参数 数据类型 默认值 说明
expression 列表 - 要解的方程,要求右端等于0
unsolved 列表 - 要解的未知数
注意
  • 参数要表示为列表形式
示例
# 二元一次方程
solve([2 * x - y - 3, 3 * x + y - 7], [x, y])

极限

limit求极限

参数
参数 数据类型 默认值 说明
expression 符号表达式 - 函数
var 符号表达式 - 变量
aim - 趋近于
direction 字符串 求极限 可选:趋近方向
注意
  • 无穷用两个小写的oo表示.
  • dir='+'求右极限,'-'求左极限
  • 不写dir也是求极限
示例
# limit(函数,变量,趋近于,可选:趋近方向)求极限
limit(1 / x, x, 2)
a = limit(1 / x, x, oo, dir='-')
show([a])

微积分

diff求导

参数
参数 数据类型 默认值 说明
expression 符号表达式 - 函数
var 符号表达式 - 求导变量
order 正整数 1 可选:求导阶数
注意

示例
# diff(函数,求导变量,可选:求导阶数)求导
diff(x ** 3, x, 2)

integrate不定积分

参数
参数 数据类型 默认值 说明
expression 符号表达式 - 被积函数
var 符号表达式 - 积分变量
注意

示例
# integrate(被积函数,积分变量)不定积分
integrate(sin(x), x)

integrate定积分

参数
参数 数据类型 默认值 说明
expression 符号表达式 - 被积函数
parameters 元组 - (积分变量,下限,上限)
注意

示例
# integrate(被积函数,(积分变量,下限,上限))定积分
integrate(sin(x), (x, 0, pi / 2))

微分方程

dsolve求解微分方程

参数
参数 数据类型 默认值 说明
expression 符号表达式 - 待求解的方程,要求右端等于0
function 函数 - 所要求解的函数
注意
  • 先要用Function函数建立函数
示例
# 以 y′=2xy 为例
f = Function('f')
a = dsolve(diff(f(x), x) - 2 * f(x) * x, f(x))
show([a])

矩阵化简