ae0b17mtb -- Matlab

Students will learn how to efficiently use both basic and advanced Matlab functions, including graphic user interface design. Emphasis will be put on problem analysis and implementation, understanding Matlab documentation, debugging user-defined functions and independent work with Matlab (proved by work on the project). Knowledge acquired can be applied to a broad spectra of courses taught at FEE (processing labs, final projects) and can be used in future professional career.

conditions of credit award:

Final grade:

90-100 points - A (excellent)

80-89 points - B (very good)

70-79 points - C (good)

60-69 points - D (satisfactory)

50-59 points - E (sufficient)

0-49 points - F (failed)


Timetable

Course timetable



Outline and syllabus, Outline and syllabus of exercises


1. Motivation problems, environment description and set-up, control || Matlab as a calculator, documentation

Lecture, week 1


2. Expressions and commands, indexing, elementary math functions || () Indexing, [], :, dot-operations, solving simple problems (scripts #1), scalar × vector × matrix operations and functions, Projects: project list

Lecture, week 2


3. Relation and logical operators, logical indexing, code debugging || scripts #2, keyboard shortcuts, cell mode scripts, script processing by Matlab; Projects: project selection

Lecture, week 3


4. User-defined functions, recursion, programming style (variables, functions, comments) || Workspaces, main / local / nested functions; Projects: project layout, initial consultation

Lecture, week 4


5. Visualizing in Matlab (introduction) || Ploting and editing graphs; Projects: work on projects + consultation

Lecture, week 5


6. Cycles (vectorizing, other methods), cell, struct || Built-in functions #1, time operations; Projects: work on projects + consultation

Lecture, week 6


7. Memory allocation, data types, control flow m-lint || Built-in functions #2, division by zero (Inf, NaN, …); Projects: work on projects + consultation and project progress check

Lecture, week 7


8. Strings, import/export, code acceleration || Excel, ASCII, binary, mat, (bmp), eval, evalin, …; Projects: work on projects + consultation

Lecture, week 8


9. Path, code design, large application design, code design guidelines and standards || Complex examples (functionality-wise), code reading; Projects: work on projects + consultation

Lecture, week 9


10. Visualizing in Matlab (OOP/ handle objects, graphics control) || Complex graphs (object types), graphics, animation, Projects: work on projects + consultation

Lecture, week 10

GUI layout

mouse position


11. Visualizing in Matlab (OOP/ handle objects, graphics control) || Complex graphs (object types), graphics, animation, Projects: work on projects + consultation


12. Symbolic math (MuPAD kernel), limit, extreme, derivative, zero points of a function, integration, ezplot, ezsurf, solve vs. numerical approach, Projects: work on projects + consultation and project progress check


13. Test, project finalization


14. Project check, credit award


Recommended literature:

[1] Attaway, S.: A Practical Introduction to Programming and Problem Solving, 3rd ed., Butterworth-Heinemann, 2013.

[2] Hahn, B., Valentine, D.: Essential Matlab for Engineers and Scientists, 5th ed., Academic Press, 2013.

[3] Kiusalaas, J.: Numerical Methods in Engineering with Matlab. Cambridge University Press, 2005.

[4] Mathews, J. H., Fink, K. D.: Numerical Methods Using Matlab. Prentice Hall, 1999


Contact:

Lecturer: Pavel Valtr, https://elmag.fel.cvut.cz/profile-main/165?language=en