I can plot derivatives using ForwardDiff and Plots
using ForwardDiff
using Plots
f(x)=x^2
df(x)=ForwardDiff.derivative(f(x), x)
plot(df)
but QuadGK.jl gives two answers so this method won’t work. Is there a way to plot the integral using QuadGK, or another integral package, that gives one output, like ForwardDiff?
Just extract the first output from QuadGK? EDIT: And please include reproducible code when you post questions.
Ok, how do I extract an output from QuadGK.
using QuadGK
f(x)=x/2
quadgx(f,1,x)
The same way as anything else in Julia: store the result in a variable, for example:
julia> f(x) = x / 2
f (generic function with 1 method)
julia> y = 10
10
julia> z = quadgk(f, 1, y)
(24.75, 0.0)
julia> z[1]
24.75
And use the REPL or notebook to experiment and play around.
Are you looking for something like plot(x -> quadgk(f, 1, x)[1])
?
That is, if you want to take advantage of the fact that the first plot
argument can be a function, you pass a function x -> quadgk(f, 1, x)[1]
that takes an x
and returns \int_1^x f(x')dx', using [1]
to get the first return value of quadgk
(which returns a tuple).
3 Likes
Perfect, and I’ll be sure to play around with different variations @dpsanders !
1 Like