# Quadgk integration

**URL:** <https://discourse.julialang.org/t/quadgk-integration/52489>\
**Category:** Numerics\
**Tags:** question\
**Created:** [December 28, 2020, 1:42am UTC](https://discourse.julialang.org/t/quadgk-integration/52489 "2020-12-28T01:42:07Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Nkrause](https://avatars.discourse-cdn.com/v4/letter/n/9de0a6/32.png) [@Nkrause](https://discourse.julialang.org/u/Nkrause)\
**Post date:** [December 28, 2020, 1:42am UTC](https://discourse.julialang.org/t/quadgk-integration/52489/1 "2020-12-28T01:42:07Z")

</div>

Hello, I’ve got a function I’m trying to integrate, it’s a single variable for a position in space (an electric potential at that point). I’d like to pass my function a position, and have it evaluate the integral at that point in space. So far it works like so.

> function unknotintegralfunction(a,b,c,t)  
> 1/(sqrt(square(a-unknotx(t))+square(b-unknot(t))+square(c)))  
> end

It basically calculates the distance at a point a,b,c from a paramaterized function which has the variable t. I then pass the function above to an integration function

> function unknotpotential(a,b,c)  
> ans = quadgk(unknotintegralfunction(a,b,c),0,2\*pi,order=quadorder)  
> end

Which I had hoped would integrate over my function for t from 0-\>2pi. In python I could do something like this with lambda, but I’m not too sure how to accomplish this in Julia. Any advice would be appreciated!

---

<div class="post-metadata">

**Author:** ![tbeason](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tbeason/32/15898_2.png) [@tbeason](https://discourse.julialang.org/u/tbeason)\
**Post date:** [December 28, 2020, 2:21am UTC](https://discourse.julialang.org/t/quadgk-integration/52489/2 "2020-12-28T02:21:23Z")

</div>

you need

```julia
function unknotpotential(a,b,c)
ans = quadgk(t->unknotintegralfunction(a,b,c,t),0,2*pi,order=quadorder)
end

```

(untested)

Also it looks like you are missing a definition for `quadorder`

---

<div class="post-metadata">

**Author:** ![Nkrause](https://avatars.discourse-cdn.com/v4/letter/n/9de0a6/32.png) [@Nkrause](https://discourse.julialang.org/u/Nkrause)\
**Post date:** [December 28, 2020, 2:56am UTC](https://discourse.julialang.org/t/quadgk-integration/52489/3 "2020-12-28T02:56:21Z")

</div>

Thank you! I’m getting some different errors now, I need to look in to if I’ve set some array values correctly, but progress is progress! I should have mentioned that I’d defined quadorder earlier on in my code.
