Upcoming Program

MATLAB & Simulink

Language and Programming

MATLAB Programming Expert

Course Highlights

This five-day course provides a comprehensive introduction to the MATLAB® technical computing environment and hands-on experience using the features in the MATLAB® language to write efficient, robust, and well-organized code. The course is intended for beginning users who are not just looking for a review but also want to gain deeper understanding of the concept of writing full application, developing algorithms, and extending built-in MATLAB® capabilities. 

Themes of data analysis, visualization, modelling, and programming are explored throughout the course. Details of performance optimization, as well as tools for writing, debugging, and profiling code, are covered. Attendees will also learn how to built interactive applications in MATLAB®.

Topics include:

  • Working with the MATLAB user interface

  • Entering commands and creating variables

  • Analysing vectors and matrices

  • Visualizing vector and matrix data

  • Working with data files & types

  • Automating commands with scripts

  • Writing programs with branching and loops

  • Writing functions

  • Laying out apps in the App Designer environment

  • Creating callback functions for interactive components

  • Creating and updating graphical objects in apps

  • Making app components responsive to user behavior

  • Creating apps with multiple windows

Techsource Systems is
Mathworks Sole and Authorised Distributor and Training Partner


  • MATLAB and MATLAB Compiler


  • Undergraduate-level mathematics and experience with basic computer operations.

  • No prior experience or knowledge of Matlab required

Course Outline

Day 1 of 5

Working with the MATLAB User Interface

Objective: Become familiar with the main features of the MATLAB integrated design environment and its user interfaces. Get an overview of course themes.

  • Reading data from files

  • Saving and loading variables

  • Plotting data

  • Customizing plots

  • Exporting graphics for use in other applications

Variables and Commands

Objective: Enter MATLAB commands, with an emphasis on creating variables, accessing and manipulating data in variables, and creating basic visualizations. Collect MATLAB commands into scripts for ease of reproduction and experimentation.

  • Entering commands

  • Creating numeric and character variables

  • Making and annotating plots

  • Getting help

  • Creating and running live scripts

Analysis and Visualization with Vectors

Objective: Perform mathematical and statistical calculations with vectors. Use MATLAB syntax to perform calculations on whole data sets with a single command. Organize scripts into logical sections for development, maintenance, and publishing.

  • Performing calculations with vectors

  • Accessing and modifying values in vectors

  • Formatting and sharing live scripts

Day 2  of 5

Analysis and Visualization with Matrices

Objective: Use matrices as mathematical objects or as collections of (vector) data. Understand the appropriate use of MATLAB syntax to distinguish between these applications.

  • Creating and manipulating matrices

  • Performing calculations with matrices

  • Calculating statistics with matrix data

  • Visualizing matrix data

Tables of Data

Objective: Import data as a MATLAB table. Work with data stored as a table.

  • Storing data as a table

  • Operating on tables

  • Extracting data from tables

  • Modifying tables

Conditional Data Selection

Objective: Extract and analyze subsets of data that satisfy given criteria.

  • Logical operations and variables

  • Finding and counting

  • Logical indexing

Organizing Data

Objective: Organize table data for analysis. Represent data using appropriate native MATLAB data types.

  • Combining tables of data

  • Table metadata

  • Dates and durations

  • Discrete categories

Day 3  of 5

Analyzing Data

Objective: Perform typical data analysis tasks in MATLAB, including importing data from files, preprocessing data, fitting a model to data, and creating a customized visualization of the model.

  • Importing from spreadsheets and delimited text files

  • Dealing with missing data

  • Plotting functions

  • Customizing plots

Increasing Automation with Programming Constructs

Objective: Create flexible code that can interact with the user, make decisions, and adapt to different situations.

  • Programming constructs

  • User interaction

  • Decision branching

  • Loops

Increasing Automation with Functions

Objective: Increase automation by encapsulating modular tasks as user-defined functions. Understand how MATLAB resolves references to files and variables. Use MATLAB development tools to find and correct problems with code.

  • Creating functions

  • Calling functions

  • Setting the MATLAB path

  • Debugging with the MATLAB Editor

  • Using breakpoints

  • Creating and using structures

Day 4 of 5

Using the App Designer Environment

Objective: Use App Designer to create and share an app by laying out components and giving them interactive behavior.

  • Working in the App Designer interface

  • Adding callbacks to components

  • Programming callback functionality

  • Sharing apps with others

Creating and Updating Plots

Objective: Create apps with graphical elements that can be modified by user interaction, as well as apps with continuously adjustable components.

  • Using plotting functions within apps

  • Accessing graphical objects within apps

  • Programming components to update the app continuously

  • Sharing callbacks between multiple components

  • Adding helper and startup functionality

Creating Responsive Components

Objective: Create robust and flexible apps with components that adapt appropriately to user actions.

  • Adding and using local application data

  • Working with grouped components

  • Modifying component properties

Managing Multiple Windows and Apps

Objective: Create apps that use extra dialog windows and helper apps.

  • Using standard dialog windows

  • Catching errors

  • Creating helper apps

  • Passing application data between apps

Day 5 of 5

Mini Project (Hands-On) 

Objective: to provide guided environment for participants to implement knowledge that they gathered on the first four days training on variaty of problems and applications. Each participants will be given mini project that they have to complete within the give time individually. The trainer will provide feedback to participants to implement best practices in doing MATLAB programming.