Course Outline
Part 1
An Introduction to MATLAB
Objectives: Provide an overview of what MATLAB is, its components, and its capabilities
- Case Study: C vs. MATLAB
- Overview of the MATLAB Product
- Fields of MATLAB Application
- What can MATLAB do for you?
- Course Structure
Interacting with the MATLAB User Interface
Objective: Explore the key features of the MATLAB integrated design environment and its interfaces. Get an overview of the course themes.
- MATLAB Interface
- Reading data from files
- Managing variables: saving and loading
- Data plotting
- Plot customization
- Calculating statistics and best-fit lines
- Exporting graphics for external applications
Variables and Expressions
Objective: Execute MATLAB commands, focusing on creating and accessing data within variables.
- Command entry
- Variable creation
- Accessing help resources
- Accessing 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 on entire datasets using single commands.
- Vector calculations
- Plotting vectors
- Basic plot settings
- Adding annotations to plots
Matrix Analysis and Visualization
Objective: Utilize matrices either as mathematical objects or as collections of (vector) data. Learn to distinguish between these uses through appropriate MATLAB syntax.
- Size and dimensionality
- Matrix calculations
- Statistics on matrix data
- Plotting multiple columns
- Reshaping and linear indexing
- Multidimensional arrays
Part 2
Scripting for Command Automation
Objective: Organize MATLAB commands into scripts to facilitate reproducibility and experimentation. As tasks become more complex, entering long command sequences in the Command Window becomes inefficient.
- Example: Modeling
- Command History
- Creating script files
- Executing scripts
- Comments and Code Cells
- Publishing scripts
Handling 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.
- Data import
- Mixed data types
- Cell arrays
- Converting between numerals, strings, and cells
- Data export
Advanced Vector Plotting
Objective: Create complex vector plots, such as multiple subplots, and employ color and string manipulation techniques for compelling data visualizations.
- Graphics structure
- Multiple figures, axes, and plots
- Plotting equations
- Use of color
- Plot customization
Logic and Flow Control
Objective: Use logical operations, variables, and indexing to write flexible code that makes decisions and adapts to different scenarios. Explore constructs for repeating code sections and enabling user interaction.
- Logical operations and variables
- Logical indexing
- Programming constructs
- Flow control
- Loops
Matrix and Image Visualization
Objective: Visualize images and matrix data in 2D or 3D. Examine the differences between displaying images and visualizing matrix data using image methods.
- Scattered Interpolation using vector and matrix data
- 3-D matrix visualization
- 2-D matrix visualization
- Indexed images and colormaps
- True color 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 leads to one of MATLAB’s powerful features: solving linear systems of equations with a single command.
- Handling missing data
- Correlation analysis
- Data smoothing
- Spectral analysis and FFTs
- Solving linear systems of equations
Function Creation
Objective: Enhance automation by encapsulating modular tasks into user-defined functions. Understand how MATLAB resolves file and variable references.
- The rationale for functions
- Creating functions
- Adding documentation/comments
- Calling subfunctions
- Workspaces
- Subfunctions
- Path and precedence
Data Types
Objective: Investigate data types, focusing on syntax for variable creation and array element access, as well as methods for type conversion. Data types vary in the data they contain and how it is organized.
- MATLAB data types
- Integers
- Structures
- Type conversion
File I/O
Objective: Explore MATLAB’s low-level data import and export functions for precise control over text and binary file operations. These include textscan, which offers detailed control over reading text files.
- Opening and closing files
- Reading and writing text files
- Reading and writing binary files
Please note that the actual delivery may contain minor variations from the outline above without prior notice.
Conclusion
Please note that the actual delivery may contain minor variations from the outline above without prior notice.
Objectives: Summarize the key takeaways from the course
- Course summary
- Recommended next steps and other MATLAB courses
Please note that the course delivery may include minor variations without prior notice.
Requirements
- Foundational knowledge in undergraduate-level mathematics, including linear algebra, probability theory, statistics, and matrices
- Proficiency in basic computer operations
- Familiarity with other high-level programming languages, such as C, PASCAL, FORTRAN, or BASIC, is beneficial 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