6. sympy 入门教程

这里简单介绍一些 Sympy 的使用 

Sympy Official Documents : http://docs.sympy.org/latest/tutorial/index.html

Sympy GitHub Repository : https://github.com/sympy/sympy

Use Latex : http://blog.csdn.net/jiangmengya1/article/details/79279191

 

一. Definitions and Characters 

Symbolic computation deals with the computation of mathematical objects symbolically . 

这意味着,Sympy 采用数学符号来精确地表示数据,而不是使用近似值表示数据 。

Examples : 

 

def func():
    print('------------------------------------')
    print("math.sqrt(9):    ", math.sqrt(9))
    print("sympy.sqrt(9):   ", sympy.sqrt(9))
    print('------------------------------------')
    print("math.sqrt(8):    ", math.sqrt(8))
    print("sympy.sqrt(8):   ", sympy.sqrt(8))
    print('------------------------------------')

 

Output : 

------------------------------------
math.sqrt(9):     3.0
sympy.sqrt(9):    3
------------------------------------
math.sqrt(8):     2.8284271247461903
sympy.sqrt(8):    2*sqrt(2)
------------------------------------

 

 

二. Some Interesting Examples 

First , we need import sympy first :

 

#coding:utf-8
#jiangmengya@baidu.com

from sympy import *

 

1. Variables definitions :

Example : 

    # variables definitions
    x, t = symbols('x t')

    # functions definitions
    y = Function('y')

 

2. Derivative

Example : 

# derivative
    y0 = exp(x)*sin(x)
    print('\n')
    print('function         :', y0)
    print('latex            :', latex(y0))
    y1 = diff(exp(x) * sin(x))
    print('\n')
    print('function         :', y1)
    print('latex            :', latex(y1))

 

Output : 

function           : exp(x)*sin(x)
latex              : e^{x} \sin{\left (x \right )}


derivative         : exp(x)*sin(x) + exp(x)*cos(x)
latex              : e^{x} \sin{\left (x \right )} + e^{x} \cos{\left (x \right )}

Draw y0 and y1 with LaTeX :

 

3. Integration  

Example :

 

# integration
    y0 = exp(x)*sin(x) + exp(x)*cos(x)
    print("\n")
    print("function           :", y0)
    print('latex              :', latex(y0))
    y1 = integrate(exp(x)*sin(x) + exp(x)*cos(x))
    print("\n")
    print("function           :", y1)
    print('latex              :', latex(y1))

Output :

 

function           : exp(x)*sin(x) + exp(x)*cos(x)
latex              : e^{x} \sin{\left (x \right )} + e^{x} \cos{\left (x \right )}


function           : exp(x)*sin(x)
latex              : e^{x} \sin{\left (x \right )}

Draw y0 and y1 with LaTeX :

 

4. Limitation 

Example :  

    # limitation
    y0 = sin(x)/x
    print("\n")
    print("function           :", y0)
    print('latex              :', latex(y0))
    y1 = limit(sin(x)/x, x, 0)
    print("\n")
    print("function           :", y1)
    print('latex              :', latex(y1))

Output : 

 

function           : sin(x)/x
latex              : \frac{1}{x} \sin{\left (x \right )}


function           : 1
latex              : 1

Draw y0 and y1 with LaTeX :

 

5.  Pow function

Example : 

# power function
    y0 = Eq(x**2 - 2, 0)
    print("\n")
    print("function           :", y0)
    print('latex              :', latex(y0))
    y1 = solve(Eq(x**2 - 2, 0), x)
    print("\n")
    print("function           :", y1)
    print('latex              :', latex(y1))

Output :

 

unction           : Eq(x**2 - 2, 0)
latex              : x^{2} - 2 = 0


function           : [-sqrt(2), sqrt(2)]
latex              : \left [ - \sqrt{2}, \quad \sqrt{2}\right ]

Draw y0 and y1 with LaTeX :

 

6. Differential Equation 

Example :  

# Differential Equation
    y0 = Eq(y(t).diff(t, t) - y(t), exp(t))
    print("\n")
    print("function           :", y0)
    print('latex              :', latex(y0))
    y1 = dsolve(Eq(y(t).diff(t, t) - y(t), exp(t)), y(t))
    print("\n")
    print("function           :", y1)
    print('latex              :', latex(y1))

Output :

 

function           : Eq(-y(t) + Derivative(y(t), t, t), exp(t))
latex              : - y{\left (t \right )} + \frac{d^{2}}{d t^{2}}  y{\left (t \right )} = e^{t}


function           : Eq(y(t), C2*exp(-t) + (C1 + t/2)*exp(t))
latex              : y{\left (t \right )} = C_{2} e^{- t} + \left(C_{1} + \frac{t}{2}\right) e^{t}

Draw y0 and y1 with LaTeX :

 

7 . Matrix Derivative 

Example : 

# matrix derivative
    y0 = Matrix([[x**2, x**3], [x*2, x*3]])
    print("\n")
    print("function           :", y0)
    print('latex              :', latex(y0))
    y1 = diff(Matrix([[x**2, x**3], [x*2, x*3]]), x)
    print("\n")
    print("function           :", y1)
    print('latex              :', latex(y1))

Output :

 

function           : Matrix([[x**2, x**3], [2*x, 3*x]])
latex              : \left[\begin{matrix}x^{2} & x^{3}\\2 x & 3 x\end{matrix}\right]


function           : Matrix([[2*x, 3*x**2], [2, 3]])
latex              : \left[\begin{matrix}2 x & 3 x^{2}\\2 & 3\end{matrix}\right]

Draw y0 and y1 with LaTeX :

 

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值