UCLA Extension

Engineering Analysis Using Matlab

An 18-Hour Short Course

Course Materials

Each participant receives extensive course notes, including copies of viewgraphs; the text, Mastering Matlab 7 (Hanselman and Littlefield, Prentice Hall); and the student version of Matlab. The notes are for participants only and are not for sale.

Coordinators and Lecturers

Richard Y. Chiang, PhD, Technical Fellow, Systems Engineering, Boeing Satellite Systems, El Segundo, California. Dr. Chiang is a recognized expert in robust control design and system identification with more than 20 years of experience. While at Boeing, he has successfully designed attitude control laws for 10 programs and analyzed control systems stability and robustness for 14 programs. In addition, he identified the thermal snap disturbance in orbit, helping to save the ANIK F2 program for the customer, and developed innovative in-flight systems identification and robustness analysis techniques to support the ACS design concept on two NSP programs. Prior to joining Boeing, he designed more than 15 aerospace control systems, including NASA Cassini, NASA/TRW Large Space Structures, F-18, F-15, F-16 Flight Control, and high-precision laser pointing servos. Dr. Chiang has been recognized for his accomplishments with many awards, including the NASA Outstanding Achievement Award (1994 and 1995). He is the author of the Matlab Robust Control Toolbox software and more than 40 technical papers. He also holds one patent on Spaceway Beacon Assisted Control and has seven patents pending. He has taught control courses at the University of Southern California and presented many seminars at industrial and government locations.

Stephen J. Koffman, PhD, Senior Controls Engineer, Boeing Satellite Systems, El Segundo, California. Dr. Koffman’s expertise is in the areas of control systems (classical, modern, digital, etc.) and microprocessors, digital design, and discrete-time signal processing. While at Boeing he has worked on Initialization-to-Normal Mode stability analysis, controller redesign, normal mode disturbance torque estimator and controller redesign, ACS subsystem design, and CMIS phase-locked spin control loop analysis. Dr. Koffman also has been responsible for maintaining the department’s scripts/utilities for Matlab and Simulink, and served as architect of Simulink simulation for two NSP programs. He is the main author of BSS Simulink Coding Standards, an invited member of the Mathworks Aerospace Leadership Council, and wrote the signal naming convention and specification for real-time workshop inclusion of named signals in auto-generated code. Dr. Koffman is a member of Phi Beta Kappa and Tau Beta Pi, and is the author of many publications.


Peter Sedivec, MS, Boeing Satellite Systems, El Segundo, California. Mr. Sedivec joined the ACS Department in August 2003. He currently supports the CMIS program working as an analyst on the Scan Control and Data Handling (SCDH) subsystem. He developed the Matlab/Simulink pure simulation for the subsystem; has worked on ADD development; and several pointing, momentum, and disturbance analysis tasks. Mr. Sedivec also has made contributions to the Superbird 6 and Measat 3 programs, working on the reflector and solar wing deployment analysis efforts. He has been a dynamics trainee in support of the Superbird 6, ANIK F2, and Spaceway missions. Prior to joining Boeing, Mr. Sedivec was a graduate student at UC Berkeley in mechanical engineering with an emphasis on controls. His research was focused on robust optimization for the design of MEMS structures. As a teaching assistant, he taught a Dynamic Systems and Feedback course.

Wes Wang, PhD, Independent Consultant to Boeing Satellite Systems, El Segundo, California. Dr. Wang is an expert in communications system architecture, design, analysis and manufacture, satellite systems, and terrestrial systems. He currently works in the areas of stellar inertial attitude determination and mixed software integration test for flight system software. Prior to serving as a consultant to BSS, he worked at the Mathworks in the areas of numerical computation, control theory, and communications theory and applications. He authored the Communications Toolbox software and SystemBuild to Simulink Converter software. He holds four patents and has several others pending.

Course Program

Matlab Basics (Koffman)


Basic Matlab Commands

  • Help, bsshelp, lookfor, helpwin (contains links to PDF files), doc, helpview, docview
    — Matlab demos
  • Command syntax, scripts, and functions
  • Viewing variables
    — “workspace” command
    — use variable name
    — disp, printf
  • Whos, whos global, which -all, dir, cd, path (addpath), path(pathdef) (reset to original)
  • Clear, clear all, clear functions, close all
  • Tic/toc
  • Saving data
    — Diary
    — Save/load
  • Plotting data
    — Basic plotting commands

Matlab Language (Sedivec)

  • For, if, switch, etc.
  • Indexing
    — Linear

Matrices are Stored in Column Major Order

  • Particularly important for matrices handled in s-functions
    — mxn references
    — Logical expressions, ex. avg(x(x>10))
    — “find” command
  • For loop vs. vectorized processing
  • Scripts vs. functions

Advanced Data Types; File I/O and Formats (Chiang)

Advanced Matlab Data Types and Operations

  • Doubles, strings, cell arrays, structs
    — Uses of cell arrays (varargin, sorted string lists, “property/value” pairs, etc.)
  • Sparse matrices
  • String manipulations
    — Ex: ind=strfind(var,’_’); ind=ind(end); var=var(ind+1:end);
    — Strrep(var,’_’,’_/’) to remove subscripting for plot labels
    — Num2str
  • Logical and Set operations
    — Strcmp(cell_array,pattern), setdiff, unique, sort, union, intersect, setxor, ismember

File I/O and Formats

  • Fgetl, fscanf (sscanf), textread, fprintf

M-File Functions (Koffman)


  • Inclusion of help comments
  • Varargin/varargout
  • Scope of variables
    — Persistent/global/automatic
  • return
  • eval, evalin
  • assignin
  • Miscellaneous: eps, NaN, Inf, isnan, etc.
  • Keyboard statement

Debugging Functions

  • Dbstop if error, dbup, dbquit, return, etc.
  • Error handling with try/catch

R14 Capabilities

  • Nested functions
  • Cell execution
  • M-Lint
  • Lite report generator

Advanced Plotting (Sedivec)

Specialized 2D Plots

3D Plotting

Plotting Scripts

R14 Plotting Capabilities and Templates

Handle Graphics (Wang)


  • Handle graphics
    — Set/get
    — Retrieving data from a figure example
    — Ginput (crude alternative to above)
  • Getappdata, setappdata, rmappdata, getpref, setpref
  • Guide

For more information contact the Short Course Program Office:
shortcourses@uclaextension.edu | (310) 825-3344 | fax (310) 206-2815