Getting Started

    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