Получить производную дескриптора функции в MATLAB
Можно ли получить производную дескриптора function_handle как другой дескриптор function_handle?
Подобно:
fun1 = @(x) x^2;
% do that ...
disp(fun2);
@(x) x*2
Я знаю, как найти производную символической функции, но я не могу преобразовать function_handle в символическую функцию.
Я новичок в Matlab, и я не мог найти способ сделать это. Заранее спасибо.
3 ответа
Короткий ответ - нет." MATLAB понятия не имеет, что означает содержание function_handle в символическом смысле. Вам лучше создать его, используя syms
На первом месте.
Более длинный ответ будет состоять в том, чтобы использовать Symbol Math Toolbox, как предложено @A Danesh, или приблизительное, как предложено @Andrey.
Однако, если вы всегда работаете с полиномами, вы можете сохранить коэффициенты в виде массива и использовать следующие функции:
polyval
оценитьconv
чтобы умножитьdeconv
делитьpolyder
различатьpolyint
интегрировать
Вы не можете аналитически из дескриптора функции.
но если вы получили набор инструментов символьной математики, вы можете получить символическую функцию и создать дескриптор функции из результата.
Вы можете получить функцию приближения:
delta = 0.0001;
d = @(x)( (fun1(x+delta) - fun1(x))./delta)