Key Facts
Contact Mohamad Ammach, M.Sc.
Language of Instructions English
Language of Materials English
Type / ECTS Lecture, Exercise / 3 (Elective Lecture Module)
Semester Winter Semester
Time and Place Lecture: Fridays, 09:00 – 11:00, MW 1801
Exercise: Fridays, 11:45 – 12:30, MW 0250
Details
Prerequisites (recommended) Basic knowledge in the following areas is recommended:

Equivalent knowledge acquired in other courses or degree programs is sufficient. Prior experience with MATLAB or Simulink is not required.

Content

This module provides an introduction to MATLAB and Simulink with an emphasis on their practical application for modeling, simulation, analysis, and software development in engineering. The focus is on translating mathematical and engineering concepts into computational implementations, including the numerical handling of differential equations, the modeling of dynamic systems, system identification, optimization, and control system analysis and design.

The module also covers model-based development for high-integrity systems, where failures can endanger people, the environment, or valuable assets, for example in aerospace, automotive, or medical engineering. Such systems therefore have to be developed according to strict standards and verified systematically. The module shows how MATLAB and Simulink support this.

The module is structured into the following 11 chapters:

  1. Introduction and motivation
  2. Basics of Software Engineering
  3. MATLAB Fundamentals
  4. MATLAB Data Handling and Visualization
  5. MATLAB Toolboxes: Control System, Optimization, System Identification
  6. Simulink Fundamentals
  7. Simulink Control
  8. Stateflow
  9. Code Generation from MATLAB / Simulink
  10. MATLAB / Simulink for High Integrity Systems
  11. Object-Oriented Programming in MATLAB
Intended Learning Outcomes Upon successful completion of this module, students are able to:

  1. Apply MATLAB to create and evaluate engineering algorithms and handle data, including:
    • MATLAB scripts (M-files), live scripts (MLX files), different types of MATLAB functions, and programming syntax
    • Data handling techniques
    • Debugging methods
  2. Apply software development principles and object-oriented programming in MATLAB/Simulink, including:
    • Software development basics, development methodologies, and code management
    • Version control with Git, including cloning repositories and basic Git procedures
    • Basic object-oriented programming in MATLAB and an understanding of advanced OOP concepts
  3. Apply MATLAB toolboxes and parallel computing to solve engineering problems, including:
    • Control System Toolbox
    • Optimization Toolbox
    • System Identification Toolbox
  4. Create models of continuous- and discrete-time dynamic systems in Simulink, including:
    • Continuous- and discrete-time modeling
    • Libraries, subsystems, model references, and buses to structure and organize complex models
  5. Apply Simulink tools for model and project management, including:
    • Importing and exporting data between the MATLAB workspace and Simulink
    • Data dictionaries for storing design data and configurations
    • Simulink Projects for managing model dependencies and complexity
  6. Apply specialized Simulink tools for engineering analysis and control design, including:
    • Simulink Design Optimization for model parameter estimation and response optimization
    • Simulink Control Design for operating-point determination, linearization, and control design
  7. Create Stateflow models for logical and event-driven models, including:
    • Flow charts
    • State charts
    • Truth tables
  8. Explain fundamental principles and tools of model-based software development for high-integrity systems, including:
    • Model-based software development processes and relevant automotive and aerospace industry standards
    • Basic principles of legacy code integration
    • Model Advisor to validate Simulink model integrity
    • Basic functionality of MATLAB/Simulink products for software traceability and verification
Teaching Methods / Materials

The module consists of a lecture and an accompanying exercise. New concepts and methods are explained and demonstrated in the lecture. Students then apply these concepts and methods through practical exercises and homework assignments, gaining hands-on experience with MATLAB and Simulink.

Lecture: The lecture combines different teaching methods, including presentations, live coding, and demonstrations in MATLAB and Simulink, depending on the topic. Short interactive activities, such as questions, small problem-solving tasks, and peer discussions, are integrated into the lecture to actively engage students and reinforce their understanding of the concepts introduced. Throughout the lecture, it is shown how to explore new features, navigate the documentation and use online resources, so that students learn to acquire new software functionality independently.

Exercise: Exercises with more extensive programming and modeling tasks are provided for independent preparation at home. Students apply the concepts and methods introduced in the lecture by implementing solutions in MATLAB and Simulink. During the exercise sessions, students work along with the lecturer, and they have the opportunity to ask questions and discuss alternative approaches.

The combination of explanations, demonstrations, and short interactive activities supports students in understanding new concepts. Independently solving more extensive programming and modeling tasks provides hands-on experience in applying MATLAB and Simulink. The discussion of solutions in the exercise sessions helps students identify mistakes and understand different approaches to solving engineering problems. Guided and self-directed use of documentation and online resources trains students to learn new software features on their own.

Exam The module examination is a written exam of 60 minutes. Permitted aids: non-programmable calculator, an analog dictionary (English–native language).The exam combines knowledge and comprehension questions with application-oriented tasks. These include multiple-choice questions, writing, completing and analyzing MATLAB code, interpreting and creating Simulink/Stateflow models, and selecting and applying appropriate software tools to engineering problems. This combination assesses both the students’ understanding of MATLAB/Simulink functionality and their ability to apply the concepts and methods covered in the module.

The module grade is determined entirely by the written examination.

Reference Literature http://www.mathworks.com