在Matlab中不定义符号变量的匿名函数的导数

Derivative of anonymous functions without defining symbolic variables in Matlab

考虑以下代码:

f = @(x) x.^2; 

是否可以在不定义符号变量的情况下将函数句柄 f 的导数作为另一个函数句柄求导?

不,要获得导函数,您需要使用符号工具箱。

但是你可以通过创建一个函数来得到一个近似值(有限差分近似值):

f = @(x) x.^2;
d = 1e-6;
df = @(x) (f(x+d)-f(x))/d;

d 这里决定了近似的精度。如果它太小,你最终会进入浮点舍入误差域,所以要小心!

测试:

x = -2:0.01:2;
max(abs(df(x) - 2*x))  % returns 1.0006e-06