Производная от анонимных функций без определения символических переменных в Matlab
Рассмотрим следующий код:
f = @(x) x.^2;
Можно ли получить производную от функции handle f
как другой дескриптор функции, без определения символической переменной?
1 ответ
Решение
Нет, для получения производной функции вам нужно использовать панель инструментов 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