# 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函数更方便于求解一阶导数,但在高阶导数的情况下会相对麻烦许多。