Professional Documents
Culture Documents
SIMULINKFORBEGINNERS:
TobeginyourSIMULINKsessionopenfirstMATLABICONbyclicking
mousetwiceandthentype
simulink
YouwillnowseetheSimulinkblocklibrary.
HeikkiKoivo 2
Browsethroughblocklibraries.E.g.,ifyouclickContinuous,youwillseethe
following:
HeikkiKoivo 3
Observethedescriptionoftheintegratorbesidetheblockthatwillbeusedfor
1
integrator, .Thisoperatornotationcomesfromlinearsystemsdomain,wheresis
s
d
Laplacevariable.Roughly,scorrespondstoderivativeoperator, ,anditsinverse
dt
1
s ,tointegration, z
.
MathOperationslibraryisshownbelow
HeikkiKoivo 4
HeikkiKoivo 5
Afterbrowsingthroughotherblocklibraries,wearenowreadytostartgeneratinga
simpleSimulinkdiagram.
ChooseinmenuselectionFile,thenNewandModel.Thisfilewillbecalled
untitled.
Untitledfile,wheretheSIMULINKconfigurationisconstructedusing
differentblocksinthelibrary.Withamouseyoucanconfigureyourmodel
intotheemptyspace.
EXAMPLE1:Inputsignalissint.Itisfedintoanamplifierwithgain2.Simulate
theoutputoftheamplifier.
HeikkiKoivo 6
Solution:Pickfirsttheamplifier.ThisyoucanfindunderMathanditiscalled
Gain.MovethecursorontopofGain,keepitdownandmovetheGainblockto
untitledfileandreleaseit.Ifyoufail,tryagain.Theresultisshownbelow.
HeikkiKoivo 7
Thegainhasonlyoneparameter,whichhasvalueof1.Youcanchangeitby
movingthecursorcloseto1andclickingonceandthenoperatingasyouwould
withanywordprocessingsystem.Oncefinished,clickOK.Thenumericalvalue
insidetheblockwillnowchangeto2.Nextfindtheinputsignalblock.Thisis
underSourcesandiscalledSineWave.Againmovethecursorontopofit,keep
pressingthemousewhileyoumovetheblocktotheuntitledfileandthenrelease
themouse.Inordertoseetheresult,youneedtoinstallasinkfromSinkslibrary.In
thebeginning,theeasiestsinktouseisscope.Movethatblockinthesamewayas
theotherstotheuntitledfile.Theresultisshownbelow.
HeikkiKoivo 8
Theonlythingmissingofthesystemistoconnectthepeacestogether.Thisisdone
withthemouse.TakethecursortotheoutputofSineWaveblock.Youllseea
hairlinecursor,whenyouarecloseenough.Nowpressthemousedown.Keepit
downandmoveitclosetotheinputofgain.Youllseealineforming,whileyou
dragyourmouse.Onceyoureachtheinputanotherhairlinecursorcanbeseenand
youcanreleasethemouse.
HeikkiKoivo 9
Yoursimulationsystemisnowcomplete.Beforesimulationyoushouldcheckthat
theparametervaluesintheSineWaveblockarecorrect.Openitbyplacingthe
cursorontopandclicktwice.
HeikkiKoivo 10
ForthisexampleAmplitudeis1andfrequency(rad/s)isalso1,sodefaultvalues
areOK.Thereisnophaseshiftandsamplingisnotissuehere.
YoucanbeginsimulationbychoosingStartsimulationfromSimulationmenuorby
clickingthestartbutton.
HeikkiKoivo 11
S im u la tio n m e n u
S ta rt b u tto n
EXERCISE2:Solvethedifferentialequation
dx
2 x 1, t 0.
dt
x(0) 0.
Note:Theinputis1aftert>0.Thiscanbetakenasastepfunctionfromthe
Sourcesblocklibrary.Notehowever,thatthesteppingtimeisnott=0butt=1.
Solution:Ifyouareinexperiencedwithdifferentialequations,youcanuse
d
differentialoperatorD.Let D .Thenthedifferentialequationbecomes
dt
Dx 2 x 1 (1)
or
Dx 2 x ( D 2) x 1 .
HeikkiKoivo 12
Thisfurtherleadsto
1
x (2)
D2
Youcanuseeither(1)or(2)forSIMULINKconfiguration.Wewillusethefirst
one:
Dx 2 x 1 .
LaplacetransformoperatorsisalmostthesameasD,exceptfortheinitial
1
conditions.InSIMULINK meansintegration(seetheblockbelow).Inputtothe
s
dx
integratoris Dx andoutputx.Thusinconfigurationyousetuptherighthand
dt
sideandconnecttheeverythingtotheinputoftheintegrator.
HeikkiKoivo 13
ThesolutionisfoundbychoosingunderSimulationmenuStartsimulationorby
clickingStartbutton.
Theresultisshownabove.Ifyoustudytheequationandtheresult,itisclear
(why?)thatwehavemadeamistakeinconfiguration.Thesigninsummationis
wrong.Correctitasshownbelow.Nowtheresultcorrespondstoourexpectations
(ifany).
HeikkiKoivo 14
Ifyouwanttoseeboththeinputandoutputatthesametime,useMux(multiplexer)
block,whichyoucanfindunderSignalsandSystemsblocklibrary.Setupthe
systemasshownbelow.
HeikkiKoivo 15
Once you have defined your system in SIMULINK window, you can simulate also on the
MATLAB Command window. Save your model currently it has the name Untitled, so use that.
Go to MATLAB command window and type help sim. The following lines will help you to
understand how to simulate.
help sim
[T,X,Y] = SIM('model',TIMESPAN,OPTIONS,UT)
[T,X,Y1,...,Yn] = SIM('model',TIMESPAN,OPTIONS,UT)
Specifying any right hand side argument to SIM as the empty matrix, [],
will cause the default for the argument to be used.
HeikkiKoivo 16
Only the first parameter is required. All defaults will be taken from the
block diagram, including unspecified options. Any optional arguments
specified will override the settings in the block diagram.
Overloaded methods
help network/sim.m
The simplest way to start is to use sim command in the following way.
[t,x,y]=sim('untitled');
0.5
0.4
0.3
0.2
0.1
0
0 2 4 6 8 10
To see y, you need to introduce an output in the SIMULINK model. Check below.
Another issue that we have not considered is initial condition. As you know every differential
equation should have initial conditions given. The default value in SIMULINK is zero. To change
that click the integrator. Youll see the following display.
HeikkiKoivo 17
D o u b le -c lic k
In itia l c o n d itio n
Asseenaboveyoucanchangetheinitialvaluetoe.g.3.
Thedefaulttimeforsimulationis10.Ifyouwishtosimulatelongeryouhaveto
changeit.TodothatopenSimulationmenuandchooseSimulationparameters.
HeikkiKoivo 18
YoucanchangetheStoptimeaccordingtoyourneeds.
Completetheexercise.RunthesimulationfromSIMULINKandalsofrom
Commandwindow.
DAMPEDOSCILLATOR
Solvethedampedoscillatorproblem
d 2x dx
2
5 9 x u (t )
dt dt
dx
x&(0) 2
dt
x(0) 2
Assumethatu(t)=0,thatis,thereisnoinput.
PURPOSE:ToillustratehowtoconfigureaSIMULINKdiagramforahigher
orderdifferentialequationandhowtointroduceinitialconditionsintoit.
HeikkiKoivo 19
SOLUTION:Solveequationfirstwithrespecttothehighestorderderivativeto
obtain
d 2x dx
2
5 9 x
dt dt
Tosetuptherighthandsidetwointegratorsareneeded:
d 2x dx
Theinputtothefirstintegraroristhesecondderivative 2 anditsoutputis .Thelatteris
dt dt
theinnputtothesecondintegratorproducingx(t)atitsoutput.Inthiswaywehaveconstructed
d 2x
thelefthandsideoftheequation.Sincethesecondderivative 2 isequaltotherighthand
dt
dx
side,wecollectittermbyterm.Inordertodothatweneed fromtheoutputofthefirst
dt
integrator,x(t)fromtheoutputofthesecondintegratorandu(t),thestepinputmustbegenerated.
Herex(t)mustalsobemultipliedby9,soagainisrequired.Alltheseitemsaretobesummedup
soasumblockisalsoneeded.Thefinalconfigurationisgivenbelow.Theinitialvaluesare
addedtotheintegrators.Theresultingconfigurationisgivenbelow.
HeikkiKoivo 20
Next,setuptheinitialconditionsbyclickingtheintegratorsoneatatimeand
makingappropriatechanges.
HeikkiKoivo 21
dx
Thesolutionx(t)and dt
areshowninFig.below.ThefirstfigureisSIMULINK
scopeandthesecondistheresultfromCommandwindowsimulation.
HeikkiKoivo 22
Thesharpnessofthelowercurvearoundt=0.4sisnotreal,itshouldbesmooth.
Firstyoumightsuspectnumericaldifficulties(therearenone)duetotoolargea
HeikkiKoivo 23
stepsize.Thisisnotthecase.Itisduetodisplaygraphics,i.e.,notenoughpoints
havebeensavedtohaveasmoothpresentation.
dx
Thedampingfactorcanbechangedbychangingthecoefficient5infrontof .If
dt
thecoefficientiszero(nodamping),theresultisasinusoidal.Increasingthe
dampingwillresultindampingoscillations.Completethestudytoobtainthe
followingresponses.
Letusalsoplotaphaseplaneplot(xvsdx/dt).Notethatheretimehasbeen
eliminated.Toseetheeffectbetter,startwithlessdamping.Changethecoefficient
5to1.
HeikkiKoivo 24
Theresultisshownbelow.
XYGraphdoesnotadjustthescalesautomatically.Inordertoseethewhole
picture,clicktheXYGraphopenandadjustthescales.AdjustingalsotheSample
timeresultsinsmoothpicture.
HeikkiKoivo 25
CONCLUSION:Astablesystem.Itconvergestowardstheorigin.Physical
interpretation:Inoriginbothpositionandvelocityarezero.