xviii Contents
Strings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-27
Creating Strings with Concatenation . . . . . . . . . . . . . . . . . . . 11-27
Comparing Methods of Concatenation . . . . . . . . . . . . . . . . . . 11-27
Store Arrays of Strings in a Cell Array . . . . . . . . . . . . . . . . . 11-28
Converting Between Strings and Cell Arrays . . . . . . . . . . . . 11-28
Search and Replace Using Regular Expressions . . . . . . . . . . 11-29
Evaluating Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-30
Find Alternatives to Using eval . . . . . . . . . . . . . . . . . . . . . . . 11-30
Assigning to a Series of Variables . . . . . . . . . . . . . . . . . . . . . . 11-30
Short-Circuit Logical Operators . . . . . . . . . . . . . . . . . . . . . . . 11-31
Changing the Counter Variable within a for Loop . . . . . . . . . 11-31
MATLAB Path . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-32
Precedence Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-32
File Precedence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-33
Adding a Directory to the Search Path . . . . . . . . . . . . . . . . . . 11-33
Handles to Functions Not on the Path . . . . . . . . . . . . . . . . . . 11-33
Making Toolbox File Changes Visible to MATLAB . . . . . . . . 11-34
Making Nontoolbox File Changes Visible to MATLAB . . . . . 11-35
Change Notification on Windows . . . . . . . . . . . . . . . . . . . . . . 11-35
Program Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-36
Using break, continue, and return . . . . . . . . . . . . . . . . . . . . . 11-36
Using switch Versus if . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-37
MATLAB case Evaluates Strings . . . . . . . . . . . . . . . . . . . . . . 11-37
Multiple Conditions in a case Statement . . . . . . . . . . . . . . . . 11-37
Implicit Break in switch-case . . . . . . . . . . . . . . . . . . . . . . . . . 11-38
Variable Scope in a switch . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-38
Catching Errors with try-catch . . . . . . . . . . . . . . . . . . . . . . . . 11-38
Nested try-catch Blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-39
Forcing an Early Return from a Function . . . . . . . . . . . . . . . 11-39
Save and Load . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-40
Saving Data from the Workspace . . . . . . . . . . . . . . . . . . . . . . 11-40
Loading Data into the Workspace . . . . . . . . . . . . . . . . . . . . . . 11-40
Viewing Variables in a MAT-File . . . . . . . . . . . . . . . . . . . . . . 11-41
Appending to a MAT-File . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-41
Save and Load on Startup or Quit . . . . . . . . . . . . . . . . . . . . . 11-42
Saving to an ASCII File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-42