Course Outline
Part 1
Introduction to MATLAB
Objective: Provide a general overview of MATLAB, its components, and its potential applications
- Case Study: C vs. MATLAB
- Overview of MATLAB products
- Common application areas for MATLAB
- Key benefits and capabilities
- Course structure and syllabus
Interacting with the MATLAB User Interface
Objective: Introduce the primary features of the MATLAB integrated design environment and its interfaces. Gain an understanding of the core course themes.
- MATLAB interface navigation
- Reading data from files
- Managing variables (saving and loading)
- Creating plots
- Customising plot appearances
- Computing statistics and best-fit lines
- Exporting graphics for external use
Variables and Expressions
Objective: Learn to enter MATLAB commands, with a focus on creating and accessing data stored in variables.
- Command entry techniques
- Variable creation
- Accessing help documentation
- Retrieving and updating variable values
- Creating character variables
Vector Analysis and Visualization
Objective: Perform mathematical and statistical operations on vectors and generate basic visualizations. Discover how MATLAB syntax allows for calculations across entire datasets using a single command.
- Vector-based calculations
- Plotting vectors
- Basic plot configuration options
- Adding annotations to plots
Matrix Analysis and Visualization
Objective: Utilise matrices as mathematical entities or as structured collections of vector data. Understand the correct MATLAB syntax to distinguish between these uses.
- Size and dimensionality concepts
- Matrix calculations
- Statistical analysis of matrix data
- Plotting multiple columns
- Reshaping and linear indexing
- Multidimensional arrays
Part 2
Scripting for Automation
Objective: Group MATLAB commands into scripts to facilitate reproducibility and experimentation. Recognise that as task complexity grows, executing long command sequences manually in the Command Window becomes inefficient.
- Modelling example
- Reviewing command history
- Creating script files
- Executing scripts
- Using comments and code cells
- Publishing scripts
Managing Data Files
Objective: Import data into MATLAB from formatted sources. Given the variety of data types and formats, significant attention is paid to working with cell arrays and date formats.
- Data import techniques
- Handling mixed data types
- Cell arrays
- Conversions between numerals, strings, and cells
- Data export methods
Advanced Vector Plotting
Objective: Create more complex vector visualizations, including multiple plots, and employ colour and string manipulation techniques to produce clear and engaging data representations.
- Understanding graphics structure
- Managing multiple figures, axes, and plots
- Plotting equations
- Colour usage
- Plot customisation
Logic and Flow Control
Objective: Leverage logical operations, variables, and indexing to write flexible code capable of making decisions and adapting to different scenarios. Explore constructs for repeating code sections and enabling user interaction.
- Logical operations and variables
- Logical indexing
- Programming constructs
- Flow control mechanisms
- Loops
Matrix and Image Visualization
Objective: Visualize images and matrix data in two or three dimensions. Examine the differences between displaying raw images and using images to visualise matrix data.
- Scattered interpolation with vector and matrix data
- 3-D matrix visualization
- 2-D matrix visualization
- Indexed images and colormaps
- True colour images
Part 3
Data Analysis
Objective: Execute standard data analysis tasks in MATLAB, including developing and fitting theoretical models to real-world data. This naturally leads to one of MATLAB's most powerful capabilities: 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 references to files and variables.
- The role of functions
- Creating functions
- Adding comments
- Calling subfunctions
- Workspaces
- Subfunctions
- Path and precedence
Data Types
Objective: Explore various data types, focusing on syntax for variable creation and array element access, and discuss methods for converting between types. Data types vary in the kind of data they hold and their structural organisation.
- MATLAB data types
- Integers
- Structures
- Type conversion
File Input/Output
Objective: Investigate low-level data import and export functions in MATLAB that allow precise control over text and binary file I/O. These functions include textscan, which offers detailed control over text file reading.
- Opening and closing files
- Reading and writing text files
- Reading and writing binary files
Please note that the actual delivered content may vary slightly from the outline above without prior notification.
Conclusion
Please note that the actual delivered content may vary slightly from the outline above without prior notification.
Objective: Summarise the key learning outcomes
- Course summary
- Upcoming MATLAB courses
Please note that the course delivery may include minor discrepancies without prior notice.
Requirements
- Foundational knowledge of undergraduate-level mathematics, including linear algebra, probability theory, statistics, and matrices
- Familiarity with basic computer operations
- Ideally, some exposure to another high-level programming language such as C, PASCAL, FORTRAN, or BASIC, though this is 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