Spring 2020 - Wed. 800—930 AM Lab: 4/109
GERASMN-INTMARPR-1, 5 credits
Department of Information Technology
Course Objectives
The primary objective of this course is to introduce students to the fundamental concepts and techniques of programming in Matlab and creating basic level simulations in Simulink
Assignments
The assigments and the corresponding points are described in the TEAMS group.
Recommended readings
- Serhat Beyenir: A Brief Introduction to EngineeringComputation with MATLAB (2012) [ pdf]
- Kathleen Ossman, Professor Gregory Bucks: Introduction to MATLAB Programming (2014) [ link]
- Zsolt Csaba Johanyák: Introduction to Matlab Programming (2019) - lecture notes [ pdf]
- Recommended reading [Matlab Onramp course]
Class Schedule (tentative)
Week 1: | Introduction to Matlab. Basic commands, using the environment. Editing figure properties by using visual tools. Plotting. Vectors and matrices. |
Week 2: | Customizing plots programmatically and by the help of visual tools. Creating scripts and functions. Executing functions at once and step-by-step. Flow control. If –else and switch-case statements. Implementing an algorithm given in form of a flow chart. Displaying different values in Command Window and in message boxes. Three dimensional plots. [Source code] |
Week 3: | Numerical integration using trapezoidal approximation. Integration by symbolic toolbox. Three dimensional plots (mesh, surf, contour, meshc). Using subplots. Plotting a sphere, a cylinder, a cone, Formatted output. Creating a graphical user interface. Callback functions. Creating an app with GUI that converts the values from Celsius to Fahrenheit and vice versa. [Source code] |
Week 4: |
Individual study. Plotting a set of balloons, and a vase. Drawing polyhedrons (patch). Creating an animation: throwing under the angle &alpha with a release velocity v. [ HTML] Saving and reusing figures. Creating HTML documentation. Flow control. While loop, for loop. fprintf. Functions of two variables. |
Week 5: | Assigment 1 (in the first part of the class) Interpolation and regression. [Source] Determining the optimal degree of a polynomial. [HTML] |
Week 6: | Recapitulation: Creating vectors and matrices.
Indexing and midifying arrows. Performing calculations on entire
vecttors or matrices at once. Functions with multiple outputs.
Getting help from Matlab documentation. Creating 2D and 3D plots. Recommended reading [Matlab Onramp course (Sections 1..9)] |
Week 7: | Importing data from files. Using logical arrays. Loops and conditional structures. Recommended reading [Matlab Onramp course (Sections 10..15)] Design of a cylindrical tank with a hemispheric part. Goal: minimum cost. Creating a GUI for the calculations. Working with experimental data. |
Week 8: | Creating Live Scripts. Using the Symbolic Math Toolbox.
Solving equations, calculating indefinite and definite integrals as well as derivatives.
Live Script and
PDF Robotic arm simulation. Live Script and PDF |
Week 9: | Introduction to Simulink. Modeling with Simulink. Compulsory readings: Modeling Basics Getting Started with Simulink video Series |
Week 10: | Introduction to System Control with Simulink. Cruise Control. Compulsory readings: Cruise Control Introduction: System Modeling |
Week 11: | Vehicle model and speed control in Simulink - individual lab Details in the TEAMS group. |
Week 12: | Simulink |
Week 13: | Online presentation of the Simulink model created as assignment |