Course Outline
Part 1
A Brief Introduction to MATLAB
Objectives: Provide an overview of MATLAB's composition, capabilities, and utility for users
- An Example: Comparing C and MATLAB
- MATLAB Product Overview
- MATLAB Application Fields
- What MATLAB can do for you?
- The Course Outline
Working with the MATLAB User Interface
Objective: Introduce the main features of the MATLAB integrated design environment and its user interfaces. Provide an overview of course themes.
- MATLAB Interface
- Reading data from file
- Saving and loading variables
- Plotting data
- Customising plots
- Calculating statistics and best-fit line
- Exporting graphics for use in other applications
Variables and Expressions
Objective: Learn to enter MATLAB commands, with an emphasis on creating and accessing data within variables.
- Entering commands
- Creating variables
- Getting help
- Accessing and modifying values in variables
- Creating character variables
Analysis and Visualization with Vectors
Objective: Perform mathematical and statistical calculations with vectors and create basic visualisations. Demonstrate how MATLAB syntax enables calculations on whole datasets with a single command.
- Calculations with vectors
- Plotting vectors
- Basic plot options
- Annotating plots
Analysis and Visualization with Matrices
Objective: Utilise matrices as mathematical objects or as collections of (vector) data. Understand the appropriate use of MATLAB syntax to distinguish between these applications.
- Size and dimensionality
- Calculations with matrices
- Statistics with matrix data
- Plotting multiple columns
- Reshaping and linear indexing
- Multidimensional arrays
Part 2
Automating Commands with Scripts
Objective: Compile MATLAB commands into scripts to facilitate reproducibility and experimentation. As task complexity increases, entering long sequences of commands in the Command Window becomes impractical.
- A Modelling Example
- The Command History
- Creating script files
- Running scripts
- Comments and Code Cells
- Publishing scripts
Working with Data Files
Objective: Import data into MATLAB from formatted files. Given the variety of data types and formats, emphasis is placed on working with cell arrays and date formats.
- Importing data
- Mixed data types
- Cell arrays
- Conversions among numerals, strings, and cells
- Exporting data
Multiple Vector Plots
Objective: Create more complex vector plots, including multiple plots, and employ colour and string manipulation techniques to produce engaging visual representations of data.
- Graphics structure
- Multiple figures, axes, and plots
- Plotting equations
- Using colour
- Customising plots
Logic and Flow Control
Objective: Leverage logical operations, variables, and indexing techniques to create flexible code capable of making decisions and adapting to different situations. Explore programming constructs for repeating code sections and facilitating user interaction.
- Logical operations and variables
- Logical indexing
- Programming constructs
- Flow control
- Loops
Matrix and Image Visualization
Objective: Visualise images and matrix data in two or three dimensions. Examine the distinctions between displaying images and visualising matrix data using images.
- Scattered Interpolation using 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 typical data analysis tasks in MATLAB, including developing and fitting theoretical models to real-life data. This naturally leads to one of MATLAB's most powerful features: solving linear systems of equations with a single command.
- Dealing with missing data
- Correlation
- Smoothing
- Spectral analysis and FFTs
- Solving linear systems of equations
Writing Functions
Objective: Enhance automation by encapsulating modular tasks as user-defined functions. Understand how MATLAB resolves references to files and variables.
- Why functions?
- Creating functions
- Adding comments
- Calling subfunctions
- Workspaces
- Subfunctions
- Path and precedence
Data Types
Objective: Explore data types, focusing on the syntax for creating variables and accessing array elements, and discuss methods for converting between data types. Data types differ in the kind of data they may contain and the way the data is organised.
- MATLAB data types
- Integers
- Structures
- Converting types
File I/O
Objective: Investigate the 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 provides precise control of reading text files.
- Opening and closing files
- Reading and writing text files
- Reading and writing binary files
Please note that the actual delivery may be subject to minor discrepancies from the outline above without prior notification.
Conclusion
Please note that the actual delivery may be subject to minor discrepancies from the outline above without prior notification.
Objectives: Summarise what we have learnt
- A summary of the course
- Other upcoming courses on MATLAB
Please note that the course may be subject to a few minor discrepancies when delivered without prior notifications.
Requirements
- Foundational understanding of undergraduate-level mathematical concepts, including linear algebra, probability theory, statistics, and matrix operations
- Proficiency with basic computer operations
- Ideally, a basic grasp of 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