# MATLAB Fundamentals

### Prerequisites

Familiarity with undergraduate-level mathematics and experience with basic computer operations.

### Detailed course outline

Day 1 of 3
Working with the MATLAB User Interface

Objective: Become familiar with the main features of the MATLAB integrated design environment and its user interfaces. Get an overview of course themes.

• Plotting data
• Customizing plots
• Calculating statistics and best-fit line
• Exporting graphics for use in other applications
Variables and Expressions

Objective: Enter MATLAB commands, with an emphasis on creating and accessing data in 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 visualizations. Use MATLAB syntax to perform calculations on whole data sets with a single command.

• Performing calculations with vectors
• Plotting vectors
• Changing basic plot options
• Annotating plots
Analysis and Visualization with Matrices

Objective: Use 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
Day 2 of 3
Automating Commands with Scripts

Objective: Collect MATLAB commands into scripts for ease of reproduction and experimentation. Divide scripts into logical sections for development, maintenance, and publishing.

• The Command History
• Creating script files
• Running scripts
• Code sections
• Publishing scripts
Working with Data Files

Objective: Bring data into MATLAB from formatted files.

• Importing from fixed-structure files
• Importing from spreadsheets and delimited text files
• Low-level file I/O
Tables of Data

Objective: Import data as a MATLAB table. Work with data stored as a table.

• Storing data as a table
• Operating on tables
• Extracting data from tables
• Modifying tables
Working with Text and Dates

Objective: Access and manipulate text and date information using cell arrays.

• Working with cell arrays
• Converting between numbers and text
• Working with dates in MATLAB
• Plotting with dates
Conditional Data Selection

Objective: Extract and analyze subsets of data that satisfy given criteria.

• Logical operations and variables
• Finding and counting
• Logical indexing
• Working with categories
Multiple Vector Plots

Objective: Make more complex vector plots, such as multiple plots, and use color and string manipulation techniques to produce eye-catching visual representations of data.

• Understanding the graphics structure
• Creating multiple figures, axes, and plots
• Plotting functions
• Using color
• Customizing plots
Flow Control

Objective: Create flexible code that can interact with the user, make decisions, and adapt to different situations.

• Programming constructs
• User interaction
• Flow control
• Loops
Day 3 of 3
Matrix and Image Visualization

Objective: Visualize images and matrix data in two or three dimensions. Explore the difference in displaying images and visualizing matrix data using images.

• Vector and matrix data
• 3D matrix visualization
• 2D matrix visualization
• Indexed images and colormaps
• True-color images
Data Analysis

Objective: Perform typical data analysis tasks in MATLAB, including developing and fitting theoretical models to real-life data. Solve linear systems of equations with a single command.

• Dealing with missing data
• Correlation
• Smoothing
• Spectral analysis and FFTs
• Regression models
• Solving linear systems of equations
Writing Functions

Objective: Increase automation by encapsulating modular tasks as user-defined functions. Understand how MATLAB resolves references to files and variables.

• Creating functions
• Calling functions
• Workspaces
• Path and precedence
Troubleshooting Code and Improving Performance

Objective: Explore MATLAB tools for debugging and measuring code performance.

• Debugging with the MATLAB Editor
• Using breakpoints
• Measuring and improving code performance
Programming with Functions

Objective: Organize functions and data to create well-structured applications.

• Structures
• Local functions
• Function handles