Course Outline
Part 1
An Overview of MATLAB
Objective: Provide an overview of MATLAB, including its components and capabilities
- Comparative Example: C vs. MATLAB
- Overview of MATLAB Products
- Application Domains of MATLAB
- Benefits and Capabilities
- Course Structure
Exploring the MATLAB User Interface
Objective: Introduce the core features of the MATLAB integrated design environment and its interfaces, while outlining the course themes.
- MATLAB Interface
- Reading data from files
- Managing variables (saving and loading)
- Generating plots
- Tailoring plot appearances
- Computing statistics and best-fit lines
- Exporting graphics for external use
Variables and Expressions
Objective: Learn to input MATLAB commands, focusing on creating and retrieving data within variables.
- Command entry
- Variable creation
- Accessing help resources
- Modifying and retrieving variable values
- Creating character variables
Vector Analysis and Visualisation
Objective: Execute mathematical and statistical operations on vectors and generate basic visualisations. Discover how MATLAB syntax allows single-command operations on entire datasets.
- Vector calculations
- Vector plotting
- Standard plot options
- Plot annotation
Matrix Analysis and Visualisation
Objective: Utilise matrices as mathematical entities or collections of vector data. Gain clarity on MATLAB syntax to distinguish between these applications.
- Size and dimensionality
- Matrix calculations
- Statistical analysis of matrix data
- Plotting multiple columns
- Reshaping and linear indexing
- Multidimensional arrays
Part 2
Scripting for Automation
Objective: Consolidate MATLAB commands into scripts to enhance reproducibility and experimentation. As task complexity grows, manual command entry in the Command Window becomes less efficient.
- A Modelling Case Study
- Command History
- Creating script files
- Executing scripts
- Using comments and Code Cells
- Publishing scripts
Managing Data Files
Objective: Import data from structured files into MATLAB. Given the variety of data types and formats, this section emphasises working with cell arrays and date formats.
- Data importation
- Handling mixed data types
- Cell arrays
- Conversions between numerals, strings, and cells
- Data exportation
Advanced Vector Plotting
Objective: Create complex vector plots, such as multiple subplots, and utilise colour and string manipulation to produce visually appealing data representations.
- Graphics structure
- Multiple figures, axes, and plots
- Plotting equations
- Utilising colour
- Plot customisation
Logic and Flow Control
Objective: Apply logical operations, variables, and indexing to write flexible code capable of decision-making and adaptation. Investigate constructs for code repetition and user interaction.
- Logical operations and variables
- Logical indexing
- Programming constructs
- Flow control
- Loops
Matrix and Image Visualisation
Objective: Visualise images and matrix data in 2D or 3D. Understand the distinctions between displaying images and using images to visualise matrix data.
- Scattered Interpolation using vector and matrix data
- 3-D matrix visualisation
- 2-D matrix visualisation
- Indexed images and colormaps
- True colour images
Part 3
Data Analysis
Objective: Perform standard data analysis tasks in MATLAB, such as developing and fitting theoretical models to real-world data. This naturally leads to leveraging one of MATLAB’s key strengths: solving linear systems of equations with a single command.
- Handling missing data
- Correlation analysis
- Smoothing techniques
- Spectral analysis and FFTs
- Solving linear systems of equations
Function Development
Objective: Enhance automation by encapsulating modular tasks into user-defined functions. Understand how MATLAB resolves file and variable references.
- The utility of functions
- Creating functions
- Adding documentation
- Calling subfunctions
- Workspaces
- Subfunctions
- Path and precedence
Data Types
Objective: Examine data types, with a focus on syntax for variable creation and array element access, and discuss methods for type conversion. Data types vary in the data they contain and their organisational structure.
- MATLAB data types
- Integers
- Structures
- Type conversion
File I/O
Objective: Investigate low-level data import and export functions in MATLAB that provide precise control over text and binary file I/O, including textscan for precise text file reading.
- File opening and closing
- Reading and writing text files
- Reading and writing binary files
Please note that the actual content delivered may contain minor deviations from the above outline without prior notice.
Conclusion
Please note that the actual content delivered may contain minor deviations from the above outline without prior notice.
Objective: Recap the key learning outcomes
- Course summary
- Subsequent MATLAB courses available
Please note that the course delivery may involve minor adjustments without prior notification.
Requirements
- Foundational undergraduate-level mathematical knowledge, including linear algebra, probability theory, statistics, and matrix concepts
- Proficiency with basic computer operations
- Familiarity with another high-level programming language such as C, PASCAL, FORTRAN, or BASIC is advantageous but not mandatory
Testimonials (2)
The many examples and the building of the code from start to finish.
Toon - Draka Comteq Fibre B.V.
Course - Introduction to Image Processing using Matlab
Many useful exercises, well explained