Table of Contents

Lecture materials

Timetable

The course takes place every Wednesday(BE0B17MTB) from 16:15 to 18:30 in the room T2: A3-412 in Dejvice (unless stated otherwise on the title page).

Semester schedule: See slide 6 and 7...

List of useful MATLAB functions

mtb_cheat_sheet.pdf

Course schedule

1st week

Topic: What is Matlab and why to learn it. Course details, literature, the start of MATLAB. Software environment, documentation, matrices in MATLAB, matrix operations, complex numbers.

Materials: Course Information, Lecture 0 - About MATLAB, Lecture 1 - Basic math operations

Solutions: Lecture 1 - solution


2nd week

Topic: MATLAB editor, creation of scripts, functions for generating vectors/matrices, creating more complicated matrices, operations on matrices, operations by elements, introduction to vectorization, and determination of dimension of matrices.

Materials: Lecture 2 - Vectors & Matrices

Solutions: Lecture 2 - solution


3rd week

Topic: Indexing, linear indexing, relational and logical operators.

Materials: Lecture 3 - Indexing, Relational and Logical Operators

Solutions: Lecture 3 - solution

Homework:

Homework: Submission system (BRUTE)


4th week

Topic: Cycles, cycles vs. vectorization, program branching.

Materials: Lecture 4 - Loops, Program Branching

Solutions: Lecture 4 - solution


5th week

Topic: User functions, function handles, anonymous functions, nested functions, namespaces.

Materials: Lecture 5 - Functions

Solutions: Lecture 5 - solution

Homework:

Homework: Submission system (BRUTE)


6th week

Topic: Advanced data types in MATLAB,

Materials: Lecture 6 - Advanced Data Types, I/O,measurement1.xlsx

Solutions: solution.m


7th week

Topic: Visualization in MATLAB, LineSpec , suitable sampling for drawing graphs, graphical objects.

Materials: Lecture 8 - Visualization

Solutions: solution.m


8th week

Topic: Debugger. Error handling. Code profiling. Midterm test.

Materials: Lecture 7 - Debugger. Error handling. Code profiling.

Solutions: solution.m

Project: Project selection

Semestral test: Submission system (BRUTE)


9th week

Topic: Static GUI.

Materials: Lecture 9 - Static GUI

Solutions: mouseutility_gui.m


10th week

Topic: Object-oriented programming. Timer class

Materials: Lecture 10 - OOP, Timer

Solutions: smoothplot.rar solutions.m


11th week

Topic: Dynamic GUI.

Materials: Lecture 11 - Dynamic GUI

Solutions: keyboardscan.m, mouseposition.m, mouseutility.m, mybuttonrandcolor.m, paint.m, showgraph.m

Homework:

Homework: Submission system (BRUTE)


12th week

Topic: APIs, Deep Learning, Curve Fitting Toolbox, Optimization

Materials: Lecture 12: APIs, Deep Learning, Curve Fitting Toolbox, Optimization

Solutions: Lecture 12: Solutions


13th week

Topic: Bonus lecture on a selected topic.

Materials: Lecture 13A (Bonus): Symbolic Math in MATLAB

Materials: Lecture 13B (Bonus): Data Visualisation and Management

Bonus: Lecture Deep learning: APIs, Curve fitting, Deep learning, Optimization


14th week

Topic: Final test, project presentation, discusion, credit assignment.