# Computational Solutions to Wave Equations - Project on Integral Equations

As part of the course Computational Solutions to Wave Equations, you will complete two projects. The project linked to part 2 of this course will be on time domain boundary integral equations. You can find the description of the project here:

To get you started, two building blocks are provided:

The function lgwt can be used to calculate the Gauss nodes and weights. The syntax is:

```
[x,w] = lgwt(N,a,b).
```

Here `N`

is the number of Gauss nodes and `a`

and `b`

are the upper and lower limit of
the integration interval. After execution, the array `x`

contains the abscis values and
the array `w`

the corresponding weights. If `f`

is the array that contains the function
values of the integrandum in the abscis values `x`

the integral can be calculated by
means of the command

```
sum( w .* f ).
```

The function fourierTransform allows you to do the Fourier Transform of a function. If the array `f`

contains the samples of a function in equidistant abscis values , the Fourier Transform can by calculated with

```
[v,F] = fourierTransform(delta_t,f,dim).
```

with dim the dimension along which the Fourier transform should be taken. So, if you want
to take the Fourier transform along the rows of an array, you set dim to 2, while if
you wish to transform along the columns you set dim to 1. If you leave out the
argument, the transformation will be along the rows by default, which may lead to weird
results if you work with column vectors. After execution `v`

contains the frequencies at
which the Fourier Transform is known and `F`

is the array with the value of the Fourier
Transform at these frequencies. To obtain accurate results, you must take
smaller than the Nyquist sample interval, the signal must be zero for and
sufficiently damped out for .