Using Simulink Previous page   Next Page

Getting Started

What Is Simulink?

Tool for Simulation

Tool for Model-Based Design

Related Products

Running a Demo Model

Description of the Demo

Some Things to Try

What This Demo Illustrates

Other Useful Demos

Building a Model

Setting Simulink Preferences

Miscellaneous Preferences

Font Preferences

Simulation Preferences

How Simulink Works

Introduction

Modeling Dynamic Systems

Block Diagram Semantics

Creating Models

Time

States

Block Parameters

Tunable Parameters

Block Sample Times

Custom Blocks

Systems and Subsystems

Signals

Block Methods

Model Methods

Simulating Dynamic Systems

Model Compilation

Link Phase

Simulation Loop Phase

Solvers

Zero-Crossing Detection

Algebraic Loops

Modeling and Simulating Discrete Systems

Specifying Sample Time

Purely Discrete Systems

Multirate Systems

Determining Step Size for Discrete Systems

Sample Time Propagation

Constant Sample Time

Mixed Continuous and Discrete Systems

Simulink Basics

Starting Simulink

Opening Models

Opening Models with Different Character Encodings

Avoiding Initial Model Open Delay

Simulink Editor

Editor Components

Undoing a Command

Zooming Block Diagrams

Panning Block Diagrams

Saving a Model

Saving Models with Different Character Encodings

Saving a Model in Earlier Formats

Printing a Block Diagram

Print Dialog Box

Print Command

Specifying Paper Size and Orientation

Positioning and Sizing a Diagram

Generating a Model Report

Model Report Options

Summary of Mouse and Keyboard Actions

Manipulating Blocks

Manipulating Lines

Manipulating Signal Labels

Manipulating Annotations

Ending a Simulink Session

Creating a Model

Creating a New Model

Selecting Objects

Selecting One Object

Selecting More Than One Object

Specifying Block Diagram Colors

Choosing a Custom Color

Defining a Custom Color

Specifying Colors Programmatically

Displaying Sample Time Colors

Connecting Blocks

Automatically Connecting Blocks

Manually Connecting Blocks

Disconnecting Blocks

Annotating Diagrams

Using TeX Formatting Commands in Annotations

Creating Annotations Programmatically

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

Creating Conditionally Executed Subsystems

Enabled Subsystems

Triggered Subsystems

Triggered and Enabled Subsystems

Conditional Execution Behavior

Referencing Models

Model Referencing Versus Subsystems

Creating a Model Reference

Opening a Referenced Model

Parameterizing Model References

Using Model Arguments

Model Block Sample Times

Referenced Model I/O

Model Interfaces

Building Simulation Targets

Converting Subsystems to Model References

Modeling with Control Flow Blocks

Creating Conditional Control Flow Statements

Comparing Stateflow and Control Flow Statements

Using Callback Functions

Tracing Callbacks

Creating Model Callback Functions

Creating Block Callback Functions

Port Callback Parameters

Working with Model Workspaces

Changing Model Workspace Data

Model Workspace Dialog Box

Working with Data Stores

Defining Data Stores

Accessing Data Stores

Data Store Examples

The Model Advisor

Launching the Model Advisor

The Model Advisor Window

Checking Code-Generation Targets

Model Advisor Demo Models

Managing Model Versions

Specifying the Current User

Model Properties Dialog Box

Creating a Model Change History

Version Control Properties

Model Discretizer

Requirements

Discretizing a Model from the Model Discretizer GUI

Viewing the Discretized Model

Discretizing Blocks from the Simulink Model

Discretizing a Model from the MATLAB Command Window

Working with Blocks

About Blocks

Block Data Tips

Virtual Blocks

Editing Blocks

Copying and Moving Blocks from One Window to Another

Moving Blocks in a Model

Copying Blocks in a Model

Deleting Blocks

Working with Block Parameters

Working with Tunable Parameters

Inlining Parameters

Block Properties Dialog Box

State Properties Dialog Box

Changing a Block's Appearance

Changing the Orientation of a Block

Resizing a Block

Displaying Parameters Beneath a Block

Using Drop Shadows

Manipulating Block Names

Specifying a Block's Color

Displaying Block Outputs

Enabling Port Values Display

Port Values Display Options

Controlling and Displaying the Sorted Order

How Simulink Determines the Sorted Order

Displaying the Sorted Order

Assigning Block Priorities

Lookup Table Editor

Browsing LUT Blocks

Editing Table Values

Displaying N-D Tables

Plotting LUT Tables

Editing Custom LUT Blocks

Working with Block Libraries

Terminology

Simulink Block Library

Creating a Library

Modifying a Library

Creating a Library Link

Disabling Library Links

Modifying a Linked Subsystem

Propagating Link Modifications

Updating a Linked Block

Updating Links to Reflect Block Path Changes

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

Accessing Block Data During Simulation

About Block Runtime Objects

Accessing a Runtime Object

Listening for Method Execution Events

Working with Signals

Signal Basics

About Signals

Creating Signals

Signal Labels

Displaying Signal Values

Signal Data Types

Signal Dimensions

Complex Signals

Virtual Signals

Control Signals

Signal Buses

Checking Signal Connections

Signal Glossary

Determining Output Signal Dimensions

Signal and Parameter Dimension Rules

Scalar Expansion of Inputs and Parameters

The Signal & Scope Manager

Generator and Viewer Types

Generator and Viewer Objects

Signals connected to Generator/Viewer

The Signal Selector

Port/Axis Selector

Model Hierarchy

Inputs/Signals List

Logging Signals

Enabling Signal Logging

Specifying a Logging Name

Limiting the Data Logged for a Signal

Logging Referenced Model Signals

Accessing Logged Signal Data

Signal Properties Dialog Box

Logging and Accessibility Options

Real-Time Workshop Options

Documentation Options

Working with Test Points

Designating a Signal as a Test Point

Displaying Test Point Indicators

Displaying Signal Properties

Signal Names

Signal Labels

Displaying Signals Represented by Virtual Signals

Working with Signal Groups

Creating a Signal Group Set

The Signal Builder Dialog Box

Editing Signal Groups

Editing Signals

Editing Waveforms

Signal Builder Time Range

Exporting Signal Group Data

Simulating with Signal Groups

Simulation Options Dialog Box

Bus Editor

Bus types in base workspace

Bus elements

Bus name

Header file

Bus description

Working with Data

Working with Data Types

Data Types Supported by Simulink

Fixed-Point Data

Fixed-Point Settings Interface

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

About Data Object Classes

About Data Object Methods

Constructors

Using the Model Explorer to Create Data Objects

About Object Properties

Changing Object Properties

Handle Versus Value Classes

Saving and Loading Data Objects

Using Data Objects in Simulink Models

Creating Persistent Data Objects

Subclassing Simulink Data Classes

Associating User Data with Blocks

Modeling with Simulink

Modeling Equations

Converting Celsius to Fahrenheit

Modeling a Continuous System

Avoiding Invalid Loops

Tips for Building Models

Exploring, Searching, and Browsing Models

The Model Explorer

Setting the Model Explorer's Font Size

Model Hierarchy Pane

Contents Pane

Dialog Pane

Main Toolbar

Search Bar

The Finder

Filter Options

Search Criteria

The Model Browser

Running Simulations

Simulation Basics

Controlling Execution of a Simulation

Interacting with a Running Simulation

Specifying a Simulation Start and Stop Time

Choosing a Solver

Choosing a Solver Type

Choosing a Fixed-Step Solver

Choosing a Variable-Step Solver

Importing and Exporting Simulation Data

Importing Input Data from the MATLAB Workspace

Exporting Output Data to the MATLAB Workspace

Importing and Exporting States

Limiting Output

Specifying Output Options

Configuration Sets

Configuration Set Components

The Active Set

Displaying Configuration Sets

Activating a Configuration Set

Copying, Deleting, and Moving Configuration Sets

Copying Configuration Set Components

Creating Configuration Sets

Setting Values in Configuration Sets

Configuration Set API

The Model Configuration Dialog Box

The Model Configuration Preferences Dialog Box

The Configuration Parameters Dialog Box

The Solver Pane

Data Import/Export Pane

The Optimization Pane

The Diagnostics Pane

Hardware Implementation Pane

Model Referencing Pane

Diagnosing Simulation Errors

Simulation Diagnostics Viewer

Creating Custom Simulation Error Messages

Improving Simulation Performance and Accuracy

Speeding Up the Simulation

Improving Simulation Accuracy

Running a Simulation Programmatically

Using the sim Command

Using the set_param Command

Analyzing Simulation Results

Viewing Output Trajectories

Using the Scope Block

Using Return Variables

Using the To Workspace Block

Linearizing Models

Finding Steady-State Points

Creating Masked Subsystems

About Masks

Mask Features

Creating Masks

Masked Subsystem Example

Creating Mask Dialog Box Prompts

Creating the Block Description and Help Text

Creating the Block Icon

Masking a Subsystem

The Mask Editor

The Icon Pane

The Parameters Pane

Control Types

The Initialization Pane

The Documentation Pane

Linking Mask Parameters to Block Parameters

Creating Dynamic Dialogs for Masked Blocks

Setting Masked Block Dialog Parameters

Predefined Masked Dialog Parameters

Simulink Debugger

Introduction

Using the Debugger's Graphical User Interface

Toolbar

Breakpoints Pane

Simulation Loop Pane

Outputs Pane

Sorted List Pane

Status Pane

Using the Debugger's Command-Line Interface

Method ID

Block ID

Accessing the MATLAB Workspace

Getting Online Help

Starting the Debugger

Starting a Simulation

Running a Simulation Step by Step

Stepping Commands

Continuing a Simulation

Running a Simulation Nonstop

Debug Pointer

Setting Breakpoints

Setting Unconditional Breakpoints

Setting Conditional Breakpoints

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 Sorted Lists

Displaying a Block

Simulink Accelerator

The Simulink Accelerator

Accelerator Limitations

How the Accelerator Works

Running 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

Profiler

How the Profiler Works

Enabling the Profiler

The Simulation Profile

Using the Embedded MATLAB Function Block

Introduction to Embedded MATLAB Function Blocks

What Is an Embedded MATLAB Function Block?

Why Use Embedded MATLAB Function Blocks?

Creating an Example Embedded MATLAB Function

Adding an Embedded MATLAB Function Block to a Model

Programming the Embedded MATLAB Function

Checking the Function for Errors

Defining Inputs and Outputs

Debugging an Embedded MATLAB Function

Debugging the Function in Simulation

Watching Function Variables During Simulation

The Embedded MATLAB Function Editor

Changing the Embedded MATLAB Editor

Editing the Embedded MATLAB Function

Defining Embedded MATLAB Function Arguments

Debugging Embedded MATLAB Functions

Typing Function Arguments

Inheriting Argument Data Types

Selecting Types for Arguments

Specifying Argument Types with Expressions

Sizing Function Arguments

Inheriting Argument Sizes from Simulink

Specifying Argument Sizes with Expressions

Parameter Arguments in Embedded MATLAB Functions

Local Variables in Embedded MATLAB Functions

Declaring Local Variables Implicitly

Declaring Local Complex Variables Implicitly

Functions in Embedded MATLAB Functions

Calling Subfunctions in Embedded MATLAB Functions

Calling Embedded MATLAB Run-Time Library Functions

Calling MATLAB Functions


Previous page  Simulink Getting Started Next page

© 1994-2005 The MathWorks, Inc.