diff
区分符号的表达或功能
语法
描述
区别Df
= diff (f
,var1,…,varN
)f
关于这些参数var1,…,varN
.
例子
区分功能
求函数的导数sin (x ^ 2)
.
信谊f (x)F (x) = sinx ^2;Df = diff(f,x)
Df (x) =
求导数的值X = 2
.将值转换为双
.
Df2 = Df(2)
Df2 =
双(Df2)
Ans = -2.6146
对特定变量求导
求这个表达式的一阶导数。
信谊xtDf = diff(sin(x*t²))
Df =
因为你没有指定微分变量,diff
使用定义的默认变量symvar
.对于这个表达式,默认变量为x
.
Var = symvar(sin(x*t²),1)
var =
现在求这个表达式对变量的导数t
.
Df = diff(sin(x*t²),t)
Df =
单变量表达式的高阶导数
多元表达式对特定变量的高阶导数
多元表达式对默认变量的高阶导数
计算表达式的二阶导数x * y
.如果你不指定微分变量,diff
使用由确定的变量symvar
.对于这个表达式,symvar (x * y, 1)
返回x
.因此,diff
计算的二阶导数x * y
关于x
.
信谊xyDf = diff(x*y,2)
Df =
如果你使用嵌套diff
调用和不指定微分变量,diff
为每个调用确定微分变量。例如,微分表达式x * y
通过调用diff
函数两次。
Df = diff(diff(x*y))
Df =
在第一次通话中,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 =
你也可以通过提供所有的微分变量来计算混合的高阶导数。
信谊xyDf = diff(x*sin(x*y),x,x,x,y)
Df =
对函数和导数求导
求函数的导数 关于 .
信谊f (x)yY = f(x)²*diff(f(x),x);Dy = diff(y,f(x))
Dy =
求函数的二阶导 关于 .
Dy2 = diff(y,f(x),2)
Dy2 =
求函数的混合导数 关于 而且 .
Dy3 = diff(y,f(x),diff(f(x))))
Dy3 =
欧拉方程
求描述质量-弹簧系统运动的欧拉-拉格朗日方程。定义系统的动能和势能。
信谊x (t)米kT = m/2*diff(x(T), T)^2;V = k/2*x(t)^2;
定义拉格朗日量。
L = t - v
L =
欧拉-拉格朗日方程由
评估术语 .
D1 = diff(L,diff(x(t),t))
D1 =
评估第二项 .
D2 = diff(L,x)
D2 (t) =
求质量-弹簧系统的欧拉-拉格朗日运动方程。
diff(D1,t) - D2 == 0
ans (t) =
对向量求导
要计算关于向量的导数,可以使用符号矩阵变量。例如,求导数 而且 对于表达式 ,在那里 是一个3 × 1向量, 是3 × 4矩阵,和 是一个4 × 1向量。
创建三个符号矩阵变量x
,y
,一个
,并使用它们来定义α
.
信谊x(4 - 1)矩阵信谊y(3 - 1)矩阵信谊一个[3 - 4]矩阵alpha = y.'*A*x
α=
求导数α
关于这些向量
而且
.
Dx = diff(,x)
Dx =
Dy = diff(,y)
Dy =
对矩阵求导
要计算关于矩阵的导数,可以使用符号矩阵变量。例如,求导数 对于表达式 ,在那里 是3 × 1向量,和 是一个3 × 3矩阵。在这里, 标量是向量的函数吗 这个矩阵 .
创建两个符号矩阵变量来表示 而且 .定义 .
信谊X(3 - 1)矩阵信谊一个[3 3]矩阵Y = x .'* a * x
Y =
求导数 关于矩阵 .
D = diff(Y,A)
D =
结果是之间的克罗内克张量积 而且 ,这是一个3 × 3矩阵。
大小(D)
ans =1×23个3
微分符号矩阵函数
对一个符号矩阵函数求其矩阵参数的微分。
求函数的导数 ,在那里 是一个1 × 3矩阵, 是3 × 2矩阵,和 是一个2 × 1矩阵。创建 , , 作为符号矩阵变量和 作为一个符号矩阵函数。
信谊一个3 [1]矩阵信谊B(3 - 2)矩阵信谊X(2 - 1)矩阵信谊t (X)[1]矩阵keepargst(X) = A*sin(B*X)
t (X) =
对函数求导
使用diff
.
Dt = diff(t,X)
Dt (X) =
输入参数
f
- - - - - -要区分的表达式或函数
符号表达式|符号函数|象征性的向量|象征性的矩阵|符号矩阵变量|符号矩阵函数
要区分的表达式或函数,指定为以下值之一:
象征性的表达
一个符号函数
符号向量或符号矩阵(由符号表达式或函数组成的向量或矩阵)
一个符号矩阵变量
一个符号矩阵函数
如果f
是一个符号向量或矩阵,diff
区分的每个元素f
并返回一个相同大小的向量或矩阵f
.
数据类型:单
|双
|信谊
|symfun
|symmatrix
|symfunmatrix
n
- - - - - -导数阶
非负整数
导数的阶数,指定为非负整数。
var
- - - - - -微分参数
符号标量变量|符号函数|导数函数
类型创建的符号标量变量、符号函数或导数函数指定为微分参数diff
函数。
如果你指定关于符号函数的微分Var = f(x)
或者导数函数Var = diff(f(x),x)
,然后是第一个参数f
必须不包含以下任何一个:
积分变换,比如
傅里叶
,ifourier
,拉普拉斯
,ilaplace
,htrans
,ihtrans
,ztrans
,iztrans
未求值的符号表达式,包括
限制
或int
在特定点上计算的符号函数,例如
f (3)
或g (0)
数据类型:单
|双
|信谊
|symfun
var1,…,varN
- - - - - -微分参数
符号标量变量|符号函数|导数函数
类创建的符号标量变量、符号函数或导数函数指定为微分参数diff
函数。
数据类型:单
|双
|信谊
|symfun
限制
的
diff
当使用符号矩阵变量作为微分参数时,函金宝app数不支持张量导数。如果导数是一个张量,或者导数是一个用张量表示的矩阵,那么diff
函数将出错。
提示
当计算包含多个变量的混合高阶导数时,不要使用
n
指定导数的阶数。相反,要显式地指定所有微分变量。为了提高性能,
diff
假设所有混合导数都可交换。例如,这一假设适用于大多数工程和科学问题。
如果你微分一个多元表达式或函数
f
没有指定微分变量,则嵌套调用diff
而且差异(f, n)
可以返回不同的结果。原因是在嵌套调用中,每个微分步骤都确定并使用自己的微分变量。在电话中差异(f, n)
时,微分变量由symvar (f, 1)
用于所有的微分步骤。如果微分包含的表达式或函数
腹肌
或标志
,参数必须为实值。对于复杂的论证腹肌
而且标志
,diff
函数形式上计算导数,但这个结果通常是无效的,因为腹肌
而且标志
在复数上不可微。
版本历史
R2006a之前介绍MATLAB命令
你点击了一个对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入该命令来运行该命令。Web浏览器不支持MATLAB命令。金宝app
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。