主要内容

diff

区分符号表达或函数

描述

例子

Df= diff (ff关于符号变量,由Symvar(F,1)

例子

Df= diff (fn计算n衍生物f关于符号变量,由symvar

例子

Df= diff (fvar.f关于差异化参数var.var.可以是符号标量变量,例如x,象征函数,如f(x),或导数函数,如差异(f(t),t)

例子

Df= diff (fvar.n计算n衍生物f关于var.

例子

Df= diff (fvar1,...,变华f关于参数var1,...,变华

例子

Df= diff (fMvar.f关于符号矩阵变量Mvar.类型的symmatrix(因为R2021a)

例子

全部折叠

求函数的导数罪(x ^ 2)

Syms.f(x)f(x)= sin(x ^ 2);df = diff(f,x)
df(x)=
                      
                       
                        
                         
                          
                           2
                          
                          
                          
                           x
                          
                          
                          
                           
                            
                             因为
                           
                           
                            
                            
                             
                              
                               
                                
                                 x
                               
                               
                                
                                 2
                               
                              
                             
                            
                            
                           
                          
                         
                        
                       
                      

求at的导数x = 2.将值转换为double。

df2 = df(2)
Df2 =
                      
                       
                        
                         
                          
                           4
                          
                          
                          
                           
                            
                             因为
                           
                           
                            
                            
                             
                              
                               4
                             
                            
                            
                           
                          
                         
                        
                       
                      
双(Df2)
ans = -2.6146

找到此表达式的第一个衍生。

Syms.xtDf = diff (sin (x * t ^ 2))
Df =
                      
                       
                        
                         
                          
                           
                            
                             t
                           
                           
                            
                             2
                           
                          
                          
                          
                          
                           
                            
                             因为
                           
                           
                            
                            
                             
                              
                               
                                
                                 
                                  
                                   t
                                 
                                 
                                  
                                   2
                                 
                                
                                
                                
                                
                                 x
                               
                              
                             
                            
                            
                           
                          
                         
                        
                       
                      

因为你没有指定微分变量,diff使用定义的默认变量symvar.对于这个表达式,默认变量是x

var = symvar (sin (x * t ^ 2) (1)
var =
                      
                       
                        
                         x
                       
                      

现在,求这个表达式对变量的导数t

df = diff(sin(x * t ^ 2),t)
Df =
                      
                       
                        
                         
                          
                           2
                          
                          
                          
                           t
                          
                          
                          
                           x
                          
                          
                          
                           
                            
                             因为
                           
                           
                            
                            
                             
                              
                               
                                
                                 
                                  
                                   t
                                 
                                 
                                  
                                   2
                                 
                                
                                
                                
                                
                                 x
                               
                              
                             
                            
                            
                           
                          
                         
                        
                       
                      

求它的四阶,五阶,六阶导数 t 6

Syms.tD4 = diff (t ^ 6, 4)
D4 =
                      
                       
                        
                         
                          
                           360.
                          
                          
                          
                           
                            
                             t
                           
                           
                            
                             2
                           
                          
                         
                        
                       
                      
d5 = diff(t ^ 6,5)
D5 =
                      
                       
                        
                         
                          
                           720
                          
                          
                          
                           t
                         
                        
                       
                      
d6 = diff(t ^ 6,6)
D6 =
                      
                       
                        
                         720
                       
                      

求这个表达式对变量的二阶导数y

Syms.xyDf = diff(x*cos(x*y), y, 2)
Df =
                      
                       
                        
                         
                          
                           -
                          
                           
                            
                             
                              
                               x
                             
                             
                              
                               3.
                             
                            
                            
                            
                            
                             
                              
                               因为
                             
                             
                              
                              
                               
                                
                                 
                                  
                                   x
                                  
                                  
                                  
                                   y
                                 
                                
                               
                              
                              
                             
                            
                           
                          
                         
                        
                       
                      

计算表达式的第二个导数x * y.如果未指定差异化变量,diff使用由此确定的变量symvar.这个表达式,Symvar(x * y,1)返回x.因此,diff计算的二阶导数x * y关于x

Syms.xydf = diff(x * y,2)
Df =
                      
                       
                        
                         0
                       
                      

如果您使用嵌套diff调用,而不指定微分变量,diff确定每个呼叫的差异化变量。例如,区分表达式x * y通过调用diff函数两次。

Df = diff (diff (x * y))
Df =
                      
                       
                        
                         1
                       
                      

在第一个电话,diffx * y关于x,并返回y.在第二个电话中,diffy关于y,并返回1

因此,diff (x * y, 2)相当于diff(x * y,x,x),diff (diff (x * y))相当于diff(x * y,x,y)

对这个表达式对变量求导xy

Syms.xyDf = diff (x * sin (x * y), x, y)
Df =
                      
                       
                        
                         
                          
                           
                            
                             2
                            
                            
                            
                             x
                            
                            
                            
                             
                              
                               因为
                             
                             
                              
                              
                               
                                
                                 
                                  
                                   x
                                  
                                  
                                  
                                   y
                                 
                                
                               
                              
                              
                             
                            
                           
                          
                          
                           -
                          
                           
                            
                             
                              
                               x
                             
                             
                              
                               2
                             
                            
                            
                            
                            
                             y
                            
                            
                            
                             
                              
                             
                             
                              
                              
                               
                                
                                 
                                  
                                   x
                                  
                                  
                                  
                                   y
                                 
                                
                               
                              
                              
                             
                            
                           
                          
                         
                        
                       
                      

您还可以通过提供所有差异变量来计算混合的高阶导数。

Syms.xyDf = diff (x * sin (x * y), x, x, x, y)
Df =
                      
                       
                        
                         
                          
                           
                            
                             
                              
                               x
                             
                             
                              
                               2
                             
                            
                            
                            
                            
                             
                              
                               y
                             
                             
                              
                               3.
                             
                            
                            
                            
                            
                             
                              
                             
                             
                              
                              
                               
                                
                                 
                                  
                                   x
                                  
                                  
                                  
                                   y
                                 
                                
                               
                              
                              
                             
                            
                           
                          
                          
                           -
                          
                           
                            
                             6
                            
                            
                            
                             x
                            
                            
                            
                             
                              
                               y
                             
                             
                              
                               2
                             
                            
                            
                            
                            
                             
                              
                               因为
                             
                             
                              
                              
                               
                                
                                 
                                  
                                   x
                                  
                                  
                                  
                                   y
                                 
                                
                               
                              
                              
                             
                            
                           
                          
                          
                           -
                          
                           
                            
                             6
                            
                            
                            
                             y
                            
                            
                            
                             
                              
                             
                             
                              
                              
                               
                                
                                 
                                  
                                   x
                                  
                                  
                                  
                                   y
                                 
                                
                               
                              
                              
                             
                            
                           
                          
                         
                        
                       
                      

求函数的导数 y f x 2 d f d x 关于 f x

Syms.f(x)yY = F(x)^ 2 * diff(f(x),x);dy = diff(y,f(x))
dy =

2 f x x f x

求函数的二阶导 y f x 2 d f d x 关于 f x

DY2 =差异(y,f(x),2)
Dy2 =

2 x f x

找到功能的混合导数 y f x 2 d f d x 关于 f x d f d x

Dy3 = diff (y, f (x),差异(f (x)))
Dy3 =
                      
                       
                        
                         
                          
                           2
                          
                          
                          
                           
                            
                             f
                           
                           
                            
                            
                             
                              
                               x
                             
                            
                            
                           
                          
                         
                        
                       
                      

找到描述质量弹簧系统运动的欧拉拉格朗兰语方程。定义系统的动力学和潜在能量。

Syms.x (t)kT = m / 2 * diff (x (T), T) ^ 2;V = k / 2 * x (t) ^ 2;

定义拉格朗日。

l = t  -  v
L =

t x t 2 2 - k x t 2 2

euler-lagrange方程是给出的

0 d d t l t x x ˙ x ˙ - l t x x ˙ x

评估这个词 l / x ˙

d1 = diff(l,diff(x(t),t)))
D1 =

t x t

评估第二个术语 l / x

d2 = diff(l,x)
D2 (t) =
                      
                       
                        
                         
                          
                           -
                          
                           
                            
                             k
                            
                            
                            
                             
                              
                               x
                             
                             
                              
                              
                               
                                
                                 t
                               
                              
                              
                             
                            
                           
                          
                         
                        
                       
                      

求质量-弹簧系统的欧拉-拉格朗日运动方程。

差异(d1,t) -  d2 == 0
ans(t)=

2 t 2 x t + k x t 0

自从R2021a

为了求对向量的导数,你可以使用符号矩阵变量。例如,求导数 α. / x α. / y 对于表达式 α. y T 一个 x , 在哪里 y 是一个3 × 1的向量, 一个 是一个3×4矩阵,和 x 是一个4 × 1的向量。

创建三个符号矩阵变量xy,一个,并使用它们来定义α

Syms.x(4 - 1)矩阵Syms.y(3 - 1)矩阵Syms.一个[3 - 4]矩阵alpha = y。'* a * x
α=
                      
                       
                        
                         
                          
                           
                            
                             
                              
                               y
                             
                            
                           
                           
                            
                             T
                           
                          
                          
                          
                          
                           
                            
                             一个
                           
                          
                          
                          
                          
                           
                            
                             x
                           
                          
                         
                        
                       
                      

找到衍生物α关于向量 x y

dx = diff(alpha,x)
DX =
                      
                       
                        
                         
                          
                           
                            
                             
                              
                               y
                             
                            
                           
                           
                            
                             T
                           
                          
                          
                          
                          
                           
                            
                             一个
                           
                          
                         
                        
                       
                      
Dy = diff(α,y)
dy =
                      
                       
                        
                         
                          
                           
                            
                             
                              
                               x
                             
                            
                           
                           
                            
                             T
                           
                          
                          
                          
                          
                           
                            
                             
                              
                               一个
                             
                            
                           
                           
                            
                             T
                           
                          
                         
                        
                       
                      

自从R2021a

要评估差异与矩阵,可以使用符号矩阵变量。例如,找到差异 Y / 一个 对于表达式 Y X T 一个 X , 在哪里 X 是一个3×1的矢量,和 一个 是一个3×3矩阵。这里, Y 是一个标量是矢量的函数 X 和矩阵 一个

创建两个符号矩阵变量来表示 X 一个 .定义 Y

Syms.X(3 - 1)矩阵Syms.一个[3 3]矩阵Y = X * * X
y =
                      
                       
                        
                         
                          
                           
                            
                             
                              
                               X
                             
                            
                           
                           
                            
                             T
                           
                          
                          
                          
                          
                           
                            
                             一个
                           
                          
                          
                          
                          
                           
                            
                             X
                           
                          
                         
                        
                       
                      

求微分 Y 关于矩阵 一个

D = diff (Y)
d =
                      
                       
                        
                         
                          
                           
                            
                             
                              
                               X
                             
                            
                           
                           
                            
                             T
                           
                          
                          
                          
                           
                            
                             X
                           
                          
                         
                        
                       
                      

结果是介于kronecker张量产品 X T X 它是一个3 × 3矩阵。

尺寸(d)
ans =1×23 3.

输入参数

全部折叠

以区分,指定为的表达或功能

  • 象征性的表情

  • 象征性的函数

  • 符号表达式或函数的矢量或矩阵(符号矢量或符号矩阵)

  • 符号矩阵变量(因为R2021a)

如果f是象征的矢量或矩阵,diff的每个元素f并返回大小相同的向量或矩阵f

数据类型:单身的|双倍的|轶事|Symfun.|symmatrix

差异化参数,指定为符号标量变量,符号函数或使用该符号函数或使用该域创建的衍生功能diff函数。

如果你指定对符号函数的微分var = f(x)或者说导数函数var = diff(f(x),x),然后是第一个参数f不得包含其中任何一个:

  • 积分变换,如傅里叶ifourier拉普拉斯ilaplaceHTRANS.Ihtrans.ztrans,iztrans

  • 包含的未评估符号表达限制

  • 在特定点评估的符号函数,例如F(3)g(0)

数据类型:单身的|双倍的|轶事|Symfun.

差分参数,指定为符号标量变量,符号函数或使用的衍生功能diff函数。

数据类型:单身的|双倍的|轶事|Symfun.

自从R2021a

微分参数,指定为符号矩阵变量。

diff函数目前不支持张量导数。金宝app如果导数是一个张量,或者导数是一个用张量表示的矩阵,那么diff功能会错误。如果f是一个可差异的标量函数,Mvar.可以是标量、向量或矩阵。要了解更多的例子,请参见对向量求导与矩阵区分开

数据类型:symmatrix

差异化顺序,指定为非负整数。

提示

  • 当计算一个以上变量的混合高阶导数时,不要使用n指定差异化秩序。相反,显式指定所有差异变量。

  • 提高性能,diff假设所有混合衍生物通勤。例如,

    x y f x y y x f x y

    对于大多数工程和科学问题,这个假设就足够了。

  • 如果你对一个多元表达式或函数求导f如果不指定微分变量,则嵌套调用diff差异(f, n)可以退回不同的结果。这是因为在嵌套呼叫中,每个差异化步骤确定并使用其自己的差异变量。在呼叫中差异(f, n),差异化变量是由Symvar(F,1)并用于所有差异化步骤。

  • 如果将包含的表达式或功能区分腹肌标志,确保参数是真实值。对于复杂的论证腹肌标志,diff功能正式计算衍生物,但此结果通常不适用于腹肌标志在复数上不可微。

之前介绍过的R2006a