Производная от анонимных функций без определения символических переменных в Matlab - PullRequest
0 голосов
/ 08 февраля 2019

Рассмотрим следующий код:

f = @(x) x.^2; 

Можно ли получить производную дескриптора функции f как другой дескриптор функции, не определяя символическую переменную?

1 Ответ

0 голосов
/ 08 февраля 2019

Нет, чтобы получить производную функцию, вам нужно использовать набор инструментов 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
...