Diff, derivative does not exist
显示 更早的评论
My code is:
fun=@(x) abs(x-1);
pfun=@(x) diff(fun(x),x);
feval(pfun,1)
It didn't return any answer after running the code. My general point, if we want to use Matlab to take the derivative of a function, but the derivative of this funtion does not exist everywhere (like the point 1 in fun(x)). How Matlab return the value? If there are infinite numbers of such points, how Matlab deal with this issue? Any help is very appreciated!
4 个评论
madhan ravi
2019-1-27
Try the below (yet it is not clear what point you are trying to make):
syms x
fun=abs(x-1);
pfun(x)=diff(fun,x);
pfun(1) % evaluated at point 1
James_111
2019-1-27
Walter Roberson
2019-1-27
编辑:Walter Roberson
2019-1-27
You are not doing a symbolic derivative. You are evaluating pfun(1) which is pfun with numeric input. You pass that numeric input to abs(x-1), getting a numeric output. Your diff() of a numeric input is finite differences, not derivative.
James_111
2019-1-27
回答(0 个)
类别
在 帮助中心 和 File Exchange 中查找有关 Just for fun 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!