# Differential


定义微分规则

函数库: TySymbolicMath

# 语法

Differential(x)

# 说明

D = Differential(x)表示定义一个函数D,函数的作用是对x求导。示例

# 示例

求一阶导数

创建符号变量及表达式

using TySymbolicMath
@variables x y z
f = 2*y*z*sin(x) + 3*x*sin(z)*cos(y)
f = 3x*cos(y)*sin(z) + 2y*z*sin(x)

定义三个函数,分别对x y z求导

Dx = Differential(x)
Dy = Differential(y)
Dz = Differential(z)
(::Differential) (generic function with 3 methods)

将函数分别作用于表达式f

dx = Dx(f)
dy = Dy(f)
dz = Dz(f)
dx = Differential(x)(3x*cos(y)*sin(z) + 2y*z*sin(x))

dy = Differential(y)(3x*cos(y)*sin(z) + 2y*z*sin(x))

dz = Differential(z)(3x*cos(y)*sin(z) + 2y*z*sin(x))

利用expand_derivatives函数展示导数结果

a = expand_derivatives(dx)
b = expand_derivatives(dy)
c = expand_derivatives(dz)
a = 3cos(y)*sin(z) + 2y*z*cos(x)

b = 2z*sin(x) - 3x*sin(z)*sin(y)

c = 2y*sin(x) + 3x*cos(y)*cos(z)
求十阶导数

定义表达式,并定义对x求十阶导函数

using TySymbolicMath
@variables  x
f = -(sin(x))^2
g = Differential(x)^10
f  = -(sin(x)^2)

g = Differential(x) ∘ (Differential(x) ∘ (Differential(x) ∘ (Differential(x) ∘ (Differential(x) ∘ (Differential(x) ∘ (Differential(x) ∘ (Differential(x) ∘ (Differential(x) ∘ Differential(x)))))))))

对f求十阶导数

  df = g(f)
df = Differential(x)(Differential(x)(Differential(x)(Differential(x)(Differential(x)(Differential(x)(Differential(x)(Differential(x)(Differential(x)(Differential(x)(-(sin(x)^2)))))))))))

使用expand_derivatives函数展示导数结果

expand_derivatives(df)
ans = 512(sin(x)^2) - 512(cos(x)^2)

# 输入参数

x - 被求导的变量

示例 : Differential(x)定义了对x求导的方法

# 详细信息

Differential和derivative

Differential定义了一个对单个变量求导数的方法,同样可以定义求高阶导数的方法,但需要expand_derivatives函数进行对结果的展示

derivative函数更方便于求解一阶导数,但在高阶导数的情况下会相对麻烦许多。

# 另请参阅

derivative | expand_derivatives