Derivative after Numerical Integral

hello everyone,
I have a function of x, however I get it after calculating a numerical integral, such as:
a = @(x) (integral(@(x1) sqrt((x+4).*(x1+2)./(x1+1)),0,1))
I need to take the derivative of a in terms of x, and then I calculate the values of diff(a) for different x values.
Any help will be appreciated.

 Respuesta aceptada

Star Strider
Star Strider el 27 de Mayo de 2019
Editada: Star Strider el 27 de Mayo de 2019
Try this:
dfdx = @(f,x) (f(x + 1E-8) - f(x)) ./ 1E-8; % Simple Numeric Derivative
a = @(x) (integral(@(x1) sqrt((x+4).*(x1+2)./(x1+1)),0,1, 'ArrayValued',1))
x = linspace(-1, 1, 25);
dadx = dfdx(a,x);
figure
plot(x, dadx)
grid
Make appropriate changes to ‘x’ for your needs.
EDIT —
You can also use the gradient (link) function to calculate the derivative of a (regularly-spaced) vector of values proeuced by your ‘a’ function.

Más respuestas (0)

Categorías

Preguntada:

el 27 de Mayo de 2019

Editada:

el 27 de Mayo de 2019

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by