Using Simulink    

Getting Started

To the Reader

What Is Simulink?

How to Use This Manual

Related Products

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

Setting Simulink Preferences

Simulink Preferences

How Simulink Works

What Is Simulink

Modeling Dynamic Systems

Block Diagrams

Blocks

States

System Functions

Block Parameters

Continuous Versus Discrete Blocks

Subsystems

Custom Blocks

Signals

Data Types

Solvers

Simulating Dynamic Systems

Model Initialization Phase

Model Execution Phase

Processing at Each Time Step

Determining Block Update Order

Atomic Versus Virtual Subsystems

Solvers

Zero Crossing Detection

Algebraic Loops

Modeling and Simulating Discrete Systems

Discrete Blocks

Sample Time

Purely Discrete Systems

Multirate Systems

Determining Step Size for Discrete Systems

Sample Time Propagation

Invariant Constants

Mixed Continuous and Discrete Systems

Creating a Model

Starting Simulink

Creating a New Model

Editing an Existing Model

Entering Simulink Commands

Simulink Windows

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

Copying Blocks in a Model

Block Parameters

Setting Block-Specific 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

Assigning Block Priorities

Displaying Block Execution Order

Using Drop Shadows

Sample Time Colors

Connecting Blocks

Drawing a Line Between Blocks

Drawing a Branch Line

Drawing a Line Segment

Moving a Line Segment

Dividing a Line into Segments

Moving a Line Vertex

Inserting Blocks in a Line

Working with Signals

About Signals

Signal Buses

Signal Glossary

Determining Output Signal Dimensions

Signal and Parameter Dimension Rules

Scalar Expansion of Inputs and Parameters

Working with Complex Signals

Checking Signal Connections

Setting Signal Display Options

Signal Names

Signal Labels

Displaying Signals Represented by Virtual Signals

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 Data Objects

Data Object Classes

Creating Data Objects

Accessing Data Object Properties

Invoking Data Object Methods

Saving and Loading Data Objects

Using Data Objects in Simulink Models

Creating Data Object Classes

The Simulink Data Explorer

Summary of Mouse and Keyboard Actions

Creating Subsystems

Creating a Subsystem by Adding the Subsystem Block

Creating a Subsystem by Grouping Existing Blocks

Model Navigation Commands

Window Reuse

Labeling Subsystem Ports

Controlling Access to Subsystems

Using Callback Routines

Tracing Callbacks

Model Callback Parameters

Block Callback Parameters

Tips for Building Models

Libraries

Terminology

Creating a Library

Modifying a Library

Creating a Library Link

Disabling Library Links

Modifying a Linked Subsystem

Propagating Link Modifications

Updating a Linked Block

Breaking a Link to a Library Block

Finding the Library Block for a Reference Block

Library Link Status

Displaying Library Links

Getting Information About Library Blocks

Browsing Block Libraries

Adding Libraries to the Library Browser

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

Searching and Browsing Models

Searching for Objects

The Model Browser

Managing 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 Pane

The Workspace I/O Pane

The Diagnostics Pane

The Advanced Pane

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

simplot

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

The Mask Editor: An Overview

The Initialization Pane

Prompts and Associated Variables

Control Types

Default Values for Masked Block Parameters

Tunable Parameters

Initialization Commands

The Icon Pane

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 Pane

The Mask Type Field

The Block Description Field

The Mask Help Text Field

Creating Self-Modifying Masked Blocks

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

Bitwise Logical Operator

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

Direct Look-Up Table (n-D)

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

Interpolation (n-D) Using PreLook-Up

Logical Operator

Look-Up Table

Look-Up Table (2-D)

Look-Up Table (n-D)

Magnitude-Angle to Complex

Manual Switch

Math Function

MATLAB Fcn

Matrix Concatenation

Matrix Gain

Memory

Merge

MinMax

Model Info

Multiport Switch

Mux

Outport

Polynomial

Prelook-Up Index Search

Product

Probe

Pulse Generator

Quantizer

Ramp

Random Number

Rate Limiter

Real-Imag to Complex

Relational Operator

Relay

Repeating Sequence

Reshape

Rounding Function

Saturation

Scope

Selector

S-Function

Sign

Signal Generator

Signal Specification

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

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

Starting the Debugger

Starting the Simulation

Using the Debugger's Command-Line Interface

About Block Indexes

Accessing the MATLAB Workspace

Getting Online Help

Running a Simulation

Continuing a Simulation

Running a Simulation Nonstop

Advancing to the Next Block

Advancing to the Next Time Step

Setting Breakpoints

Setting Breakpoints at Blocks

Setting Breakpoints 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

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

Performance Tools

About the Simulink Performance Tools Option

The Simulink Accelerator

How Does It Work?

How to Run the Simulink Accelerator

Handling Changes in Model Structure

Increasing Performance of Accelerator Mode

Blocks That Do Not Show Speed Improvements

Using the Simulink Accelerator with the Simulink Debugger

Interacting with the Simulink Accelerator Programmatically

Comparing Performance

Customizing the Simulink Accelerator Build Process

Controlling S-Function Execution

Model Differencing Tool

Display Options

Model Differences Report

Profiler

How the Profiler Works

Enabling the Profiler

The Simulation Profile

Model Coverage Tool

How the Model Coverage Tool Works

Using the Model Coverage Tool

Creating and Running Test Cases

The Coverage Report

Coverage Settings Dialog Box

Model Coverage Commands

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


  Getting Started