- Introduction: Overview of the content covered.
- Structuring Data: Explore choices for storing data within a MATLAB application
- Manipulating Heterogeneous Data: Manipulate data in tables, cell arrays, and structure arrays.
- Optimizing Your Code: Use common techniques for improving performance when storing, accessing, and processing data.
- Creating Flexible Functions: Write functions that can handle different numbers and types of user input values.
- Creating Robust Applications: Create robust applications that withstand unexpected input and produce meaningful errors. Use built-in MATLAB functions and programming constructs, and employ techniques for handling error conditions.
- Verifying Application Behavior: Create tests to verify the application is behaving as expected.
- Debugging Your Code: Use integrated tools to debug applications.
- Organizing Your Projects: Use folder reports, MATLAB Projects, and version control to organize and manage your projects.
- Conclusion: Learn next steps and provide feedback on the course.
Overview
Syllabus
- Course Overview
- MATLAB Data Types
- Text Data
- Organizing Data in a Table
- Extracting Data from a Table
- Storing Data in a Cell Array
- Extracting Data from a Cell Array
- Organizing Data in a Structure
- Extracting Data from a Structure
- Review - Structuring Data
- Extracting Multiple Elements from Cell and Structure Arrays
- Function Handles
- Applying Scalar Functions to Arrays
- Converting Data Types
- Measuring Performance
- Finding Bottlenecks
- Vectorization
- Memory Usage
- Preallocation
- Improving Memory Usage in Functions
- Review - Optimizing Your Code
- Creating Flexible Function Interfaces
- Creating Multiple Interfaces with Wrapper Functions
- Converting Input Types
- Querying Function Inputs
- Setting Default Input Values
- Allowing Any Number of Inputs
- Matching Text Inputs to an Allowed Set
- Allowing a Variable Number of Outputs
- Changing the Function Interface with Anonymous Functions
- Review - Creating Flexible Functions
- Course Example - Structuring the Satellite Tracking Code
- Restricting Access Using Private Functions
- Writing Local Functions
- Generating Custom Warning and Errors
- Validating Function Inputs
- Catching and Handling Errors
- Review - Creating Robust Applications
- Why Use a Testing Framework
- What Is a Test
- Writing and Running a Test Script
- Avoiding Bugs in Comparisons
- Writing Test Functions
- Verifying Behavior
- Passing Commands as Inputs
- Adding Pre- and Post-Test Tasks
- Repairing Satellite Tracking Code
- Errors and Debugging
- Code Analyzer
- Debugging Run-Time Errors
- Organizing Satellite Tracking Code
- Running Folder Reports
- Organizing Code with MATLAB Projects
- Managing a Code Base with Source Control
- Review - Organizing Your Projects
- Additional Resources
- Survey
Taught by
Matt Tearle