/van-der-pol-oscillator

Van der Pol Oscillator in C++. Finite Differences, SPSA and LQR controllers are used to drive the oscillator.

Primary LanguageC++

van-der-pol-oscillator

This is a project to get some hands-on experience with basic C++ syntax, OOP, some basic exception handling, time measurements and vector manipulations.

Do not expect to find good and quality code here. There are many functions and features just to try different implementations of the same functionality.

Additionally the 'this' keyword is used everywhere (yes it is an overkill).

Anyway it is a good walkthrough from mathematics and some basics of Control Theory to actual code.

The initial version contains only functions.

The API version is an attempt to make a library and one entry point.

The Tests where necessary since there was no easy way to test all this methods.

ToDo List :

  • Fix Adaptive Control algorithm.
  • Does optimizating the code has any good result? If yes try it.

Sources :

Block Diagram

BlockDiagram

Classes

Classes