Learn Python    

   

Want to work independently?

    Want to develop applications without initial expenses?

      Want to learn something that can be applied without expensive licenses?

Want to see more relationships between taught theory and its real utilization?

Python is an open-source programming language and there are many code libraries that substitute many functions which are known from Matlab.

Applications that are written in Python can be run in Windows, Linux or even in Android in smart phones.

      

Become familiar how to represent your programs in a graphic user interface.

 

Except that alternative, you will become familiar with hardware options for applications of your Python programming skills in practice. One of them is the pocket computer Raspberry Pi and DAQ card LabJack for online measurement and data processing in Python.

Further, except a classical numerical method, you will learn some recent progressive techniques from the field of measuring, signal processing, and data analysis using personal computers and Python, and optionally also fundamental techniques of adaptive modeling of systems, neural networks, or adaptive control technique.

 


Python for Scientific Computations and Control (PSCC)

Course Lecturer :  Ivo Bukovský, (Google: ivo bukovsky) , http://users.fs.cvut.cz/ivo.bukovsky/

Code: E37 5004

Rozsah:  2+2

Způsob zakončení:         kz    (classified assessment, classification upon the individually solved class projects)

Počet kreditů (credits):             4

Annotation

Scientific computations and processing of online measured  data in programming environment Python, communication with connected devices, saving and visualization of online measured dat a into PC using Python in real time, libraries, programming the common tasks of numerical mathematics in Python, programming graphic user interfaces, visualization, demonstration of solved problems. The analogies to Matlab will be discussed during the course.

Contents

1.          Programming environment Python and its potentials

2.          Programming language Python for scientific computations and data processing (NumPy, SciPy)

3.          Working with vectors and matrices – matrix operations, solving sets of linear equations in Python

4.          Eigenvalues and eigenvectors in Python, data compression by PCA in Python

5.          Data visualization (MatplotLib)

6.          A simple ODE solver for simulation of a set of differential equations and their sets; computing of a discrete time (difference) equation in Python

7.          Graphic User Interface (GUI) designs in Python

8.          Visualization and signal processing in Python (statistical markers, correlation analysis, noise analysis, power spectral density)

9.          Fundamental algorithms of static function approximation (gradient descent, Levenberg–Marquardt algorithm) and their implementation in Python

10.       Examples of the gradient descent method for approximation of a dynamic system in Python

11.       Hardware for Python, USB/Ethernet based measurement (LabJack, Raspberry Pi, Q-Python for Android…)

12.       Recording online measured data into PC and visualization in Python

13.       Example of tuning of controller parameters for a laboratory system

14.       Further potentials of Python, summary

Prerequisites

To pass the class, students have to actively participate on lectures and labs. A semestral work and presentation of results in class will be required. The students should be familiar with Math topics of first and second year. There are no special prerequisites for any SW or HW.

Key Words

Python, scientific computations, matrix operations, ODE solver, data compression PCA, online recordings of measured data to PC, data processing and visualization, approximation of a static function, gradient descent adaptation, Levenberg–Marquardt algorithm, example of controller optimization in Python, Windows, Linux ;