未在Matlab中定义符号变量的匿名函数的派生

时间:2019-02-08 04:25:38

标签: matlab anonymous-function derivative function-handle

考虑以下代码:

f = @(x) x.^2; 

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

1 个答案:

答案 0 :(得分:6)

否,要获取派生函数,您需要使用Symbolic工具箱。

但是您可以通过创建如下函数来获得近似值(有限差分近似值):

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