Рассмотрим следующий код:
f = @(x) x.^2;
Можно ли получить производную дескриптора функции f
в качестве дескриптора другой функции без определения символической переменной?
Рассмотрим следующий код:
f = @(x) x.^2;
Можно ли получить производную дескриптора функции f
в качестве дескриптора другой функции без определения символической переменной?
Нет, чтобы получить производную функцию, вам нужно использовать инструментарий 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
@(x) (f(x+d)-f(x-d))/(2*d)
, что позволит вам повысить точность для того же d
. Хотя это правильный подход
- person Wolfie; 08.02.2019