Calculate derivative of erfcx(x) function
10 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Kevin Frey
el 8 de Feb. de 2019
Comentada: Bjorn Gustavsson
el 8 de Feb. de 2019
I want to know how i can calculater the derivative of an erfcx(x) function with the symbolic math toolbox. The following is what i tried so far:
>> syms x real
>> y = erfcx(x)
Undefined function 'erfcx' for input arguments of type 'sym'.
I also tried doing this with an anonymous function:
>> testing = @(x) erfcx(x)
testing =
function_handle with value:
@(x)erfcx(x)
but then i don't know how to use the diff() function, as i don't know what variable i should give: diff(testing(x)) <- instead of this x.
6 comentarios
Bjorn Gustavsson
el 8 de Feb. de 2019
Why cant you do that and plug it into the symbolic differentiation? (It took me ~5 minutes to get an analytical derivative...)
Respuesta aceptada
Torsten
el 8 de Feb. de 2019
Editada: Torsten
el 8 de Feb. de 2019
Try
x = 0:0.1:5;
analytical_derivative = -2/sqrt(pi) + 2.*x.*erfcx(x);
numerical_derivative = (erfcx(x+1.0e-6)-erfcx(x))*1e6;
plot(x,analytical_derivative,x,numerical_derivative)
So my guess is that the derivative of erfcx is erfcx'(x) = -2/sqrt(pi) + 2*x*erfcx(x) (and you can easily deduce this result by differentiating exp(x^2)*erfcx(x) using the product rule).
0 comentarios
Más respuestas (1)
Bjorn Gustavsson
el 8 de Feb. de 2019
Just plug in the definitions of the erfcx function into your symbolic calculations? Or do the differentiation by hand?
HTH
5 comentarios
Bjorn Gustavsson
el 8 de Feb. de 2019
If I got the definitions right you should just simply have expressed erfcx in terms of exp(x^2) and erf:
syms x
diff(exp(x^2)*(1-erf(x)),x)
ans =
- 2/pi^(1/2) - 2*x*exp(x^2)*(erf(x) - 1)
HTH
Ver también
Categorías
Más información sobre Symbolic Math Toolbox en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!