Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 

Repository files navigation

Numerical Methods

Solutions to two university assignments in MATLAB / Octave, covering six independent problems — from solving linear systems iteratively to digital signal processing and matrix factorisation. Each homework has its own directory and a README explaining the method behind every task.

Contents

Task Problem Method
Markov is coming Probability of escaping a maze from every cell Markov chain solved by Jacobi iteration, sparse matrices
Linear regression Predicting house prices from mixed numeric and categorical features Gradient descent, normal equation with conjugate gradient, Ridge and Lasso
MNIST 101 Recognising handwritten digits Feedforward neural network trained by backpropagation
Task Problem Method
Numerical music Synthesising and analysing audio FFT, spectrograms with Hann windowing, frequency-domain filtering, convolution reverb
Robotzii Interpolating a trajectory through waypoints Vandermonde polynomials vs. cubic splines with C² continuity
Recommendations Recommending items from a sparse rating matrix Truncated SVD, cosine similarity

Methods covered

  • Linear systems = Jacobi iteration, conjugate gradient, convergence criteria
  • Sparse matrices = storage and why it matters for graph-like problems
  • Optimisation = gradient descent, regularisation, the bias–variance trade-off
  • Signal processing = FFT, windowing, spectrograms, filtering, convolution
  • Interpolation = Vandermonde systems, conditioning, cubic splines
  • Matrix factorisation = SVD and latent feature extraction

Running

The code targets MATLAB and also runs in GNU Octave. Each task directory is self-contained: add it to the path and call the functions from there.

cd homework-1/markov-is-coming
Labyrinth = parse_labyrinth('labyrinth.txt');
Adj = get_adjacency_matrix(Labyrinth);

The datasets, audio files and test harnesses were provided with the assignments and are not included in this repository.

Note on third-party code

homework-1/mnist-101/fmincg.m is Carl Rasmussen's conjugate gradient minimiser, distributed with the course materials. It is included because the training code calls it, but it is not my work. Everything else here is.

About

Numerical methods in MATLAB, Markov chains, regression, neural networks, FFT and audio filtering, spline interpolation, SVD recommendations.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages