Recursive method to get the differential not working.
2 views (last 30 days)
Show older comments
Hampus Toft on 14 Mar 2021
Commented: Hampus Toft on 17 Mar 2021
Im trying to make a recursive method to get the n:th-order differential equation.
what i have currently is 2 methods im my .m file first one being the simple 1st order differential.
function func = differential(f) % callculates the n:th-order differential
h = 10^(-5);
func = @(x)((f(x+h)-f(x))./h);
then im trying to use this in my recursive method
function output = differentialPower(f,n)
output = f;
f = differentialPower(differential(f),n-1);
output = f;
to get the n:th differential
Problem i have is that my output will allways be either the original function (f)
or the first order differential of:
f = @(x)((f(x+h)-f(x))./h)
gooten from the differential method.
what i want to happen is that each time it gose deeper it will replace f(x) with ((f(x+h)-f(x))./h) and there for going deeper.
is this possible without using syms? or do i have to use the syms methods?
Uday Pradhan on 17 Mar 2021
You will need to use the output function handle to evaluate the nth derivative approximation:
f = @(x) x^5;
df3 = differentialPower(f,3);
%Find approximation of f'''(1)
This approximation will get highly inaccurate as you increase the order of the derivative. Instead, a neat way to calculate higher order derivatives is using the diff function.
More Answers (0)
Find more on Calculus in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!