MATLAB Techniques

Matlab Programming Review

The section is a review of the basic programming constructs presented in the Matlab Fundamentals tutorial.

Logical operations

If expression, statements, end evaluates an expression, and executes a group of statements when the expression is true. An expression is true when its result is nonempty and contains only nonzero elements (logical or real numeric). Otherwise, the expression is false.

The elseif and else blocks are optional. The statements execute only if previous expressions in the if…end block are false. An if block can include multiple elseif blocks.

This information is derived from the documentation linked below.


**[Documentation: if,elseif,else](https://www.mathworks.com/help/matlab/ref/if.html)**

Exercise: Logical Operations

Decision Branching



Exercise: Using if-elseif-else

The switch-case Construction

Exercise: Using switch-case

For Loops

Video: For Loops




Exercise: Looping Through a Vector

While Loops

To use a for loop, you need to know in advance how many iterations are required. If you want to execute a block of code repeatedly until a result is achieved, you can use a while-loop.

Slide: The while-Loop Construction



Exercise: Finding eps

Creating and Calling Functions


Slide: Creating and Calling Functions



Exercise: Create and Call a Function

Slide: Creating Functions Files

Calling Function Files



Exercise: Compare Using a Tolerance



Storing Heterogeneous Data

Matlab Data Types


Slide: MATLAB Data Types

Exercise: Creating Variables of a Specific Data Type

Table Basics


Documentation: Tables

Exercise: Create a Table from Workspace Variables

Extracting Data from a Table


Exercise: Extracting Data from a Table: Dot Notation

Exercise: Extracting Data from a Table: Curly Braces

Cell Array Basics


Documentation: Cell Arrays

Exercise: Creating and Concatenating Cell Arrays

Exercise: Cell Array Extraction

Structures


Documentation: Structures

Exercise: Create a Structure and Access Fields

Exercise: Create a Structure Array

Structuring Heterogeneous Data

Structuring Data Considerations


Slide: Structuring Data Considerations

Exercise: Cell Array

Exercise: Structure Array

Exercise Table

Extracting Multiple Elements from Cell and Structure arrays


Slide: Gathering Output

Exercise: Multiple Elements from a Cell Array

Exercise: Multiple Elements from a Structure Array

Function Handles


Using Function Handles

Exercise: Optimization

Applying Scalar Functions to Arrays





Video: Applying Scalar Functions to Arrays

Exercise: Applying Functions to Groups

Exercise: cellfun Basics

Converting Data Types


Slide: Converting Data Types

Exercise: Numeric to Cell Array

Exercise: Converting Strings

Managing Data Efficiently


Slide: Datatypes and Memory

Quiz 1

Quiz 2

Video: Preallocation

Slide: Preallocating Numeric, Cell, and Structure Arrays

Exercise: Preallocation Experiment

Vectorization


Copy-on-write with Function Parameters


Slide: Copy-on-write Behavior

In-place Optimizations


Slide: In-place Optimizations

Nested Functions


Slide: Nested Functions

Exercise: Create a Nested Functions

Creating Flexible functions


Video: Creating Flexible Function Interfaces

Creating Multiple Interfaces with Wrapper Functions


Slide: Separating the Interface from the Algorithm

Exercise: Create a Wrapper Function with a Fixed Interface

Setting Default Input Values


Slide: Setting Default Input Values

Missing Input Arguments


Slide: Missing Input Arguments

Slide: Empty Input Arguments

Exercise: Skipping the Input

Allowing Any Number of Inputs


Slide: Functions with a Variable Number of Inputs

Slide: Variable Length Input Argument List

Slide: Passing Argument Lists to Another Function

Allowing a Variable Number of outputs


Slide: Defining Different Behaviors Based on Outputs

Exercise: Matrix or Vector Output

Changing the Function Interface with Anonymous Functions


Slide: Modifying Function Interfaces

Slide: Wrapping Functions with Anonymous Functions

Exercise: Write and Use an Anonymous Function

Slide: Common Function Handle Uses

Exercise: Change Function Interface with an Anonymous Function

Creating Robust Applications

Restricting Access Using Private Functions


Slide: Making Functions Private

Writing Local Functions

Comparison of Functions


Exercise: Create Local Functions

Validating Function Inputs


Quiz

Verifying Application Behavior

Why Use a Testing Framework?


Video: Why Use a Testing Framework

What is a Test


Slide: Elements of a Test

“is” Functions


Exercise: isequal Versus ==

Test Response


Exercise: assert

Writing and Running a Test Script

Writing a Test Script


Exercise: Write a Test Script

Running a Test Script


Slide: Running a Test Script

Exercise: Run a Test Script

Exercise: Fix Broken Tests

Utilizing Development Tools

Developing and Maintaining Code

Folder Reports


Slide: Folder Reports

Errors and Debugging


Video: Different Kinds of Errors

Code Analyzer


Slide: Suppressing and Fixing Code Analyzer Warnings

Exercise: Remove Code Analyzer Warnings

Debugging Runtime Errors


Slide: Debugging Run-Time Errors

Measuring Performance


Slide: Tic and Toc

Finding Bottlenecks


Video: The MATLAB Profiler

Previous
RC Logo RC Logo © 2026 The Rector and Visitors of the University of Virginia