精华内容
下载资源
问答
  • Latex数学公式-求导、分数的表示

    万次阅读 多人点赞 2019-01-22 12:51:32
    表示方法 \frac{}{}:分数表示 \partial: 偏导符号 代码 效果 意义 \frac{x}{y} xy\frac{x}{y}yx​ 分数 ...\frac{\partial y}{\partial x_1} + \frac{\partial y}{\partial x_2} ...∂y∂...

    表示方法

    \frac{}{}:分数表示
    \partial: 偏导符号
    \mathrm{d}t:正规的导数d(正体)

    代码效果意义
    \frac{x}{y} x y \frac{x}{y} yx分数
    \partial ∂ \partial 偏导符号
    \mathrm{d}t d t \mathrm{d}t dt导数

    举例

    $$
    \frac{\partial y}{\partial x_1} + \frac{\partial y}{\partial x_2} \\
    \frac{\mathrm{d}y}{\mathrm{d}x_1} + \frac{\mathrm{d}y}{\mathrm{d}x_2}
    $$
    

    显示效果如下:
    ∂ y ∂ x 1 + ∂ y ∂ x 2 \frac{\partial y}{\partial x_1} + \frac{\partial y}{\partial x_2} x1y+x2y
    d y d x + d z d x \frac{\mathrm{d}y}{\mathrm{d}x} + \frac{\mathrm{d}z}{\mathrm{d}x} dxdy+dxdz

    展开全文
  • Latex 导数相关符号

    千次阅读 2020-08-24 20:12:54
    1.求导 描述 样式 公式 微分 dy\mathrm{d} ydy $\mathrm{d} y$ 一阶 dydx\frac{\mathrm{d} y }{\mathrm{d} x}dxdy​ $\frac{\mathrm{d} y }{\mathrm{d} x}$ n阶 dnydxn\frac{\mathrm{d}^{n} y }{\mathrm...

    应用
    1.求导

    描述样式公式
    微分 d y \mathrm{d} y dy$\mathrm{d} y$
    一阶 d y d x \frac{\mathrm{d} y }{\mathrm{d} x} dxdy$\frac{\mathrm{d} y }{\mathrm{d} x}$
    n阶 d n y d x n \frac{\mathrm{d}^{n} y }{\mathrm{d} x^{n}} dxndny$\frac{\mathrm{d} y }{\mathrm{d} x}$

    2.偏导

    描述样式公式
    偏分函数 ∂ y \partial y y$\partial y$
    一阶偏导 ∂ y ∂ x \frac{\partial y}{\partial x} xy$\frac{\partial y}{\partial x}$
    n阶偏导 ∂ n y ∂ n x \frac{\partial ^{n} y}{\partial ^{n} x} nxny$\frac{\partial ^{n} y}{\partial ^{n} x}$

    https://www.jianshu.com/p/8aa646fad1c5
    这篇博客不错,将符号按用法分类!

    展开全文
  • Latex写一撇prime

    万次阅读 多人点赞 2020-10-12 16:08:48
    latex写撇, 以前都是直接用d^{'}加一个上标引号: d′d^{'}d′, 没怎么注意, 但是再加上一个上标的时候就很难看了. 后来才知道应该写作d^{\prime}: d′d^{\prime}d′. 大家可以自行对比两者的差别.

    latex写撇, 以前都是直接用d^{'}加一个上标引号: d ′ d^{'} d, 没怎么注意, 但是再加上一个上标的时候就很难看了.

    后来才知道应该写作d^{\prime}: d ′ d^{\prime} d. 大家可以自行对比两者的差别.

    展开全文
  • Sympy符号计算(使用python求导,解方程组)

    千次阅读 多人点赞 2019-08-14 10:41:37
    使用Sympy库可以进行求导积分极限等微积分计算,也可以解方程组,对于有计算需求的小伙伴非常实用。

    Sympy符号计算

    什么是符号计算?

    符号计算以符号方式处理数学对象的计算。这意味着数学对象被精确地表示,而不是近似地表示,并且具有未评估变量的数学表达式被保留为符号形式。

    >>> import math
    >>> math.sqrt(9)
    3.0
    
    >>> math.sqrt(8)
    2.82842712475
    
    >>> import sympy
    >>> sympy.sqrt(3)
    sqrt(3)
    
    # 符号结果可以象征性地简化
    >>> sympy.sqrt(8)
    2*sqrt(2)
    
    
    >>> from sympy import *
    >>> x = symbols('x')
    >>> a = Integral(cos(x)*exp(x), x)
    >>> Eq(a, a.doit())
    Eq(Integral(exp(x)*cos(x), x), exp(x)*sin(x)/2 + exp(x)*cos(x)/2)
    

    运行结果:
    ∫ e x cos ⁡ ( x ) d x = e x sin ⁡ ( x ) 2 + e x cos ⁡ ( x ) 2 \int e^{x} \cos (x) d x=\frac{e^{x} \sin (x)}{2}+\frac{e^{x} \cos (x)}{2} excos(x)dx=2exsin(x)+2excos(x)

    在使用前在SymPy变量必须定义

    通常,最好的做法是将Symbols分配给同名的Python变量,尽管有例外:符号名称可以包含Python变量名称中不允许的字符,或者可能只是想通过赋值长的符号来避免键入长名称名称为单字母Python变量。

    >>> from __future__ import division
    >>> from sympy import *
    >>> x, y, z, t = symbols('x y z t')
    >>> k, m, n = symbols('k m n', integer=True)
    >>> f, g, h = symbols('f g h', cls=Function) # 定义函数符号变量
    
    
    >>> from sympy import symbols
    >>> x, y = symbols('x y')  # 定义变量
    >>> expr = x + 2*y
    >>> expr
    x + 2*y
    >>> expr + 1
    x + 2*y + 1
    >>> expr - x
    2*y
    >>> x*expr
    x*(x + 2*y)
    
    # 符号形式转换
    >>> from sympy import expand, factor
    >>> expanded_expr = expand(x*expr)
    >>> expanded_expr
    x**2 + 2*x*y
    >>> factor(expanded_expr)
    x*(x + 2*y)
    
    import math
    from sympy import *
    init_printing()
    
    math.sqrt(2)
    

    1.4142135623730951 \displaystyle 1.4142135623730951 1.4142135623730951

    sqrt(2)
    

    2 \displaystyle \sqrt{2} 2

    pi
    

    π \displaystyle \pi π

    x,y,z,a,b,c,n,r = symbols('x,y,z,a,b,c,n,r')
    alpha,beta,gamma,theta = symbols('alpha,beta,gamma,theta')
    
    log(alpha**beta)+gamma
    

    γ + log ⁡ ( α β ) \displaystyle \gamma + \log{\left(\alpha^{\beta} \right)} γ+log(αβ)

    sin(x)**2+cos(y)**2
    

    sin ⁡ 2 ( x ) + cos ⁡ 2 ( y ) \displaystyle \sin^{2}{\left(x \right)} + \cos^{2}{\left(y \right)} sin2(x)+cos2(y)

    mu,sigma = symbols('mu,sigma')
    mu,sigma
    

    ( μ ,   σ ) \displaystyle \left( \mu, \ \sigma\right) (μ, σ)

    b = exp(-(x-mu)**2/(2*sigma)**2)
    b
    

    e − ( − μ + x ) 2 4 σ 2 \displaystyle e^{- \frac{\left(- \mu + x\right)^{2}}{4 \sigma^{2}}} e4σ2(μ+x)2

    求导

    (x**2).diff()
    

    2 x \displaystyle 2 x 2x

    sin(x).diff()
    

    cos ⁡ ( x ) \displaystyle \cos{\left(x \right)} cos(x)

    (x**2+x*y+y**2).diff(x)
    

    2 x + y \displaystyle 2 x + y 2x+y

    diff(x**2+x*y+y**2,y)
    

    x + 2 y \displaystyle x + 2 y x+2y

    diff(x**3+x**2+2*x+x*y+y**2,x,2)
    

    2 ( 3 x + 1 ) \displaystyle 2 \left(3 x + 1\right) 2(3x+1)

    (x**3+x**2+2*x+x*y+y**2).diff(x,2)
    

    2 ( 3 x + 1 ) \displaystyle 2 \left(3 x + 1\right) 2(3x+1)

    (x**3+x**2+2*x+x*y+y**2).diff(x,2).expand() # expand()展开式子
    

    6 x + 2 \displaystyle 6 x + 2 6x+2

    b
    

    e − ( − μ + x ) 2 4 σ 2 \displaystyle e^{- \frac{\left(- \mu + x\right)^{2}}{4 \sigma^{2}}} e4σ2(μ+x)2

    b.diff(x)
    

    − ( − 2 μ + 2 x ) e − ( − μ + x ) 2 4 σ 2 4 σ 2 \displaystyle - \frac{\left(- 2 \mu + 2 x\right) e^{- \frac{\left(- \mu + x\right)^{2}}{4 \sigma^{2}}}}{4 \sigma^{2}} 4σ2(2μ+2x)e4σ2(μ+x)2

    b.diff(x,2)
    

    ( − 2 + ( μ − x ) 2 σ 2 ) e − ( μ − x ) 2 4 σ 2 4 σ 2 \displaystyle \frac{\left(-2 + \frac{\left(\mu - x\right)^{2}}{\sigma^{2}}\right) e^{- \frac{\left(\mu - x\right)^{2}}{4 \sigma^{2}}}}{4 \sigma^{2}} 4σ2(2+σ2(μx)2)e4σ2(μx)2

    b.diff(x).diff(x)
    

    − e − ( − μ + x ) 2 4 σ 2 2 σ 2 + ( − 2 μ + 2 x ) 2 e − ( − μ + x ) 2 4 σ 2 16 σ 4 \displaystyle - \frac{e^{- \frac{\left(- \mu + x\right)^{2}}{4 \sigma^{2}}}}{2 \sigma^{2}} + \frac{\left(- 2 \mu + 2 x\right)^{2} e^{- \frac{\left(- \mu + x\right)^{2}}{4 \sigma^{2}}}}{16 \sigma^{4}} 2σ2e4σ2(μ+x)2+16σ4(2μ+2x)2e4σ2(μ+x)2

    b.diff(x,2).expand()     # 二阶导
    

    μ 2 e − μ 2 4 σ 2 e − x 2 4 σ 2 e μ x 2 σ 2 4 σ 4 − μ x e − μ 2 4 σ 2 e − x 2 4 σ 2 e μ x 2 σ 2 2 σ 4 − e − μ 2 4 σ 2 e − x 2 4 σ 2 e μ x 2 σ 2 2 σ 2 + x 2 e − μ 2 4 σ 2 e − x 2 4 σ 2 e μ x 2 σ 2 4 σ 4 \displaystyle \frac{\mu^{2} e^{- \frac{\mu^{2}}{4 \sigma^{2}}} e^{- \frac{x^{2}}{4 \sigma^{2}}} e^{\frac{\mu x}{2 \sigma^{2}}}}{4 \sigma^{4}} - \frac{\mu x e^{- \frac{\mu^{2}}{4 \sigma^{2}}} e^{- \frac{x^{2}}{4 \sigma^{2}}} e^{\frac{\mu x}{2 \sigma^{2}}}}{2 \sigma^{4}} - \frac{e^{- \frac{\mu^{2}}{4 \sigma^{2}}} e^{- \frac{x^{2}}{4 \sigma^{2}}} e^{\frac{\mu x}{2 \sigma^{2}}}}{2 \sigma^{2}} + \frac{x^{2} e^{- \frac{\mu^{2}}{4 \sigma^{2}}} e^{- \frac{x^{2}}{4 \sigma^{2}}} e^{\frac{\mu x}{2 \sigma^{2}}}}{4 \sigma^{4}} 4σ4μ2e4σ2μ2e4σ2x2e2σ2μx2σ4μxe4σ2μ2e4σ2x2e2σ2μx2σ2e4σ2μ2e4σ2x2e2σ2μx+4σ4x2e4σ2μ2e4σ2x2e2σ2μx

    方程

    expr = sin(x)**2+cos(x)**2
    expr
    

    sin ⁡ 2 ( x ) + cos ⁡ 2 ( x ) \displaystyle \sin^{2}{\left(x \right)} + \cos^{2}{\left(x \right)} sin2(x)+cos2(x)

    simplify(expr)   # 简化式子
    

    1 \displaystyle 1 1

    simplify(b.diff(x).diff(x).diff(x))
    

    ( 6 σ 2 ( − μ + x ) + ( μ − x ) 3 ) e − ( μ − x ) 2 4 σ 2 8 σ 6 \displaystyle \frac{\left(6 \sigma^{2} \left(- \mu + x\right) + \left(\mu - x\right)^{3}\right) e^{- \frac{\left(\mu - x\right)^{2}}{4 \sigma^{2}}}}{8 \sigma^{6}} 8σ6(6σ2(μ+x)+(μx)3)e4σ2(μx)2

    求解方程

    solveset(x**2-4,x)
    

    { − 2 , 2 } \displaystyle \left\{-2, 2\right\} {2,2}

    solveset(sin(x),x)
    

    { 2 n π    ∣    n ∈ Z } ∪ { 2 n π + π    ∣    n ∈ Z } \displaystyle \left\{2 n \pi\; |\; n \in \mathbb{Z}\right\} \cup \left\{2 n \pi + \pi\; |\; n \in \mathbb{Z}\right\} {2nπnZ}{2nπ+πnZ}

    solveset((x-1)*(exp(x)+cos(x)+1),x,domain = S.Reals)
    

    { 1 } ∪ { x ∣ x ∈ R ∧ e x + cos ⁡ ( x ) + 1 = 0 } \displaystyle \left\{1\right\} \cup \left\{x \mid x \in \mathbb{R} \wedge e^{x} + \cos{\left(x \right)} + 1 = 0 \right\} {1}{xxRex+cos(x)+1=0}

    替换 Substitution

    (x**2+2*x+1).subs({x:sin(x)})
    

    sin ⁡ 2 ( x ) + 2 sin ⁡ ( x ) + 1 \displaystyle \sin^{2}{\left(x \right)} + 2 \sin{\left(x \right)} + 1 sin2(x)+2sin(x)+1

    (sin(x)**2+sin(x)-1+cos(x)+cos(x)**3).subs({(sin(x)**2+sin(x)):y})
    

    y + cos ⁡ 3 ( x ) + cos ⁡ ( x ) − 1 \displaystyle y + \cos^{3}{\left(x \right)} + \cos{\left(x \right)} - 1 y+cos3(x)+cos(x)1

    (x**2+2*x+1).subs(x,sin(x))
    

    sin ⁡ 2 ( x ) + 2 sin ⁡ ( x ) + 1 \displaystyle \sin^{2}{\left(x \right)} + 2 \sin{\left(x \right)} + 1 sin2(x)+2sin(x)+1

    Plotting

    %matplotlib inline
    
    plot(x**2,(x,-100,100))
    

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xi9CxAGs-1582095533708)(output_36_0.png)]

    <sympy.plotting.plot.Plot at 0x2016c680c10>
    
    textplot(x**2,-3,3)
    
          9 | \                                                     /
            |  \                                                   / 
            |   .                                                 .  
            |                                                        
            |    .                                               .   
            |     \                                             /    
            |      \                                           /     
            |       \                                         /      
    4.76471 | -------\---------------------------------------/-------
            |         ..                                   ..        
            |           \                                 /          
            |            \                               /           
            |             ..                           ..            
            |               \                         /              
            |                ..                     ..               
            |                  ..                 ..                 
            |                    ....         ....                   
          0 |                        .........                       
              -3                         0                          3
    

    不变性

    a = x+y+1
    a
    

    x + y + 1 \displaystyle x + y + 1 x+y+1

    x =3
    a     # 不发生改变
    

    x + y + 1 \displaystyle x + y + 1 x+y+1

    a.subs({x:3})
    

    x + y + 1 \displaystyle x + y + 1 x+y+1

    x = symbols('x')
    a.subs({x:3})
    

    y + 4 \displaystyle y + 4 y+4

    等式

    eq = Eq(x**2,y)
    eq
    

    x 2 = y \displaystyle x^{2} = y x2=y

    eq.lhs
    

    x 2 \displaystyle x^{2} x2

    eq.rhs
    

    y \displaystyle y y

    solveset(eq,x)
    

    { − y , y } \displaystyle \left\{- \sqrt{y}, \sqrt{y}\right\} {y ,y }

    分式

    from __future__ import division
    1/2
    

    0.5 \displaystyle 0.5 0.5

    acos(1/2)
    

    1.0471975511966 \displaystyle 1.0471975511966 1.0471975511966

    Rational(1,2)
    

    1 2 \displaystyle \frac{1}{2} 21

    acos(Rational(1,2))
    

    π 3 \displaystyle \frac{\pi}{3} 3π

    from fractions import Fraction
    Fraction(1,2)
    
    Fraction(1, 2)
    
    acos(Fraction(1,2))
    

    π 3 \displaystyle \frac{\pi}{3} 3π

    S(1)/2
    

    1 2 \displaystyle \frac{1}{2} 21

    type(S(1))
    
    sympy.core.numbers.One
    

    积分

    integrate(x**2,x)+1
    

    x 3 3 + 1 \displaystyle \frac{x^{3}}{3} + 1 3x3+1

    integrate(x**2,(x,0,3))
    

    9 \displaystyle 9 9

    integrate(x**n,(x,y,z))
    

    { − y n + 1 n + 1 + z n + 1 n + 1 for   n > − ∞ ∧ n < ∞ ∧ n ≠ − 1 − log ⁡ ( y ) + log ⁡ ( z ) otherwise \displaystyle \begin{cases} - \frac{y^{n + 1}}{n + 1} + \frac{z^{n + 1}}{n + 1} & \text{for}\: n > -\infty \wedge n < \infty \wedge n \neq -1 \\- \log{\left(y \right)} + \log{\left(z \right)} & \text{otherwise} \end{cases} {n+1yn+1+n+1zn+1log(y)+log(z)forn>n<n=1otherwise

    Integral(x**n,y)
    

    ∫ x n   d y \displaystyle \int x^{n}\, dy xndy

    Integral(x**n,y,z)
    

    ∬ x n   d y   d z \displaystyle \iint x^{n}\, dy\, dz xndydz

    矩阵

    rot = Matrix([[r*cos(theta),-r*sin(theta)],[r*sin(theta),r*cos(theta)]])
    rot
    

    [ r cos ⁡ ( θ ) − r sin ⁡ ( θ ) r sin ⁡ ( θ ) r cos ⁡ ( θ ) ] \displaystyle \left[\begin{matrix}r \cos{\left(\theta \right)} & - r \sin{\left(\theta \right)}\\r \sin{\left(\theta \right)} & r \cos{\left(\theta \right)}\end{matrix}\right] [rcos(θ)rsin(θ)rsin(θ)rcos(θ)]

    rot.det()
    

    r 2 sin ⁡ 2 ( θ ) + r 2 cos ⁡ 2 ( θ ) \displaystyle r^{2} \sin^{2}{\left(\theta \right)} + r^{2} \cos^{2}{\left(\theta \right)} r2sin2(θ)+r2cos2(θ)

    rot.inv()
    

    [ r cos ⁡ ( θ ) r 2 sin ⁡ 2 ( θ ) + r 2 cos ⁡ 2 ( θ ) r sin ⁡ ( θ ) r 2 sin ⁡ 2 ( θ ) + r 2 cos ⁡ 2 ( θ ) − r sin ⁡ ( θ ) r 2 sin ⁡ 2 ( θ ) + r 2 cos ⁡ 2 ( θ ) r cos ⁡ ( θ ) r 2 sin ⁡ 2 ( θ ) + r 2 cos ⁡ 2 ( θ ) ] \displaystyle \left[\begin{matrix}\frac{r \cos{\left(\theta \right)}}{r^{2} \sin^{2}{\left(\theta \right)} + r^{2} \cos^{2}{\left(\theta \right)}} & \frac{r \sin{\left(\theta \right)}}{r^{2} \sin^{2}{\left(\theta \right)} + r^{2} \cos^{2}{\left(\theta \right)}}\\- \frac{r \sin{\left(\theta \right)}}{r^{2} \sin^{2}{\left(\theta \right)} + r^{2} \cos^{2}{\left(\theta \right)}} & \frac{r \cos{\left(\theta \right)}}{r^{2} \sin^{2}{\left(\theta \right)} + r^{2} \cos^{2}{\left(\theta \right)}}\end{matrix}\right] [r2sin2(θ)+r2cos2(θ)rcos(θ)r2sin2(θ)+r2cos2(θ)rsin(θ)r2sin2(θ)+r2cos2(θ)rsin(θ)r2sin2(θ)+r2cos2(θ)rcos(θ)]

    rot.singular_values()
    

    [ r cos ⁡ 2 ( θ − θ ‾ ) − 1 r ‾ + r cos ⁡ ( θ − θ ‾ ) r ‾ ,   − r cos ⁡ 2 ( θ − θ ‾ ) − 1 r ‾ + r cos ⁡ ( θ − θ ‾ ) r ‾ ] \displaystyle \left[ \sqrt{r \sqrt{\cos^{2}{\left(\theta - \overline{\theta} \right)} - 1} \overline{r} + r \cos{\left(\theta - \overline{\theta} \right)} \overline{r}}, \ \sqrt{- r \sqrt{\cos^{2}{\left(\theta - \overline{\theta} \right)} - 1} \overline{r} + r \cos{\left(\theta - \overline{\theta} \right)} \overline{r}}\right] [rcos2(θθ)1 r+rcos(θθ)r , rcos2(θθ)1 r+rcos(θθ)r ]

    表达式数值计算

    f = lambdify(x,x**2)
    f(2)
    

    4 \displaystyle 4 4

    陷阱

    Python中不允许隐式乘法3x,因此在SymPy中不允许。必须使用3*x才可以。

    改变x=2没有影响expr。这是因为 将Python变量更改,但对SymPy符号没有影响

    >>> x = symbols('x')
    >>> expr = x + 1
    >>> x = 2
    >>> print(expr)
    x + 1
    

    要更改表达式中符号的值,请使用==subs()==进行替换

    >>> x = symbols('x')
    >>> expr = x + 1
    >>> expr.subs(x, 2)
    3
    >>> expr = cos(x) + 1
    >>> expr.subs(x, y)
    cos(y) + 1
    

    替换通常是出于以下两个原因之一:

    • 我们知道一个符号表达式,然后想知道它在某一点处的值,就将符号替换为值。例如,计算cos(x)+1在x=0的时候的值cos(0)+1,就要用subs(x,0)将替换为0

    • 用另一个子表达式替换子表达式。

      第一个是如果我们试图构建一个具有一些对称性的表达式

    >>> expr = x**y
    >>> expr
    x**y
    >>> expr = expr.subs(y, x**y)
    >>> expr
    x**(x**y)
    >>> expr = expr.subs(y, x**x)
    >>> expr
    x**(x**(x**x))
    

    ​ 第二个是如果我们想要执行非常有控制的简化,或者可能是SymPy无法做到的简化。

    >>> expr = sin(2*x) + cos(2*x)
    >>> expand_trig(expr)
    2*sin(x)*cos(x) + 2*cos(x)**2 - 1
    >>> expr.subs(sin(2*x), 2*sin(x)*cos(x))
    2*sin(x)*cos(x) + cos(2*x)
    

    subs有两个重要的事项需要注意:

    • 首先,它返回一个新表达式。SymPy对象是不可变的。
    >>> expr = cos(x)
    >>> expr.subs(x, 0)
    1
    >>> expr
    cos(x)
    >>> x
    x
    
    • 将它与列表理解相结合通常可以同时执行大量类似的替换。
    >>> expr = x**3 + 4*x*y - z
    >>> expr.subs([(x, 2), (y, 4), (z, 0)])
    40
    
    >>> expr = x**4 - 4*x**3 + 4*x**2 - 2*x + 3
    >>> replacements = [(x**i, y**i) for i in range(5) if i % 2 == 0]
    >>> expr.subs(replacements)
    -4*x**3 - 2*x + y**4 + 4*y**2 + 3
    

    等号

    =它不代表SymPy中的相等性。相反,它是Python变量赋值。

    ==用于判断两个式子是否相等,返回逻辑运算符

    >>> x + 1 == 4
    False
    

    还有一种方法称为equals测试两个表达式是否相等

    >>> a = cos(x)**2 - sin(x)**2
    >>> b = cos(2*x)
    >>> a.equals(b)
    True
    

    建立符号相等可以使用Eq

    >>> Eq(x + 1, 4)
    Eq(x + 1, 4)
    

    使用simplify()函数简化

    >>> from sympy import *
    >>> x, y, z = symbols('x y z')
    >>> init_printing(use_unicode=True)
    
    >>> simplify(sin(x)**2 + cos(x)**2)
    1
    >>> simplify((x**3 + x**2 - x - 1)/(x**2 + 2*x + 1))
    x - 1
    >>> simplify(gamma(x)/gamma(x - 2)) # gamma(x)是Γ(x),伽玛函数。
    (x - 2)(x - 1)
    
    >>> a = (x + 1)**2
    >>> b = x**2 + 2*x + 1
    >>> simplify(a - b)
    0
    >>> c = x**2 - 2*x + 1
    >>> simplify(a - c)
    4*x
    
    >>> Rational(1, 2)
    1/2
    
    >>> simplify(x**2 + 2*x + 1)
    ?2+2?+1
    >>>factor(x**2 + 2*x + 1)
    (?+1)2
    

    多项式/有理函数简化

    expand()

    给定多项式,expand()将其置于单项式和的规范形式中。

    >>> expand((x + 1)**2)
     2
    x  + 2⋅x + 1
    >>> expand((x + 2)*(x - 3))
     2
    x  - x - 6
    >>> expand((x + 1)*(x - 2) - (x - 1)*x)
    -2
    

    factor()

    factor()采用多项式并将其分解为有理数上的不可约因子。

    >>> factor(x**3 - x**2 + x - 1)
           2 
    (x - 1)(x + 1)
    >>> factor(x**2*z + 4*x*y*z + 4*y**2*z)
               2
    z⋅(x + 2⋅y)
    

    将字符串转换为SymPy表达式

    sympify函数(sympify不要混淆 simplify)可用于将字符串转换为SymPy表达式。

    >>> str_expr = "x**2 + 3*x - 1/2"
    >>> expr = sympify(str_expr)
    >>> expr
    x**2 + 3*x - 1/2
    >>> expr.subs(x, 2)
    19/2
    

    要将数值表达式计算为浮点数,请使用 evalf

    >>> expr = sqrt(8)
    >>> expr.evalf()
    2.82842712474619
    >>> pi.evalf(100)
    3.141592653589793238462643383279502884197169399375105820974944592307816406286208998628034825342117068
    
    >>> expr = cos(2*x)
    >>> expr.evalf(subs={x: 2.4})
    0.0874989834394464
    
    >>> one = cos(1)**2 + sin(1)**2
    >>> (one - 1).evalf()
    -0.e-124
    >>> (one - 1).evalf(chop=True)  # chop=True 舍去误差
    0
    

    lambdify

    将SymPy表达式转换为可以进行数值计算的表达式

    >>> import numpy # doctest:+SKIP
    >>> a = numpy.arange(10) # doctest:+SKIP
    >>> expr = sin(x)
    >>> f = lambdify(x, expr, "numpy") # doctest:+SKIP
    >>> f(a) # doctest:+SKIP
    [ 0.          0.84147098  0.90929743  0.14112001 -0.7568025  -0.95892427
     -0.2794155   0.6569866   0.98935825  0.41211849]
    
    >>> f = lambdify(x, expr, "math")
    >>> f(0.1)
    0.0998334166468
    
    # 要将lambdify与其自定义数值库一起使用,请传递对的字典sympy_name:numerical_function
    >>> def mysin(x):
        	"""
         	My sine. Note that this is only accurate for small x.
        	"""
    	     return x
    >>> f = lambdify(x, expr, {"sin":mysin})
    >>> f(0.1)
    0.1
    

    数学公式的2D漂亮打印输出,或LATEX

    >>> from sympy import init_printing
    >>> init_printing() # doctest: +SKIP
    >>> init_printing(use_unicode = True

    There are several printers available in SymPy.

    The most common ones are:

    • str
    • srepr
    • ASCII pretty printer
    • Unicode pretty printer
    • LaTeX
    • MathML
    • Dot

    微积分

    求导

    >>> from sympy import *
    >>> x, y, z = symbols('x y z')
    >>> init_printing(use_unicode=True)
    
    >>> diff(cos(x), x)
    −sin(?)
    >>> diff(exp(x**2), x)
    
    # 求三阶导数
    >>> diff(x**4, x, x, x)
    24⋅x
    >>> diff(x**4, x, 3)
    24⋅x
    
    # 同时获取多个变量的导数
    >>> expr = exp(x*y*z)
    >>> diff(expr,x,y,y,z,z,z,z)
    >>> diff(expr,x,y,2,z,4)
    >>> expr.diff(x, y, y, z, 4) # 以上三种结果都是一样的
    
    # 要创建未计算的导数,请使用Derivative类。它具有diff相同的语法。
    >>> deriv = Derivative(expr, x, y, y, z, 4)
    >>> deriv
    >>> deriv.doit() #将未计算的导数计算
    
    # 对x求n次导
    >>> m, n, a, b = symbols('m n a b')
    >>> expr = (a*x + b)**m
    >>> expr.diff((x, n))
    

    积分

    # 不定积分
    >>> integrate(cos(x), x) 
    sin(x)
    
    # 要计算定积分,请传递参数(integration_variable, lower_limit, upper_limit)
    >>> integrate(exp(-x), (x, 0, oo)) # 其中∞是由两个小写字母oo组成
    1
    
    # 计算多重积分
    >>> integrate(exp(-x**2 - y**2), (x, -oo, oo), (y, -oo, oo))
    π
    
    # 如果integrate无法计算积分,则返回未评估的 Integral对象。
    >>> expr = integrate(x**x, x)
    >>> print(expr)
    Integral(x**x, x)
    >>> expr
    ⌠
    ⎮  x
    ⎮ x  dx
    ⌡
    
    >>> expr = Integral(log(x)**2, x) # 创建未计算的积分形式
    >>> expr.doit() # 计算未计算的积分
             2
    x⋅log (x) - 2⋅x⋅log(x) + 2⋅x
    
    >>> integ = Integral((x**4 + x**2*exp(x) - x**2 - 2*x*exp(x) - 2*x -
      exp(x))*exp(x)/((x - 1)**2*(x + 1)**2*(exp(x) + 1)), x)
    

    极限

    >>> limit(sin(x)/x, x, 0)
    1
    
    >>> expr = x**2/exp(x)
    >>> expr.subs(x, oo)
    nan
    >>> limit(expr, x, oo)
    0
    
    >>> expr = Limit((cos(x) - 1)/x, x, 0) # 极限未计算形式
    >>> expr.doit() # 计算极限
    
    >>> limit(1/x, x, 0, '+') # x趋向于0+>>> limit(1/x, x, 0, '-') # x趋向于0-
    -

    求解方程

    关于方程的一个注释

    >>> from sympy import *
    >>> x, y, z = symbols('x y z')
    >>> init_printing(use_unicode=True)
    
    >>> Eq(x, y)
    x = y
    
    >>> solveset(Eq(x**2, 1), x)
    {-1, 1}
    >>> solveset(Eq(x**2 - 1, 0), x)
    {-1, 1}
    >>> solveset(x**2 - 1, x)
    {-1, 1}
    # 如果您要求解的等式已经等于0,可以直接使用solveset(expr, x)
    # 而不是solveset(Eq(expr, 0), x)
    

    以代数方式求解方程式

    求解代数方程的主要函数是solveset(equation, variable=None, domain=S.Complexes)

    还有一个求解函数solve(equations,variables)
    求解方程组就用solve([EQ1,EQ2],[r1,r2])

    推荐使用solveset(equation, variable=None, domain=S.Complexes)

    >>> solveset(x**2 - x, x)
    {0, 1}
    >>> solveset(x - x, x, domain=S.Reals)>>> solveset(sin(x) - 1, x, domain=S.Reals)
    ⎧        π        ⎫
    ⎨2⋅n⋅π +| n ∊ ℤ⎬
    ⎩        2>>> solveset(exp(x), x)     # No solution exists>>> solveset(cos(x) - x, x)  # Not able to find solution
    {x | x ∊ ℂ ∧ -x + cos(x) = 0}
    

    求解线性方程组

    • 方程列表形式:
    >>> linsolve([x + y + z - 1, x + y + 2*z - 3 ], (x, y, z))
    {(-y - 1, y, 2)}
    
    • 增强矩阵形式:
    >>> linsolve(Matrix(([1, 1, 1, 1], [1, 1, 2, 3])), (x, y, z))
    {(-y - 1, y, 2)}
    
    • A * x = b表格
    >>> M = Matrix(((1, 1, 1, 1), (1, 1, 2, 3)))
    >>> system = A, b = M[:, :-1], M[:, -1]
    >>> linsolve(system, x, y, z)
    {(-y - 1, y, 2)}
    

    求解非线性方程组:

    • 当只有实数解时
    >>> a, b, c, d = symbols('a, b, c, d', real=True)
    >>> nonlinsolve([a**2 + a, a - b], [a, b])
    {(-1, -1), (0, 0)}
    >>> nonlinsolve([x*y - 1, x - 2], x, y)
    {(2, 1/2)}
    
    • 当只有复数解时
    >>> nonlinsolve([x**2 + 1, y**2 + 1], [x, y])
    {(-, -), (-,), (, -), (,)}
    
    • 既有实数解又有复数解时
    >>> from sympy import sqrt
    >>> system = [x**2 - 2*y**2 -2, x*y - 2]
    >>> vars = [x, y]
    >>> nonlinsolve(system, vars)
    {(-2, -1), (2, 1), (-2⋅ⅈ,2⋅ⅈ), (2⋅ⅈ, -2⋅ⅈ)}
    
    • 如果非线性方程组是正维系统(具有无限多个解的系统被认为是正维的):
    >>> nonlinsolve([x*y, x*y - x], [x, y])
    {(0, y)}
    
    >>> system = [a**2 + a*c, a - b]
    >>> nonlinsolve(system, [a, b])
    {(0, 0), (-c, -c)}
    

    求解微分方程

    要求解微分方程,请使用dsolve。通过传递cls=Functionsymbols函数创建一个未定义的函数。

    >>> f, g = symbols('f g', cls=Function)
    >>> f(x)
    f(x)
    
    >>> f(x).diff(x)
    d
    ──(f(x))
    dx
    
    # 表示微分方程 f′′(x)−2f′(x)+f(x)=sin(x)f″(x)−2f′(x)+f(x)=sin⁡(x)
    >>> diffeq = Eq(f(x).diff(x, x) - 2*f(x).diff(x) + f(x), sin(x))
    >>> diffeq
                          2
             d           d
    f(x) - 2⋅──(f(x)) + ───(f(x)) = sin(x)
             dx           2
                        dx
            
    >>> dsolve(diffeq, f(x))
                        x   cos(x)
    f(x) = (C₁ + C₂⋅x)⋅ℯ  + ──────
                              2
        
        
    >>> dsolve(f(x).diff(x)*(1 - sin(f(x))) - 1, f(x))
    -x + f(x) + cos(f(x)) = C₁
    
    
    展开全文
  • LaTeX常用公式

    2021-01-25 19:06:24
    LaTeX是一种基于ΤΕΧ的排版系统,而TeX是由著名的计算机科学家Donald E. Knuth发明的排版系统,可以了解一下他,LaTeX能够优美地生成数学公式且质量极高,本文简要记录其常用公式,以备自查。 正文 行内公式与...
  • 希腊字母表LaTex公式整理

    千次阅读 2017-08-28 21:51:18
    因为有时候用到希腊字母时总会忘了读音或拼写,所以自己整理了一份表格,分别罗列了常用希腊字母的大小写,音标以及如何用LaTex公式书写出来。详见下表: 希腊字母大写 小写 小写公式 音标(美式) 备注 AA α...
  • 求导的符号运算

    千次阅读 2017-06-29 13:19:40
    求导的符号运算
  • 文章目录1.偏导 1.偏导 \frac{\partial f}{\partial x} ∂f∂x\frac{\partial f}{\partial x}∂x∂f​
  • 有关矩阵求导的一些有用的博文+关于二次型求导的理解,还有一个实用小功能
  • LaTex语法

    2021-06-16 16:56:25
    更多详细的内容可以访问我的个人博客时莫如初 LaTeX,作为广义上的计算机标记语言(比如HTML),它继承了计算机语言的...同时,其还可以通过简单的语法写出优雅高贵的数学公式,目前Markdown也已经支持LaTeX语法的公式
  • LaTex中文模板

    万次阅读 2016-03-06 15:25:31
    LaTex中文模板一份之前想在网上找一份通用的latex模板来写文档,省去写导言等的时间。后来发现,网上的模板要么太复杂,要么一运行就出错,这里我提供一份自己常用的中文模板。一些宏包我以注释的形式给出,当需要的...
  • latex categories: math 使用latex编写数据公式 高等数学公式汇总 第一章 一元函数的极限 1. 初等函数公式 1.1 和差角公式 $$ sin(\alpha\pm\beta)=sin\alpha cos\beta \pm cos\alpha sin\beta \ cos(\alpha \pm...
  • matlab求导代码MATLAB_and_FORTRAN 这是一个FORTRAN程序,它基于离散点的已知值来估计函数的导数。 帮助利用该程序的技术称为中心差异。 MATLAB被用来从FORTRAN创建的文本文件中收集数据,然后导入到MATLAB中进行...
  • 矩阵求导公式

    千次阅读 2018-09-28 14:17:58
    转自:http://blog.sina.com.cn/s/blog_4a033b090100pwjq.html 求导公式(撇号为转置): Y = A * X --&gt; DY/DX = A' Y = X * A --&gt; DY/DX = A Y = A' * X * B --&gt; DY/DX = A * B' Y = A' ...
  • 积分等求导常用运算符希腊字母 基本 分式 分子分母\frac{分子}{分母}分母分子​: \frac{分子}{分母} 求和&积分等 ∑i=1n\sum_{i=1}^{n}∑i=1n​: \sum_{i=1}^{n} 求导 ∂f∂x\frac{\partial f}{\partial x}∂x∂...
  • 关于LaTeX格式 在matplotlib 中的使用

    千次阅读 2019-08-03 18:49:30
    在画函数图时我们经常碰到画好图,加标签时要写LaTeX一脸懵逼,所以,特意整理一份常用的LaTeX函数表示供学习,参考。 #导入几个必要的科学计算库 import pandas as pd import numpy as np import matplotlib....
  • 数模大赛或者写论文肯定少不了插入数学公式,本篇分享来到了LaTeX的最受欢迎最强大yyds的数学公式排版和编辑!无论多复杂公式:积分、分段函数、求极限、指数函数……快速搞定、整齐的排版,快默默丢弃word的公式...
  • 1. 向量求导规则此部分主要是对Matrix Differentiation的转载。2.1. 导数定义(一阶导数)设y⃗ =ϕ(x⃗ )\vec{y} = \phi (\vec{x}),其中y⃗ \vec y和x⃗ \vec x均为向量。 定义 特别地,如果yy是标量,则...
  • LaTeX中的数学公式符号语法大全

    千次阅读 2020-05-13 23:03:19
    LaTeX数学模式中,公式有两种形式——行内公式和行间公式。前者公式嵌入在行内,适用于简单短小的公式;后者居中独占一行,适用于比较长或重要的公式。公式中的空格均会被忽略,可以使用命令\quad或\qquad实现 ...
  • 2.LaTeX源文件: \documentclass[UTF8,twoside]{ctexart} \usepackage{mathtools} \usepackage[CJKbookmarks=true,colorlinks,linkcolor=blue,anchorcolor=blue,citecolor=green]{hyperref} \usepackage[top...
  • 高效使用latex编辑数学公式

    千次阅读 2020-09-30 12:29:04
    latex编辑数学公式 1. 为什么要用Letax编辑数学公式 在写论文输入数学公式时,我们有很多种方式可以选择,例如:Axmath、MathType、微软的公式编辑器等,这些工具可以直观的编辑数学公式,但是当公式较多较复杂时...
  • LaTex数学公式符号整理

    千次阅读 2017-08-29 10:39:14
    在博客和其他许多地方常常涉及到数学公式,每次都是用word或MathType写了在截图,总感觉很不方便,所以想学一学LaTex以方便书写,主要先把数学公式整理在这里,以便后续查阅。下面的内容基本上都是学习《一份不太...
  • 求极值 然后其实就是常规思路了,求导,求极值,下面我们写的式子也叫KKT条件: 此时问题已经可解。 不等式约束问题 明确问题 不等式约束我们给出一个模板: 问题转化 我们可知一定存在一个x3使得: 这样的话我们就...
  • Latex备忘录

    2021-04-07 19:42:51
    Latex备忘录 latex的基本格式 latex语句块以 $ 为开始和结束的标记 ,代码的 code 圈在 $$ 之中可以进行渲染,如 $code$ latex在代码块中以 {} 为分界符来区分函数和变量,再明确的情况下可以省略 latex中特别...
  • Markdown中公式编辑教程 两种形式 希腊字母 上标与下标 括号 求导 求和 积分 连乘 分式 根式 分类表达式 方程组 矩阵 比较运算符 集合关系与运算 箭头 逻辑运算符 顶部符号 括号 元素省略 增广矩阵 两种形式 一般...
  • 矩阵求导

    2019-06-08 12:17:22
    原始文件没有办法把latex公式正常显示,所以一个一个弄出来了,保留了原来的公式。原始文章来自《闲话矩阵求导》。 矩阵求导,想必许多领域能见到。统计学,经济学,优化,机器学习等等,在对目标问题建立数学模型...
  • Latex 编辑公式问题汇总

    千次阅读 2017-12-04 18:32:25
    6.求导加撇 \sum _ { 1 \le i \le 100 } \vphantom { \sum } ^ { ' } A(i) \qquad \mathop { { \sum } ' } _ { 1 \le i \le 100 } A(i) \qquad \sideset { ^* } { ' } \sum _ { 1 \le i \le 100 ...
  • latex常用功能

    2019-11-27 18:28:52
    Latex常用功能 插入图片 图片排列 大写空心字母 希腊字母 公式编辑 公式基本格式(粗体,直体,) 行中公式 单独一行公式 特殊符号 上下标 二元关系符号 空格 小符号 无穷\infty 求导符号 代码块 插入图片 \...
  • 一阶求导符号 \frac{\mathrm{d} y }{\mathrm{d} x} 趋近于无穷大 \to -\infty 开方 \sqrt{} 平方 ^{2} sin \sin{} cos \cos{} tan \tan{} 常见问题1: File ended while scanning use of @writefile ...
  • LaTeX常用公式入门篇

    2021-06-14 17:39:11
    LaTeX,始于公式,忠于优雅… 很长一段时间,数学公式的编辑都是采用MathType解决的,但是直到我遇到了LaTeX的公式便一见倾心、久久不能释怀… 简介 相信很多做学术的科研狗应该都是听过LaTeX排版写出来的Paper是...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 802
精华内容 320
关键字:

latex求导