** 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**

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.

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

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.

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 ;