Производная от анонимных функций без определения символических переменных в 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
Другие вопросы по тегам