From e6bf8349d7fc554bdbd915cc65c44f23c1b86e75 Mon Sep 17 00:00:00 2001 From: Ian Jauslin Date: Mon, 16 Dec 2019 15:06:59 -0500 Subject: Initial commit --- figs/numerical.fig/simpleq/integration.jl | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 figs/numerical.fig/simpleq/integration.jl (limited to 'figs/numerical.fig/simpleq/integration.jl') diff --git a/figs/numerical.fig/simpleq/integration.jl b/figs/numerical.fig/simpleq/integration.jl new file mode 100644 index 0000000..0ad456a --- /dev/null +++ b/figs/numerical.fig/simpleq/integration.jl @@ -0,0 +1,28 @@ +# approximate \int_a^b f using Gauss-Legendre quadratures +function integrate_legendre(f,a,b,weights) + out=0 + for i in 1:length(weights[1]) + out+=(b-a)/2*weights[2][i]*f((b-a)/2*weights[1][i]+(b+a)/2) + end + return out +end +# \int f*g where g is sampled at the Legendre nodes +function integrate_legendre_sampled(f,g,a,b,weights) + out=0 + for i in 1:length(weights[1]) + out+=(b-a)/2*weights[2][i]*f((b-a)/2*weights[1][i]+(b+a)/2)*g[i] + end + return out +end + + + +# approximate \int_a^b f/sqrt((b-x)(x-a)) using Gauss-Chebyshev quadratures +function integrate_chebyshev(f,a,b,N) + out=0 + for i in 1:N + out=out+pi/N*f((b-a)/2*cos((2*i-1)/(2*N)*pi)+(b+a)/2) + end + return out +end + -- cgit v1.2.3-70-g09d2