匿名函数导数没有在Matlab中定义符号变量

问题描述 投票:2回答:1

考虑下面的代码:

f = @(x) x.^2; 

是否有可能得到函数的导数处理f作为另一个函数处理,而不定义符号变量?

matlab anonymous-function derivative function-handle
1个回答
6
投票

不,获得您需要使用符号工具箱的衍生功能。

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

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
© www.soinside.com 2019 - 2024. All rights reserved.