To the Reader
What Is Simulink?
How to Use This Manual
Application Toolboxes
The Simulink Real-Time Workshop
Key Features
The Real-Time Workshop Ada Extension
Key Features
Blocksets
The DSP Blockset
The Fixed-Point Blockset
The Nonlinear Control Design Blockset
The Power System Blockset
Quick Start
Running a Demo Model
Description of the Demo
Some Things to Try
What This Demo Illustrates
Other Useful Demos
Building a Simple Model
Creating a Model
Starting Simulink
Creating a New Model
Editing an Existing Model
Entering Simulink Commands
Simulink Windows
Zooming Block Diagrams
Selecting Objects
Selecting One Object
Selecting More than One Object
Blocks
Block Data Tips
Virtual Blocks
Copying and Moving Blocks from One Window to Another
Moving Blocks in a Model
Duplicating Blocks in a Model
Specifying Block Parameters
Block Properties Dialog Box
Deleting Blocks
Changing the Orientation of Blocks
Resizing Blocks
Manipulating Block Names
Displaying Parameters Beneath a Block's Icon
Disconnecting Blocks
Vector Input and Output
Scalar Expansion of Inputs and Parameters
Assigning Block Priorities
Using Drop Shadows
Libraries
Terminology
Creating a Library
Modifying a Library
Copying a Library Block into a Model
Updating a Linked Block
Breaking a Link to a Library Block
Finding the Library Block for a Reference Block
Getting Information About Library Blocks
Browsing Block Libraries
Lines
Drawing a Line Between Blocks
Drawing a Branch Line
Drawing a Line Segment
Displaying Line Widths
Inserting Blocks in a Line
Signal Labels
Setting Signal Properties
Signal Properties Dialog Box
Annotations
Working with Data Types
Data Types Supported by Simulink
Block Support for Data and Numeric Signal Types
Specifying Block Parameter Data Types
Creating Signals of a Specific Data Type
Displaying Port Data Types
Data Type Propagation
Data Typing Rules
Enabling Strict Boolean Type Checking
Typecasting Signals
Typecasting Parameters
Working with Complex Signals
Summary of Mouse and Keyboard Actions
Creating Subsystems
Creating a Subsystem by Adding the Subsystem Block
Creating a Subsystem by Grouping Existing Blocks
Labeling Subsystem Ports
Using Callback Routines
Tips for Building Models
Modeling Equations
Converting Celsius to Fahrenheit
Modeling a Simple Continuous System
Saving a Model
Printing a Block Diagram
Print Dialog Box
Print Command
Specifying Paper Size and Orientation
Positioning and Sizing a Diagram
The Model Browser
Using the Model Browser on Windows
Using the Model Browser on UNIX
Tracking Model Versions
Specifying the Current User
Model Properties Dialog
Creating a Model Change History
Version Control Properties
Ending a Simulink Session
Running a Simulation
Introduction
Using Menu Commands
Running a Simulation from the Command Line
Running a Simulation Using Menu Commands
Setting Simulation Parameters and Choosing the Solver
Applying the Simulation Parameters
Starting the Simulation
Simulation Diagnostics Dialog Box
The Simulation Parameters Dialog Box
The Solver Page
The Workspace I/O Page
The Diagnostics Page
Improving Simulation Performance and Accuracy
Speeding Up the Simulation
Improving Simulation Accuracy
Running a Simulation from the Command Line
Using the sim Command
Using the set_param Command
sim
simset
simget
Analyzing Simulation Results
Viewing Output Trajectories
Using the Scope Block
Using Return Variables
Using the To Workspace Block
Linearization
Equilibrium Point Determination
linfun
trim
Using Masks to Customize Blocks
Introduction
A Sample Masked Subsystem
Creating Mask Dialog Box Prompts
Creating the Block Description and Help Text
Creating the Block Icon
Summary
The Mask Editor: An Overview
The Initialization Page
Prompts and Associated Variables
Control Types
Default Values for Masked Block Parameters
Tunable Parameters
Initialization Commands
The Icon Page
Displaying Text on the Block Icon
Displaying Graphics on the Block Icon
Displaying Images on Masks
Displaying a Transfer Function on the Block Icon
Controlling Icon Properties
The Documentation Page
The Mask Type Field
The Block Description Field
The Mask Help Text Field
Creating Dynamic Dialogs for Masked Blocks
Setting Masked Block Dialog Parameters
Predefined Masked Dialog Parameters
Conditionally Executed Subsystems
Introduction
Enabled Subsystems
Creating an Enabled Subsystem
Blocks an Enabled Subsystem Can Contain
Triggered Subsystems
Creating a Triggered Subsystem
Function-Call Subsystems
Blocks That a Triggered Subsystem Can Contain
Triggered and Enabled Subsystems
Creating a Triggered and Enabled Subsystem
A Sample Triggered and Enabled Subsystem
Creating Alternately Executing Subsystems
Block Reference
What Each Block Reference Page Contains
Simulink Block Libraries
Abs
Algebraic Constraint
Backlash
Band-Limited White Noise
Bus Selector
Chirp Signal
Clock
Combinatorial Logic
Complex to Magnitude-Angle
Complex to Real-Imag
Configurable Subsystem
Constant
Coulomb and Viscous Friction
Data Store Memory
Data Store Read
Data Store Write
Data Type Conversion
Dead Zone
Demux
Derivative
Digital Clock
Discrete Filter
Discrete Pulse Generator
Discrete State-Space
Discrete-Time Integrator
Discrete Transfer Fcn
Discrete Zero-Pole
Display
Dot Product
Enable
Fcn
First-Order Hold
From
From File
From Workspace
Function-Call Generator
Gain
Goto
Goto Tag Visibility
Ground
Hit Crossing
IC
Inport
Integrator
Logical Operator
Look-Up Table
Look-Up Table (2-D)
Magnitude-Angle to Complex
Manual Switch
Math Function
MATLAB Fcn
Matrix Gain
Memory
Merge
MinMax
Model Info
Multiport Switch
Mux
Outport
Product
Probe
Pulse Generator
Quantizer
Ramp
Random Number
Rate Limiter
Real-Imag to Complex
Relational Operator
Relay
Repeating Sequence
Rounding Function
Saturation
Scope
Selector
S-Function
Sign
Signal Generator
Sine Wave
Slider Gain
State-Space
Step
Stop Simulation
Subsystem
Sum
Switch
Terminator
To File
To Workspace
Transfer Fcn
Transport Delay
Trigger
Trigonometric Function
Uniform Random Number
Unit Delay
Variable Transport Delay
Width
XY Graph
Zero-Order Hold
Zero-Pole
Additional Topics
How Simulink Works
Zero Crossings
Algebraic Loops
Invariant Constants
Discrete-Time Systems
Discrete Blocks
Sample Time
Purely Discrete Systems
Multirate Systems
Sample Time Colors
Mixed Continuous and Discrete Systems
Model Construction Commands
Introduction
How to Specify Parameters for the Commands
How to Specify a Path for a Simulink Object
add_block
add_line
bdclose
bdroot
close_system
delete_block
delete_line
find_system
gcb
gcbh
gcs
get_param
new_system
open_system
replace_block
save_system
set_param
simulink
Simulink Debugger
Introduction
Using the Debugger
Starting the Debugger
Getting Help
Entering Commands
About Block Indexes
Accessing the MATLAB Workspace
Running a Simulation Incrementally
Stepping by Blocks
Stepping by Time Steps
Stepping by Breakpoints
Running a Simulation Nonstop
Setting Breakpoints
Breaking at Blocks
Breaking at Time Steps
Breaking on Nonfinite Values
Breaking on Step-Size Limiting Steps
Breaking at Zero-Crossings
Displaying Information About the Simulation
Displaying Block I/O
Displaying Algebraic Loop Information
Displaying System States
Displaying Integration Information
Displaying Information About the Model
Displaying a Model's Block Execution Order
Displaying a Block
Displaying a Model's Nonvirtual Systems
Displaying a Model's Nonvirtual Blocks
Displaying Blocks with Potential Zero-Crossings
Displaying Algebraic Loops
Displaying Debug Settings
Debugger Command Reference
ashow
atrace
bafter
break
bshow
clear
continue
disp
help
ishow
minor
nanbreak
next
probe
quit
run
slist
states
systems
status
step
stop
tbreak
trace
undisp
untrace
xbreak
zcbreak
zclist
Model and Block Parameters
Introduction
Model Parameters
Common Block Parameters
Block-Specific Parameters
Mask Parameters
Model File Format
Model File Contents
Model Section
BlockDefaults Section
AnnotationDefaults Section
System Section
A Sample Model File