数值微分运算

第4章介绍了用diff函数实现符号微分运算。实际上,使用diff函数还可以实现数值微分运算,求相邻元素之间的差值,以及求向量的数值偏导数和偏微分。diff函数的函数格式如下。

diff(X):输入参数X可为向量或矩阵。若X为向量,则返回的是[X (2)- X (1), X (3)- X (2),…, X (n) - X (n-1)];若X为矩阵,则返回的是矩阵每行的差分,即[X (2:m,:) - X (1:m-1,:)]。通常,diff(X)返回沿X的第一个成对维的差值。

Y=diff(X,n):递归调用diff函数n次,生成n次差分。这样,diff(X,2)与diff(diff(X))相同。

Y=diff(X,n,dim):返回X中第dim维的n次差分或导数值。如果n大于或等于dim维的长度,则diff函数返回一个空数组。

【例16】

code.matlab
>> x=[3 7 5;0 4 2];
>> diff(x)
ans =
    -3    -3    -3

【例17】

code.matlab
>> x=[3 7 5;0 4 2];
>> diff(x,2)
ans =
     0     0

【例18】

code.matlab
>> x=[3 7 5;0 4 2];
>> diff(x,2,1)
ans =
empty matrix: 0-by-3