主要内容

diff

区分符号的表达或功能

描述

例子

Df= diff (f区别f对于符号标量变量symvar (f, 1)

例子

Df= diff (f,n计算n的Th导f对于符号标量变量symvar

例子

Df= diff (f,var区别f关于微分参数varvar可以是符号标量变量,例如x,一个符号函数,如f (x),或导数函数,如差异(f (t), t)

例子

Df= diff (f,var,n计算n的Th导f关于var

例子

Df= diff (f,var1,…,varN区别f关于这些参数var1,…,varN

例子

Df= diff (f,兆乏区别f对于符号矩阵变量兆乏类型的symmatrix

例子

全部折叠

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

信谊f (x)F (x) = sinx ^2;Df = diff(f,x)
Df (x) =
                       
                        
                         
                          
                           
                            2
                           
                           
                           
                            x
                           
                           
                           
                            
                             
                              因为
                            
                            
                             
                             
                              
                               
                                
                                 
                                  x
                                
                                
                                 
                                  2
                                
                               
                              
                             
                             
                            
                           
                          
                         
                        
                       

求导数的值X = 2.将值转换为

Df2 = Df(2)
Df2 =
                       
                        
                         
                          
                           
                            4
                           
                           
                           
                            
                             
                              因为
                            
                            
                             
                             
                              
                               
                                4
                              
                             
                             
                            
                           
                          
                         
                        
                       
双(Df2)
Ans = -2.6146

求这个表达式的一阶导数。

信谊xtDf = diff(sin(x*t²))
Df =
                       
                        
                         
                          
                           
                            
                             
                              t
                            
                            
                             
                              2
                            
                           
                           
                           
                           
                            
                             
                              因为
                            
                            
                             
                             
                              
                               
                                
                                 
                                  
                                   
                                    t
                                  
                                  
                                   
                                    2
                                  
                                 
                                 
                                 
                                 
                                  x
                                
                               
                              
                             
                             
                            
                           
                          
                         
                        
                       

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

Var = symvar(sin(x*t²),1)
var =
                       
                        
                         
                          x
                        
                       

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

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

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

信谊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

信谊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

信谊xyDf = diff(x*y,2)
Df =
                       
                        
                         
                          0
                        
                       

如果你使用嵌套diff调用和不指定微分变量,diff为每个调用确定微分变量。例如,微分表达式x * y通过调用diff函数两次。

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

在第一次通话中,diff区别x * y关于x,并返回y.在第二次通话中,diff区别y关于y,并返回1

因此,diff (x * y, 2)等于diff (x * y, x, x),diff (diff (x * y))等于diff (x * y, x, y)

这个表达式对变量求导x而且y

信谊xyDf = diff(x*sin(x*y),x,y)
Df =
                       
                        
                         
                          
                           
                            
                             
                              2
                             
                             
                             
                              x
                             
                             
                             
                              
                               
                                因为
                              
                              
                               
                               
                                
                                 
                                  
                                   
                                    x
                                   
                                   
                                   
                                    y
                                  
                                 
                                
                               
                               
                              
                             
                            
                           
                           
                            -
                           
                            
                             
                              
                               
                                x
                              
                              
                               
                                2
                              
                             
                             
                             
                             
                              y
                             
                             
                             
                              
                               
                              
                              
                               
                               
                                
                                 
                                  
                                   
                                    x
                                   
                                   
                                   
                                    y
                                  
                                 
                                
                               
                               
                              
                             
                            
                           
                          
                         
                        
                       

你也可以通过提供所有的微分变量来计算混合的高阶导数。

信谊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

信谊f (x)yY = f(x)²*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 = diff(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),diff(f(x))))
Dy3 =
                       
                        
                         
                          
                           
                            2
                           
                           
                           
                            
                             
                              f
                            
                            
                             
                             
                              
                               
                                x
                              
                             
                             
                            
                           
                          
                         
                        
                       

求描述质量-弹簧系统运动的欧拉-拉格朗日方程。定义系统的动能和势能。

信谊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

欧拉-拉格朗日方程由

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
                                
                               
                               
                              
                             
                            
                           
                          
                         
                        
                       

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

diff(D1,t) - D2 == 0
ans (t) =

2 t 2 x t + k x t = 0

要计算关于向量的导数,可以使用符号矩阵变量。例如,求导数 α / x 而且 α / y 对于表达式 α = y T 一个 x ,在那里 y 是一个3 × 1向量, 一个 是3 × 4矩阵,和 x 是一个4 × 1向量。

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

信谊x(4 - 1)矩阵信谊y(3 - 1)矩阵信谊一个[3 - 4]矩阵alpha = y.'*A*x
α=
                       
                        
                         
                          
                           
                            
                             
                              
                               
                                y
                              
                             
                            
                            
                             
                              T
                            
                           
                           
                           
                           
                            
                             
                              一个
                            
                           
                           
                           
                           
                            
                             
                              x
                            
                           
                          
                         
                        
                       

求导数α关于这些向量 x 而且 y

Dx = diff(,x)
Dx =
                       
                        
                         
                          
                           
                            
                             
                              
                               
                                y
                              
                             
                            
                            
                             
                              T
                            
                           
                           
                           
                           
                            
                             
                              一个
                            
                           
                          
                         
                        
                       
Dy = diff(,y)
Dy =
                       
                        
                         
                          
                           
                            
                             
                              
                               
                                x
                              
                             
                            
                            
                             
                              T
                            
                           
                           
                           
                           
                            
                             
                              
                               
                                一个
                              
                             
                            
                            
                             
                              T
                            
                           
                          
                         
                        
                       

要计算关于矩阵的导数,可以使用符号矩阵变量。例如,求导数 Y / 一个 对于表达式 Y = X T 一个 X ,在那里 X 是3 × 1向量,和 一个 是一个3 × 3矩阵。在这里, Y 标量是向量的函数吗 X 这个矩阵 一个

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

信谊X(3 - 1)矩阵信谊一个[3 3]矩阵Y = x .'* a * x
Y =
                       
                        
                         
                          
                           
                            
                             
                              
                               
                                X
                              
                             
                            
                            
                             
                              T
                            
                           
                           
                           
                           
                            
                             
                              一个
                            
                           
                           
                           
                           
                            
                             
                              X
                            
                           
                          
                         
                        
                       

求导数 Y 关于矩阵 一个

D = diff(Y,A)
D =
                       
                        
                         
                          
                           
                            
                             
                              
                               
                                X
                              
                             
                            
                            
                             
                              T
                            
                           
                           
                           
                            
                             
                              X
                            
                           
                          
                         
                        
                       

结果是之间的克罗内克张量积 X T 而且 X ,这是一个3 × 3矩阵。

大小(D)
ans =1×23个3

对一个符号矩阵函数求其矩阵参数的微分。

求函数的导数 t X = 一个 B X ,在那里 一个 是一个1 × 3矩阵, B 是3 × 2矩阵,和 X 是一个2 × 1矩阵。创建 一个 , B , X 作为符号矩阵变量和 t X 作为一个符号矩阵函数。

信谊一个3 [1]矩阵信谊B(3 - 2)矩阵信谊X(2 - 1)矩阵信谊t (X)[1]矩阵keepargst(X) = A*sin(B*X)
t (X) =
                       
                        
                         
                          
                           
                            
                             
                              一个
                            
                           
                           
                           
                           
                            
                             
                            
                            
                             
                             
                              
                               
                                
                                 
                                  
                                   
                                    B
                                  
                                 
                                 
                                 
                                 
                                  
                                   
                                    X
                                  
                                 
                                
                               
                              
                             
                             
                            
                           
                          
                         
                        
                       

对函数求导 X 使用diff

Dt = diff(t,X)
Dt (X) =
                       
                        
                         
                          
                           
                            
                             
                              一个
                            
                           
                           
                           
                           
                            
                             
                              
                               
                                
                                 
                                  因为
                                
                                
                                 
                                 
                                  
                                   
                                    
                                     
                                      
                                       
                                        B
                                      
                                     
                                     
                                     
                                     
                                      
                                       
                                        X
                                      
                                     
                                    
                                   
                                  
                                 
                                 
                                
                               
                               
                               
                                
                                 
                                  B
                                
                               
                              
                             
                            
                           
                          
                         
                        
                       

输入参数

全部折叠

要区分的表达式或函数,指定为以下值之一:

  • 象征性的表达

  • 一个符号函数

  • 符号向量或符号矩阵(由符号表达式或函数组成的向量或矩阵)

  • 一个符号矩阵变量

  • 一个符号矩阵函数

如果f是一个符号向量或矩阵,diff区分的每个元素f并返回一个相同大小的向量或矩阵f

数据类型:||信谊|symfun|symmatrix|symfunmatrix

导数的阶数,指定为非负整数。

类型创建的符号标量变量、符号函数或导数函数指定为微分参数diff函数。

如果你指定关于符号函数的微分Var = f(x)或者导数函数Var = diff(f(x),x),然后是第一个参数f必须不包含以下任何一个:

  • 积分变换,比如傅里叶,ifourier,拉普拉斯,ilaplace,htrans,ihtrans,ztrans,iztrans

  • 未求值的符号表达式,包括限制int

  • 在特定点上计算的符号函数,例如f (3)g (0)

数据类型:||信谊|symfun

类创建的符号标量变量、符号函数或导数函数指定为微分参数diff函数。

数据类型:||信谊|symfun

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

当使用符号矩阵变量作为微分参数时,f一定是一个可微的标量函数,在哪兆乏可以表示标量、向量或矩阵。的导数f不能是张量或张量的矩阵。例如,请参见对向量求导而且对矩阵求导

数据类型:symmatrix

限制

  • diff当使用符号矩阵变量作为微分参数时,函金宝app数不支持张量导数。如果导数是一个张量,或者导数是一个用张量表示的矩阵,那么diff函数将出错。

提示

  • 当计算包含多个变量的混合高阶导数时,不要使用n指定导数的阶数。相反,要显式地指定所有微分变量。

  • 为了提高性能,diff假设所有混合导数都可交换。例如,

    x y f x , y = y x f x , y

    这一假设适用于大多数工程和科学问题。

  • 如果你微分一个多元表达式或函数f没有指定微分变量,则嵌套调用diff而且差异(f, n)可以返回不同的结果。原因是在嵌套调用中,每个微分步骤都确定并使用自己的微分变量。在电话中差异(f, n)时,微分变量由symvar (f, 1)用于所有的微分步骤。

  • 如果微分包含的表达式或函数腹肌标志,参数必须为实值。对于复杂的论证腹肌而且标志,diff函数形式上计算导数,但这个结果通常是无效的,因为腹肌而且标志在复数上不可微。

版本历史

R2006a之前介绍

全部展开