53
Università degli Studi di Modena e Reggio Emilia A utomation R obotics and S ystem CONTROL Modeling and Simulation Course A summary on Matlab and Simulink Features A summary on Matlab and Simulink Features Cesare Fantuzzi University of Modena and Reggio Emilia 21/10/2011 1

000 Modeling and simulation Matlab - … to MATLAB and Simulink Contents Getting Started Vectors and Matrices Introduction MATLAB Built in functions Simulink Modeling examples SIMULINK

Embed Size (px)

Citation preview

Page 1: 000 Modeling and simulation Matlab - … to MATLAB and Simulink Contents Getting Started Vectors and Matrices Introduction MATLAB Built in functions Simulink Modeling examples SIMULINK

Università degli Studidi Modena e Reggio Emilia

AutomationRobotics andSystemCONTROL

Modeling and Simulation CourseA summary on Matlab and Simulink FeaturesA summary on Matlab and Simulink Features

Cesare FantuzziUniversity of Modena and Reggio Emilia

21/10/2011 1

Page 2: 000 Modeling and simulation Matlab - … to MATLAB and Simulink Contents Getting Started Vectors and Matrices Introduction MATLAB Built in functions Simulink Modeling examples SIMULINK

Course syllabus

Introduction: Elements of Matlab and Simulink Part 1: Theory of Modeling and Simulation. Part 2: Numerical simulation. Part 3: How develop simulation projects using Matlab

and Simulink.and Simulink. Part 4: Case studies.

21/10/2011 2

Page 3: 000 Modeling and simulation Matlab - … to MATLAB and Simulink Contents Getting Started Vectors and Matrices Introduction MATLAB Built in functions Simulink Modeling examples SIMULINK

Introduction to

MATLAB and Simulink

Contents

Getting Started

Vectors and Matrices

Introduction

MATLABBuilt in functions

Vectors and Matrices

Simulink

Modeling examples

MATLAB

SIMULINK

M–files : script and functions

Page 4: 000 Modeling and simulation Matlab - … to MATLAB and Simulink Contents Getting Started Vectors and Matrices Introduction MATLAB Built in functions Simulink Modeling examples SIMULINK

Introduction

MATLAB – MATrix LABoratory– Initially developed by a lecturer in 1970’s to help students learn

linear algebra.

– It was later marketed and further developed under MathWorksInc. (founded in 1984) – www.mathworks.com

– Matlab is a software package which can be used to perform – Matlab is a software package which can be used to perform analysis and solve mathematical and engineering problems.

– It has excellent programming features and graphics capability –easy to learn and flexible.

– Available in many operating systems – Windows, Macintosh, Unix, DOS

– It has several toolboxes to solve specific problems.

Page 5: 000 Modeling and simulation Matlab - … to MATLAB and Simulink Contents Getting Started Vectors and Matrices Introduction MATLAB Built in functions Simulink Modeling examples SIMULINK

Introduction

Simulink

– Used to model, analyze and simulate dynamic

systems using block diagrams.

– Fully integrated with MATLAB , easy and fast to

learn and flexible.learn and flexible.

– It has comprehensive block library which can be

used to simulate linear, non–linear or discrete

systems – excellent research tools.

– C codes can be generated from Simulink models for

embedded applications and rapid prototyping of

control systems.

Page 6: 000 Modeling and simulation Matlab - … to MATLAB and Simulink Contents Getting Started Vectors and Matrices Introduction MATLAB Built in functions Simulink Modeling examples SIMULINK

Getting Started

Run MATLAB from Start → Programs → MATLABDepending on version used, several windows appear

• For example in Release 13 (Ver 6), there are several windows –command history, command, workspace, etc

• For Matlab Student – only command window• For Matlab Student – only command window

Command window

• Main window – where commands are entered

Page 7: 000 Modeling and simulation Matlab - … to MATLAB and Simulink Contents Getting Started Vectors and Matrices Introduction MATLAB Built in functions Simulink Modeling examples SIMULINK

Example of MATLAB Release 13 desktop

Page 8: 000 Modeling and simulation Matlab - … to MATLAB and Simulink Contents Getting Started Vectors and Matrices Introduction MATLAB Built in functions Simulink Modeling examples SIMULINK

Variables – Vectors and Matrices –

ALL variables are matrices

Variables

•They are case–sensitive i.e x ≠≠≠≠ X

e.g. 1 x 1 4 x 1 1 x 4 2 x 4 6512[ ]71233•They are case–sensitive i.e x ≠≠≠≠ X

•Their names can contain up to 31 characters

•Must start with a letter

Variables are stored in workspace

4239

6512[ ]7123

3

9

2

3[ ]4

Page 9: 000 Modeling and simulation Matlab - … to MATLAB and Simulink Contents Getting Started Vectors and Matrices Introduction MATLAB Built in functions Simulink Modeling examples SIMULINK

Vectors and Matrices

How do we assign a value to a variable?>>> v1=3

v1 =

3

>>> i1=4

>>> whos

Name Size Bytes Class

R 1x1 8 double array

i1 1x1 8 double array

i1 =

4

>>> R=v1/i1

R =

0.7500

>>>

v1 1x1 8 double array

Grand total is 3 elements using 24 bytes

>>> who

Your variables are:

R i1 v1

>>>

Page 10: 000 Modeling and simulation Matlab - … to MATLAB and Simulink Contents Getting Started Vectors and Matrices Introduction MATLAB Built in functions Simulink Modeling examples SIMULINK

Vectors and Matrices

How do we assign values to vectors?

10

>>> A = [1 2 3 4 5]A =

1 2 3 4 5 >>>

>>> B = [10;12;14;16;18]

A row vector –values are separated by spaces

[ ]54321A =

=

18

16

14

12

B

B =

10

12

14

16

18

>>>

A column vector – values are separated by semi–colon (;)

Page 11: 000 Modeling and simulation Matlab - … to MATLAB and Simulink Contents Getting Started Vectors and Matrices Introduction MATLAB Built in functions Simulink Modeling examples SIMULINK

Vectors and Matrices

How do we assign values to vectors?

If we want to construct a vector of, say, 100

elements between 0 and 2π – linspace>>> c1 = linspace(0,(2*pi),100);

>>> whos>>> whos

Name Size Bytes Class

c1 1x100 800 double array

Grand total is 100 elements using 800 bytes

>>>

Page 12: 000 Modeling and simulation Matlab - … to MATLAB and Simulink Contents Getting Started Vectors and Matrices Introduction MATLAB Built in functions Simulink Modeling examples SIMULINK

Vectors and Matrices

How do we assign values to vectors?

If we want to construct an array of, say, 100

elements between 0 and 2π – colon notation

>>> c2 = (0:0.0201:2)*pi;

>>> whos

Name Size Bytes Class

c1 1x100 800 double array

c2 1x100 800 double array

Grand total is 200 elements using 1600 bytes

>>>

Page 13: 000 Modeling and simulation Matlab - … to MATLAB and Simulink Contents Getting Started Vectors and Matrices Introduction MATLAB Built in functions Simulink Modeling examples SIMULINK

Vectors and Matrices

How do we assign values to matrices ?

>>> A=[1 2 3;4 5 6;7 8 9]A =

1 2 34 5 67 8 9

987

654

321

Columns separated by

space or a commaRows separated by

semi-colon

7 8 9>>> 987

Page 14: 000 Modeling and simulation Matlab - … to MATLAB and Simulink Contents Getting Started Vectors and Matrices Introduction MATLAB Built in functions Simulink Modeling examples SIMULINK

Vectors and Matrices

How do we access elements in a matrix or a vector?

Try the followings:

>>> A(2,3)ans =

6

>>> A(:,3)ans =

369

>>> A(1,:)ans =

1 2 3

>>> A(2,:)ans =

4 5 6

Page 15: 000 Modeling and simulation Matlab - … to MATLAB and Simulink Contents Getting Started Vectors and Matrices Introduction MATLAB Built in functions Simulink Modeling examples SIMULINK

Vectors and Matrices

Some special variables

beep

pi (π)

inf (e.g. 1/0)

i, j ( )

>>> 1/0

Warning: Divide by zero.

ans =

Inf

i, j ( )

1−

>>> pi

ans =

3.1416

>>> i

ans =

0+ 1.0000i

Page 16: 000 Modeling and simulation Matlab - … to MATLAB and Simulink Contents Getting Started Vectors and Matrices Introduction MATLAB Built in functions Simulink Modeling examples SIMULINK

Vectors and Matrices

Arithmetic operations – Matrices

Performing operations to every entry in a matrix

Add and subtract>>> A=[1 2 3;4 5 6;7 8 9]A =

1 2 3

>>> A+3ans =1 2 3

4 5 67 8 9

>>>

ans =4 5 67 8 9

10 11 12

>>> A-2ans =

-1 0 12 3 45 6 7

Page 17: 000 Modeling and simulation Matlab - … to MATLAB and Simulink Contents Getting Started Vectors and Matrices Introduction MATLAB Built in functions Simulink Modeling examples SIMULINK

Vectors and Matrices

Arithmetic operations – Matrices

Performing operations to every entry in a matrix

Multiply and divide>>> A=[1 2 3;4 5 6;7 8 9]A =

1 2 34 5 6

>>> A*2ans =4 5 6

7 8 9>>>

ans =2 4 68 10 12

14 16 18

>>> A/3ans =

0.3333 0.6667 1.00001.3333 1.6667 2.00002.3333 2.6667 3.0000

Page 18: 000 Modeling and simulation Matlab - … to MATLAB and Simulink Contents Getting Started Vectors and Matrices Introduction MATLAB Built in functions Simulink Modeling examples SIMULINK

Vectors and Matrices

Arithmetic operations – Matrices

Performing operations to every entry in a matrix

Power>>> A=[1 2 3;4 5 6;7 8 9]A =

1 2 34 5 6

To square every element in A, use

the element–wise operator .^4 5 67 8 9

>>>

A^2 = A * A

the element–wise operator .^

>>> A.^2ans =

1 4 916 25 3649 64 81

>>> A^2ans =

30 36 4266 81 96

102 126 150

Page 19: 000 Modeling and simulation Matlab - … to MATLAB and Simulink Contents Getting Started Vectors and Matrices Introduction MATLAB Built in functions Simulink Modeling examples SIMULINK

Vectors and Matrices

Arithmetic operations – Matrices

Performing operations between matrices

>>> A=[1 2 3;4 5 6;7 8 9]A =

1 2 34 5 67 8 9

>>> B=[1 1 1;2 2 2;3 3 3]B =

1 1 12 2 23 3 37 8 9 3 3 3

A*B

333

222

111

987

654

321

A.*B

3x93x83x7

2x62x52x4

1x31x21x1

272421

12108

321

=

=

505050

323232

141414

Page 20: 000 Modeling and simulation Matlab - … to MATLAB and Simulink Contents Getting Started Vectors and Matrices Introduction MATLAB Built in functions Simulink Modeling examples SIMULINK

Vectors and Matrices

Arithmetic operations – Matrices

Performing operations between matrices

A/B ? (matrices

A./B

0000.36667.23333.2

0000.35000.20000.2

0000.30000.20000.1

=

singular)

3/93/83/7

2/62/52/4

1/31/21/1

Page 21: 000 Modeling and simulation Matlab - … to MATLAB and Simulink Contents Getting Started Vectors and Matrices Introduction MATLAB Built in functions Simulink Modeling examples SIMULINK

Vectors and Matrices

Arithmetic operations – Matrices

Performing operations between matrices

A^B ??? Error using ==> ^At least one operand must be scalar

A.^B

729512343

362516

321

=

333

222

111

987

654

321

Page 22: 000 Modeling and simulation Matlab - … to MATLAB and Simulink Contents Getting Started Vectors and Matrices Introduction MATLAB Built in functions Simulink Modeling examples SIMULINK

Built in functions (commands)

Scalar functions – used for scalars and operate

element-wise when applied to a matrix or vector

e.g. sin cos tan atan asin log

abs angle sqrt round floor

At any time you can use the command

help to get help

e.g. >>>help sin

Page 23: 000 Modeling and simulation Matlab - … to MATLAB and Simulink Contents Getting Started Vectors and Matrices Introduction MATLAB Built in functions Simulink Modeling examples SIMULINK

Built in functions (commands)

>>> a=linspace(0,(2*pi),10)

a = Columns 1 through 7

0 0.6981 1.3963 2.0944 2.7925 3.4907 4.1888

Columns 8 through 10

4.8869 5.5851 6.2832

>>> b=sin(a)

b = Columns 1 through 7

0 0.6428 0.9848 0.8660 0.3420 -0.3420 -0.8660

Columns 8 through 10

-0.9848 -0.6428 0.0000

>>>

Page 24: 000 Modeling and simulation Matlab - … to MATLAB and Simulink Contents Getting Started Vectors and Matrices Introduction MATLAB Built in functions Simulink Modeling examples SIMULINK

Built in functions (commands)

Vector functions – operate on vectors returning

scalar value

e.g. max min mean prod sum length>>> max(b)

ans =

0.9848

>>> a=linspace(0,(2*pi),10);

>>> b=sin(a); 0.9848

>>> max(a)

ans =

6.2832

>>> length(a)

ans =

10

>>>

Page 25: 000 Modeling and simulation Matlab - … to MATLAB and Simulink Contents Getting Started Vectors and Matrices Introduction MATLAB Built in functions Simulink Modeling examples SIMULINK

Built in functions (commands)

Matrix functions – perform operations on

matrices

>>> help elmat

>>> help matfun>>> help matfun

e.g. eye size inv det eig

At any time you can use the command

help to get help

Page 26: 000 Modeling and simulation Matlab - … to MATLAB and Simulink Contents Getting Started Vectors and Matrices Introduction MATLAB Built in functions Simulink Modeling examples SIMULINK

Built in functions (commands)

Matrix functions – perform operations on

matrices>>> x=rand(4,4)

x =

0.9501 0.8913 0.8214 0.9218

0.2311 0.7621 0.4447 0.7382

>>> x*xinv

ans =

1.0000 0.0000 0.0000 0.00000.6068 0.4565 0.6154 0.1763

0.4860 0.0185 0.7919 0.4057

>>> xinv=inv(x)

xinv =

2.2631 -2.3495 -0.4696 -0.6631

-0.7620 1.2122 1.7041 -1.2146

-2.0408 1.4228 1.5538 1.3730

1.3075 -0.0183 -2.5483 0.6344

1.0000 0.0000 0.0000 0.0000

0 1.0000 0 0.0000

0.0000 0 1.0000 0.0000

0 0 0.0000 1.0000

>>>

Page 27: 000 Modeling and simulation Matlab - … to MATLAB and Simulink Contents Getting Started Vectors and Matrices Introduction MATLAB Built in functions Simulink Modeling examples SIMULINK

Built in functions (commands)

Data visualisation – plotting graphs

>>> help graph2d

>>> help graph3d

e.g. plot polar loglog mesh

semilog plotyy surf

Page 28: 000 Modeling and simulation Matlab - … to MATLAB and Simulink Contents Getting Started Vectors and Matrices Introduction MATLAB Built in functions Simulink Modeling examples SIMULINK

Built in functions (commands)

Data visualisation – plotting graphs

Example on plot – 2 dimensional plot

>>> x=linspace(0,(2*pi),100);

eg1_plt.m

>>> y1=sin(x);

>>> y2=cos(x);

>>> plot(x,y1,'r-')

>>> hold

Current plot held

>>> plot(x,y2,'g--')

>>>

Add title, labels and legend

title xlabel ylabel legend

Use ‘copy’ and ‘paste’ to add to your window–based

document, e.g. MSword

Page 29: 000 Modeling and simulation Matlab - … to MATLAB and Simulink Contents Getting Started Vectors and Matrices Introduction MATLAB Built in functions Simulink Modeling examples SIMULINK

Built in functions (commands)

Data visualisation – plotting graphs

0.4

0.6

0.8

1Example on plot

sin(x)cos(x)

Example on plot – 2 dimensional plot

eg1_plt.m

0 1 2 3 4 5 6 7-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

angular frequency (rad/s)

y1 a

nd y

2

Page 30: 000 Modeling and simulation Matlab - … to MATLAB and Simulink Contents Getting Started Vectors and Matrices Introduction MATLAB Built in functions Simulink Modeling examples SIMULINK

Built in functions (commands)

Data visualisation – plotting graphs

Example on mesh and surf – 3 dimensional plot

Supposed we want to visualize a function

Z = 10e(–0.4a) sin (2πft) for f = 2

when a and t are varied from 0.1 to 7 and 0.1 to 2, respectively

eg2_srf.m

>>> [t,a] = meshgrid(0.1:.01:2, 0.1:0.5:7);

>>> f=2;

>>> Z = 10.*exp(-a.*0.4).*sin(2*pi.*t.*f);

>>> surf(Z);

>>> figure(2);

>>> mesh(Z);

Page 31: 000 Modeling and simulation Matlab - … to MATLAB and Simulink Contents Getting Started Vectors and Matrices Introduction MATLAB Built in functions Simulink Modeling examples SIMULINK

Built in functions (commands)

Data visualisation – plotting graphs

Example on mesh and surf – 3 dimensional plot

eg2_srf.m

Page 32: 000 Modeling and simulation Matlab - … to MATLAB and Simulink Contents Getting Started Vectors and Matrices Introduction MATLAB Built in functions Simulink Modeling examples SIMULINK

Built in functions (commands)

Data visualisation – plotting graphs

Example on mesh and surf – 3 dimensional plot

>>> [x,y] = meshgrid(-3:.1:3,-3:.1:3);>>> z = 3*(1-x).^2.*exp(-(x.^2) - (y+1).^2) ...- 10*(x/5 - x.^3 - y.^5).*exp( - x.^2 - y.^2) ...

eg3_srf.m

- 10*(x/5 - x.^3 - y.^5).*exp( - x.^2 - y.^2) ...- 1/3*exp(-(x+1).^2 - y.^2);

>>> surf(z);

Page 33: 000 Modeling and simulation Matlab - … to MATLAB and Simulink Contents Getting Started Vectors and Matrices Introduction MATLAB Built in functions Simulink Modeling examples SIMULINK

Built in functions (commands)

Data visualisation – plotting graphs

Example on mesh and surf – 3 dimensional plot

eg2_srf.m

Page 34: 000 Modeling and simulation Matlab - … to MATLAB and Simulink Contents Getting Started Vectors and Matrices Introduction MATLAB Built in functions Simulink Modeling examples SIMULINK

Solution : use M-files

M-files : Script and function files

When problems become complicated and require re–

evaluation, entering command at MATLAB prompt is

not practical

Solution : use M-files

Collections of commands

Executed in sequence when called

Saved with extension “.m”

Script FunctionUser defined commands

Normally has input & output

Saved with extension “.m”

Page 35: 000 Modeling and simulation Matlab - … to MATLAB and Simulink Contents Getting Started Vectors and Matrices Introduction MATLAB Built in functions Simulink Modeling examples SIMULINK

At Matlab prompt type in edit to invoke M-file editor

Save this file as test1.m

eg1_plt.m

Page 36: 000 Modeling and simulation Matlab - … to MATLAB and Simulink Contents Getting Started Vectors and Matrices Introduction MATLAB Built in functions Simulink Modeling examples SIMULINK

MM--files : script and function files (script)files : script and function files (script)

To run the M-file, type in the name of the file at the

prompt e.g. >>> test1

It will be executed provided that the saved file is in the

known path

Type in matlabpath to check the list of directories

listed in the path

Use path editor to add the path: File → Set path …

Page 37: 000 Modeling and simulation Matlab - … to MATLAB and Simulink Contents Getting Started Vectors and Matrices Introduction MATLAB Built in functions Simulink Modeling examples SIMULINK

M-files : script and function files (function)

Function is a ‘black box’ that communicates with workspace

through input and output variables.

INPUT OUTPUTFUNCTIONINPUT OUTPUTFUNCTION– Commands

– Functions

– Intermediate variables

Page 38: 000 Modeling and simulation Matlab - … to MATLAB and Simulink Contents Getting Started Vectors and Matrices Introduction MATLAB Built in functions Simulink Modeling examples SIMULINK

Every function must begin with a header:

M-files : script and function files (function)

function output=function_name(inputs)

Output variableMust match the file name

input variable

Page 39: 000 Modeling and simulation Matlab - … to MATLAB and Simulink Contents Getting Started Vectors and Matrices Introduction MATLAB Built in functions Simulink Modeling examples SIMULINK

Function – a simple example

function y=react_C(c,f)

%react_C calculates the reactance of a capacitor.%The inputs are: capacitor value and frequency in hz%The output is 1/(wC) and angular frequency in rad/s

y(1)=2*pi*f;

M-files : script and function files (function)

y(1)=2*pi*f;w=y(1);y(2)=1/(w*c);

File must be saved to a known path with filename the same as the function name and with

an extension ‘.m’

Call function by its name and arguments

help react_C will display comments after the header

Page 40: 000 Modeling and simulation Matlab - … to MATLAB and Simulink Contents Getting Started Vectors and Matrices Introduction MATLAB Built in functions Simulink Modeling examples SIMULINK

Function – a more realistic example

function x=impedance(r,c,l,w)

%IMPEDANCE calculates Xc,Xl and Z(magnitude) and %Z(angle) of the RLC connected in series%IMPEDANCE(R,C,L,W) returns Xc, Xl and Z (mag) and %Z(angle) at W rad/s

M-files : script and function files (function) impedance.m

%Used as an example for IEEE student, UTM %introductory course on MATLAB

if nargin <4error('not enough input arguments')end;

x(1) = 1/(w*c);x(2) = w*l;Zt = r + (x(2) - x(1))*i; x(3) = abs(Zt);x(4)= angle(Zt);

Page 41: 000 Modeling and simulation Matlab - … to MATLAB and Simulink Contents Getting Started Vectors and Matrices Introduction MATLAB Built in functions Simulink Modeling examples SIMULINK

We can now add our function to a script M-file

R=input('Enter R: ');C=input('Enter C: ');L=input('Enter L: ');w=input('Enter w: ');y=impedance(R,C,L,w);

MM--files : script and function files (function)files : script and function files (function) eg7_fun.m

y=impedance(R,C,L,w);fprintf('\n The magnitude of the impedance at %.1f rad/s is %.3f ohm\n', w,y(3));fprintf('\n The angle of the impedance at %.1f rad/s is %.3f degrees\n\n', w,y(4));

Page 42: 000 Modeling and simulation Matlab - … to MATLAB and Simulink Contents Getting Started Vectors and Matrices Introduction MATLAB Built in functions Simulink Modeling examples SIMULINK

Simulink

Used to model, analyze and simulate dynamic

systems using block diagrams.

Provides a graphical user interface for constructing Provides a graphical user interface for constructing

block diagram of a system – therefore is easy to use.

However modeling a system is not necessarily easy !

Page 43: 000 Modeling and simulation Matlab - … to MATLAB and Simulink Contents Getting Started Vectors and Matrices Introduction MATLAB Built in functions Simulink Modeling examples SIMULINK

Simulink

Model – simplified representation of a system – e.g. using

mathematical equation

We simulate a model to study the behavior of a system –

need to verify that our model is correct – expect results

Knowing how to use Simulink or MATLAB does not

mean that you know how to model a system

Page 44: 000 Modeling and simulation Matlab - … to MATLAB and Simulink Contents Getting Started Vectors and Matrices Introduction MATLAB Built in functions Simulink Modeling examples SIMULINK

Simulink

Problem: We need to simulate the resonant circuit

and display the current waveform as we change the

frequency dynamically.

+

v(t) = 5 sin ωt

i 10 Ω 100 uF

Varies ωωωω from 0

to 2000 rad/sv(t) = 5 sin ωt

–0.01 H

to 2000 rad/s

Observe the current. What do we expect ?

The amplitude of the current waveform will become

maximum at resonant frequency, i.e. at ωωωω = 1000 rad/s

Page 45: 000 Modeling and simulation Matlab - … to MATLAB and Simulink Contents Getting Started Vectors and Matrices Introduction MATLAB Built in functions Simulink Modeling examples SIMULINK

Simulink

How to model our resonant circuit ?

+

v(t) = 5 sin ωt

i 10 Ω 100 uF

0.01 H–

∫++= idtC

1

dt

diLiRv

Writing KVL around the loop,

Page 46: 000 Modeling and simulation Matlab - … to MATLAB and Simulink Contents Getting Started Vectors and Matrices Introduction MATLAB Built in functions Simulink Modeling examples SIMULINK

Simulink

LC

i

dt

id

L

R

dt

di

dt

dv

L

12

2

++=

Differentiate wrt time and re-arrange:

Taking Laplace transform:Taking Laplace transform:

LC

IIssI

L

R

L

sV 2 ++=

++=LC

1s

L

RsI

L

sV 2

Page 47: 000 Modeling and simulation Matlab - … to MATLAB and Simulink Contents Getting Started Vectors and Matrices Introduction MATLAB Built in functions Simulink Modeling examples SIMULINK

Simulink

Thus the current can be obtained from the voltage:

++=

LC

1s

L

Rs

)L/1(sVI

2

++LC

sL

s

LC

1s

L

Rs

)L/1(s

2 ++V I

Page 48: 000 Modeling and simulation Matlab - … to MATLAB and Simulink Contents Getting Started Vectors and Matrices Introduction MATLAB Built in functions Simulink Modeling examples SIMULINK

Simulink

Start Simulink by typing simulink at Matlab prompt

Simulink library and untitled windows appear

It is here where we construct our model.

It is where we obtain the blocks to construct our model

Page 49: 000 Modeling and simulation Matlab - … to MATLAB and Simulink Contents Getting Started Vectors and Matrices Introduction MATLAB Built in functions Simulink Modeling examples SIMULINK

Simulink

Constructing the model using Simulink:

‘Drag and drop’ block from the Simulink library

window to the untitled window

1

s+1

Transfer Fcn

simout

To WorkspaceSine Wave

Page 50: 000 Modeling and simulation Matlab - … to MATLAB and Simulink Contents Getting Started Vectors and Matrices Introduction MATLAB Built in functions Simulink Modeling examples SIMULINK

Simulink

Constructing the model using Simulink:

LC

1s

L

Rs

)L/1(s

2 ++ 62 101s1000s

)100(s

×++LCL

100s

s +1000s+1e62

Transfer Fcn

v

To Workspace1

i

To WorkspaceSine Wave

Page 51: 000 Modeling and simulation Matlab - … to MATLAB and Simulink Contents Getting Started Vectors and Matrices Introduction MATLAB Built in functions Simulink Modeling examples SIMULINK

Simulink

We need to vary the frequency and observe the current

100s

v

To Workspace3w

To Workspace2

Ramp

5

Amplitude

eg8_sim.mdl

100s

s +1000s+1e62

Transfer Fcn1

To Workspace2i

To Workspaces

1

Integrator

sin

ElementaryMath

Dot Product3Dot Product2

1000

Constant

…From initial problem definition, the input is 5sin(ωt).You should be able to decipher why the input works, but you do not need to create your own input subsystems of this form.

Page 52: 000 Modeling and simulation Matlab - … to MATLAB and Simulink Contents Getting Started Vectors and Matrices Introduction MATLAB Built in functions Simulink Modeling examples SIMULINK

Simulink

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1-1

-0.5

0

0.5

1

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1-5

0

5

Page 53: 000 Modeling and simulation Matlab - … to MATLAB and Simulink Contents Getting Started Vectors and Matrices Introduction MATLAB Built in functions Simulink Modeling examples SIMULINK

Simulink

The waveform can be displayed using scope – similar

to the scope in the lab

5

Constant1

eg9_sim.mdl

100s

s +1000s+1e62

Transfer Fcn

0.802

SliderGain

Scopes

1

Integrator

sin

ElementaryMath

Dot Product2

2000

Constant