Simulering i MATLAB og SIMULINK

Like dokumenter
Lineær analyse i SIMULINK

Stabilitetsanalyse i MATLAB og LabVIEW

Minste kvadraters metode i MATLAB og LabVIEW

1 Tidsdiskret PID-regulering

Control Engineering. MathScript. Hans-Petter Halvorsen

Simuleringsalgoritmer

Sammenlikningav simuleringsverktøyfor reguleringsteknikk

3.2.2 Tilstandsrommodeller

41070 STABILITET I ELKRAFTSYSTEMER

MathScript. Hans- Pe1er Halvorsen, M.Sc.

Stabilitetsanalyse. Kapittel Innledning

Løsningsforslag øving 4

Frekvensanalyse av likestrømsmotor med diskret regulator og antialiasing filter

Control Engineering. State-space Models. Hans-Petter Halvorsen

MATLABs brukergrensesnitt

Control Engineering. Stability Analysis. Hans-Petter Halvorsen

Plotting av data. Kapittel Plott med plot-funksjonen

2.2.1 Framgangsmåte for matematisk modellering Modellering av massesystemer. Modellbegreper... 15

AVDELING FOR INGENIØRUTDANNING EKSAMENSOPPGAVE

Øving 1 ITD Industriell IT

Observer HANS-PETTER HALVORSEN, Telemark University College Department of Electrical Engineering, Information Technology and Cybernetics

Systemidentifikasjon Oppgaver

Tilstandsrommodeller. Hans- Pe1er Halvorsen, M.Sc.

TTK 4140 Reguleringsteknikk m/elektriske kretser Dataøving 1

Tidsdiskrete systemer

EDT211T Reguleringsteknikk PC-øving nr 1. NB: Det lønner seg å kjøre gjennom leksjonen før du tar fatt på selve øvingen på siste side.

University College of Southeast Norway. Observer HANS-PETTER HALVORSEN.

Systemidentifikasjon Løsninger

Matlab-tips til Oppgave 2

SCE1106 Control Theory

Systemidentifikasjon Oppgaver

a) The loop transfer function with the process model with a P controller is given by h 0 (s) = h c (s)h p (s) = K p (1 + s)(2 + s) K p

Systemidentifikasjon

,QQOHGQLQJ 3-1/ )DJ 67( 6W\ULQJ DY URPIDUW \ / VQLQJVIRUVODJ WLO YLQJ

Generell informasjon om faget er tilgjengelig fra fagets nettside, og for øvinger brukes It s learning. systemidentifikasjon fra sprangrespons.

Generell informasjon om faget er tilgjengelig fra fagets nettside, og for øvinger brukes canvas.

Stabilitetsanalyse. Hans- Pe/er Halvorsen, M.Sc.

Kalmanfilter HANS-PETTER HALVORSEN,

Kapittel 6 Stabilitetsanalyse Oppgave 6.1 Stabilitetsegenskap for transferfunksjoner

Litt generelt om systemidentifikasjon.

Eksamensoppgave i TELE2001 Reguleringsteknikk

Litt generelt om systemidentifikasjon.

Tilstandsestimering Oppgaver

Løsningsforslag Dataøving 2

Emnekode: sa 318E. Pensumlitteratur ( se liste nedenfor), fysiske tabeller, skrivesaker og kalkulator

Ditt og Datt i MATLAB. En introduksjon til Matlab og Simulink for ferske kybernetikk-studenter

Plotting av data i grafer

6,((OHNWULVNH0RWRUGULIWHU.RUWIDWWHWLQQI ULQJL6LPXOLQN DY5LFKDUG/XQG

Inst. for elektrofag og fornybar energi

48 Praktisk reguleringsteknikk

KYBERNETIKKLABORATORIET. FAG: Dynamiske systemer DATO: OPPG.NR.: DS3 MOTOR GENERATOROPPGAVE I

Tar først 2 metoder for å løse differensialligninger. Se forøvrig pdf-dokumentet del 9, diskretisering, sampling i Industriell IT.

Kalmanfilter på svingende pendel

Reguleringsteknikk. Finn Aakre Haugen. 16. juni 2014

ù [rad/sek] h O [db] o o o o o o o o o o o

TTK 4140 Reguleringsteknikk m/elektriske kretser Dataøving 2

Tegning av fasediagram med Maple

Foroverkopling. Kapittel Innledning

FYS2130 forelesning 1. februar 2013 Noen kommentarer til kapittel 3: Numeriske løsningsmetoder

KYBERNETIKKLABORATORIET. FAG: Industriell IT DATO: OPPG.NR.: LV4. LabVIEW Temperaturmålinger BNC-2120

c;'1 høgskolen i oslo

Løsning til eksamen i EE4107 Kybernetikk- videregående

Løsning til eksamen i IA3112 Automatiseringsteknikk ved Høgskolen i Sørøst- Norge

Tilstandsestimering Oppgaver

Simuleringseksempel. Vi ønsker å simulere følgende system (vanntank) i MathScript: Matematisk modell:

Løsningsforslag oppgavene (Øving 3)

Del 1. ACC adaptiv cruisekontroll

Artikkelserien Reguleringsteknikk

Løpekatt med last. Ekstra øving 3, løsningsforslag. Inst. for teknisk kybernetikk Fag TELE2001 Reguleringsteknikk

4.1 Diskretisering av masse-fjær-demper-system. K f m. x m u m y = x 1. x m 1 K d. Dette kan skrives på matriseform som i oppgaven med 0 1 A =

Spørretime / Oppsummering

Elektrisk motor med last

Obligatorisk oppgave nr 3 FYS Lars Kristian Henriksen UiO

OBLIG 1 GEF Dråpevekst i skyer

Løsning til eksamen i IA3112 Automatiseringsteknikk

Case: Analyse av passive elektriske filtre

Noen MATLAB-koder. 1 Plotte en vanlig funksjon. Fredrik Meyer. 23. april 2013

Tilstandsestimering Løsninger

ITGK - H2010, Matlab. Repetisjon

Emne 11 Differensiallikninger

Utledning av Skogestads PID-regler

Introduksjon til MATLAB Høgskolen i Agder Regulerings teknikk 2005 Morten Ottestad

EDT211T-A Reguleringsteknikk PC øving 5: Løsningsforslag

MATLAB for STK1100. Matematisk institutt Univeristetet i Oslo Januar Enkel generering av stokastiske variabler

Del 1: Leksjon Det anbefales å kjøre igjennom denne før dere begynner med oppgaven.

TDT4105 Informasjonsteknologi, grunnkurs (ITGK)

Matematikk Øvingsoppgaver i numerikk leksjon 4 m-ler

Fagnr: SO318E. Veslemøy Tyssø Eksamenstid, I fra - til: Eksamensoppgaven består av Tillatte hjelpemidler: Antall oppgaver: 5

Nå er det på tide å se hvordan dette fungerer i praksis. Vi skal beregne et par Laplacetransformer som vi får mye bruk for senere.

Eksamen i SEKY3322 Kybernetikk 3

Teknostart. Introduksjon til MATLAB/Simulink. og LEGO Mindstorms NTNU. Institutt for teknisk kybernetikk. August Versjon 2.4

Test, 4 Differensiallikninger

TMA4122/TMA4130 Matematikk 4M/4N Høsten 2010

Numerisk løsning av differensiallikninger Eulers metode,eulers m

Løsning til eksamen i IA3112 Automatiseringsteknikk ved Høgskolen i Sørøst- Norge

Kinematikk i to og tre dimensjoner

Obligatorisk oppgave 1 MAT1120 H15

MAT1120. Obligatorisk oppgave 1 av 2. Torsdag 20. september 2018, klokken 14:30 i Devilry (devilry.ifi.uio.no).

Oppgave 1.1. Den første er en klassiker. Studer figur A4.1 i vedlegg 1. Finn overføringsfunksjonen ved hjelp av manuelle, grafiske metoder.

HØGSKOLEN I SØR-TRØNDELAG Avdeling for teknologi

Transkript:

Simulering i MATLAB og SIMULINK Av Finn Haugen (finn@techteach.no) TechTeach (http://techteach.no) 13. november 2004 1

2 TechTeach

Innhold 1 Simulering av differensiallikningsmodeller 7 1.1 Innledning... 7 1.2 SimuleringmedMATLAB... 9 1.2.1 Funksjonen step... 9 1.2.2 Funksjonen lsim... 9 1.2.3 Funksjonen impulse... 11 1.2.4 Funksjonen ode45... 11 1.3 SimuleringmedSIMULINK... 12 1.3.1 Innledning... 12 1.3.2 Modellrepresentasjon med LTI-blokk...... 13 1.3.3 Modellrepresentasjon med innebygd tilstandsrommodellblokk... 15 1.3.4 Modellrepresentasjon med detaljert blokkdiagram... 15 1.3.5 Modellrepresentasjon med S-funksjon...... 17 2 Simulering av transferfunksjonsmodeller 19 2.1 Innledning... 19 3

4 TechTeach 2.2 SimuleringmedMATLAB... 19 2.3 SimuleringmedSIMULINK... 20

Forord Dette dokumentet beskriver simulering i MATLAB [2] og SIMULINK [1]. Dokumentet utgjør tilleggsmateriale til læreboka Dynamiske systemer modellering, analyse og simulering. Dette dokumentet og filer som benyttes eller som det henvises til i dokumentet, kan lastes ned via hjemmesiden for læreboka på http://techteach.no. Et eget dokument gir en introduksjon til simulering i LabVIEW, se http://techteach.no. Skien, 13. november 2004 Finn Haugen 5

6 TechTeach

Kapittel 1 Simulering av differensiallikningsmodeller 1.1 Innledning Det fins mange kommersielle likningsløsere eller simulatorer for differensiallikningsmodeller. Det forutsettes vanligvis at differensiallikningene er på tilstandsromform. Vi skal se på noen aktuelle verktøy i MATLAB [?] og SIMULINK [1]. Som gjennomgående eksempel skal responsen i posisjonen x 1 for et masse fjær-demper-system beregnes, se figur 1.1. Kraftbalanse gir følgende matematiske modell: F [N] m K f [N/m] D [N/(m/s)] 0 z [m] Figur 1.1: Masse-fjær-demper m z = Dż K f z + F (1.1) Ved å innføre følgende de generelle variablene x 1 for posisjonen z, x 2 for hastigheten ż og u for kraften F, kan modellen skrives som følgende 7

8 TechTeach tilstandsrommodell, som er lineær: ẋ1 ẋ 2 {z } ẋ = = x 1 K f m x 1 D m x 2 + 1 m u (1.2) 0 1 x1 + 0 u (1.3) K f D x 2 1 m m {z } m {z } {z } A x = Ax + Bu (1.4) B y = x 1 (1.5) = 1 0 x1 + 0 u (1.6) {z } x 2 {z } C {z } D x = Cx + Du (1.7) Modellen kan framstilles i et blokkdiagram som vist i figur 1.2. x 2 (0) u x 2 1/m x 1 (0) x 1 = y D K f Figur 1.2: Blokkdiagram av modellen for masse-fjær-demper-systemet I simuleringene skal kraften u (inngangssignalet) være et sprang fra 0 til 4 Nvedt =0. Initialtilstanden er x 1 (0) = 0 og x 2 (0) = 0.

TechTeach 9 1.2 Simulering med MATLAB 1.2.1 Funksjonen step Denne funksjonen inngår i MATLABs Control System Toolbox. step kan beregne sprangresponsen for lineære tilstandsrommodeller (og transferfunksjonsmodeller). step påtrykker systemet automatisk et enhetssprang (sprang med høyde 1). MATLAB-skriptet nedenfor viser hvordan step kan benyttes for å beregne sprangresponsen i posisjonen y = x 1 for masse-fjær-demper-systemet. %MATLAB-skript: mfd_step.m U=4; %Spranghøyden i u. m=20; Kf=2; D=4; A=[0,1;-Kf/m,-D/m]; B=[0;1/m]; C=[1 0]; %Sørger for at utgangen er y=x1 (posisjonen). D=[0]; %Definerer en LTI-modell med navn mfd vha. ss-funksjonen: mfd=ss(a,b,c,d); %ss står for state-space (tilstandsrom) tstopp=50; [y1,t]=step(mfd,tstopp); %y er utgangsvektor. %t er tidsvektor. %step-funksjonen antar at inngangen er enhetssprang. y=y1*u; %Gir respons som svarer til inngangsspranghøyde U %Plotting: figure(1) plot(t,y),ylabel( [m] ),title( Posisjon, y ) Figur 1.3 viser y(t) som beregnet vha. step. 1.2.2 Funksjonen lsim Funksjonen lsim (linear simulation) i MATLABs Control System Toolbox kan beregne responsen for lineære tilstandsrommodeller (og transferfunksjonsmodeller) for vilkårlige inngangssignaler som brukeren selv har generert i form av et array (vektor). MATLAB-skriptet nedenfor viser hvordan lsim kan benyttes for å beregne sprangresponsen i posisjonen y = x 1 for masse-fjær-demper-systemet.

10 TechTeach 3 2.5 2 1.5 1 0.5 0 0 5 10 15 20 25 30 35 40 45 50 Figur 1.3: y(t) beregnet med funksjonen step i MATLABs Control System Toolbox. (Fil: mfd_step.m) %MATLAB-skript: mfd_lsim.m tstopp=50; t=[0:.1:tstopp] ; %Generer array for t U=4;%Spranghoyden i u. %Lager sprangtidsserie: u=u*ones(length(t),1);%ones-funksjonen lager matrise av 1-ere m=20; Kf=2; D=4; A=[0,1;-Kf/m,-D/m]; B=[0;1/m]; C=[1 0];%Sørger for at utgangen er y=x1 (posisjonen). D=[0]; %Definerer LTI-modell med navn mfd vha. ss-funksjonen: mfd=ss(a,b,c,d); x0=[0;0]; y=lsim(mfd,u,t);%simulerer med lsim. Respons i y. %Plotting:

TechTeach 11 figure(1) plot(t,y),ylabel( [m] ),title( Posisjon, y ) grid Plottet av y(t) =x 1 (t) blir identisk med plottet vist i figur 1.3 (som ble generert med MATLAB-skriptet mfd_step.m). 1.2.3 Funksjonen impulse Funksjonen impulse virker som step og lsim, bortsett fra at inngangsssignalet ved impulse er en impuls med styrke 1. Impulse-funksjonen beskrives ikke nærmere her. 1.2.4 Funksjonen ode45 Funksjonen ode45 er én av de numeriske løsningsfunksjonene for ulineære differensiallikninger (på tilstandsromform) i MATLAB. 1 ode45 implementerer en såkalt Runge-Kutta (4,5) metode. ode45 er velegnet for mange typer systemer og kan benyttes som standardmetode. ODE står for Ordinary Differential Equations. Vi skal benytte ode45 til å beregne sprangresponsen i posisjonen y = x 1 for masse-fjær-demper-systemet. Først må vi lage en MATLAB-funksjon som definerer tilstandsrommodellen, se (mfd.m) nedenfor. %MATLAB-funksjonen mfd.m function xdot=mfd(t,x) global m D Kf u=4; xdot(1)=x(2); xdot(2)=-(kf/m)*x(1)-(d/m)*x(2)+(1/m)*u; xdot=[xdot(1);xdot(2)]; Vi lager (og kjører) så et skript som løser settet av differensiallikninger og plotter responsen x 1 (t) =y(t), semfd_ode45.m nedenfor. %MATLAB-skript: mfd_ode45.m 1 MATLAB-kommandoen help funfun lister opp andre differensialllikningsløsere.

12 TechTeach clear t0=0; %Starttid t1=50; %Sluttid x0=[0;0]; %Initialtilstand global m Kf D; m=20;kf=2;d=4; [t,x]=ode45(@mfd,[t0,t1],x0); figure(1) plot(t,x(:,1)) %Plotter x1=y som funksjon av t. grid Plottet av y(t) =x 1 (t) blir identisk med plottet vist i figur 1.3. 1.3 Simulering med SIMULINK 1.3.1 Innledning SIMULINK er et simuleringsverktøy som er integrert med MATLAB. Det forutsettes her at du har grunnleggende ferdigheter i bruk av SIMULINK [1]. Noen ord om måten jeg har valgt å gjennomføre simuleringene på i SIMULINK: Etter min erfaring er det mest hensiktsmessig bruke to filer, slik: En modellfil (*.mdl)som definerer SIMULINK-modellen Et MATLAB-skript (*.m) som som initialiserer (bl.a. definerer modellparametrene, som brukes i blokkene) og gjennomfører simuleringen og evt. etterbehandler data fra simuleringen (f.eks. lagrer til fil). I det følgende beskrives forskjellige SIMULINK-simuleringer svarende til alternative måter å representere masse-fjær-demper-systemets modell på (i SIMULINK).

TechTeach 13 1.3.2 Modellrepresentasjon med LTI-blokk SIMULINK har en LTI-blokk 2 (som er tilgjengelig når Control System Toolbox er installert) som kan brukes for en effektiv representasjon av lineære modeller i form av LTI-objekter. LTI-objekter genereres vha. egnede funksjoner i Control System Toolbox, f.eks. ss (state-space) for tilstandsrommodeller og tf (transfer function) for transferfunksjoner. Figur 1.4 viser SIMULINK-blokkdiagrammet med bl.a. LTI-blokka. MATLAB-skriptet som definerer LTI-objektet og kjører simuleringen av dette blokkdiagrammet, er gjengitt nedenfor. Figur 1.4: SIMULINK-blokkdiagram for masse-fjær-demper-systemet, hvis tilstandsrommodell er representert med en LTI-blokk %MATLAB-skript skriptsim_mfd_lti.m tid_sprang_u=0; u0=0; u1=4; m=20; Kf=2; D=4; A=[0,1;-Kf/m,-D/m]; B=[0;1/m]; C=[1 0];%Sørger for at utgangen er y=x1 (posisjonen). D=[0]; %Definerer en LTI-modell med navn mfd vha. ss-funksjonen: mfd=ss(a,b,c,d); %ss står for state-space (tilstandsrom) 2 LTI = Linear Time-Invariant

14 TechTeach %Setter simuleringsparametre: tidsskritt=0.1; options=simset( solver, ode5, fixedstep,tidsskritt); tstopp=50; %Simulerer systemet mfd_lti.mdl: sim( mfd_lti,tstopp,options) Figur 1.5 viser responsen i posisjonen y(t) =x 1 (t). (Plottet vises ved å dobbelklikke på Scope-blokken i SIMULINK-blokkdiagrammet, se figur 1.4). Figur 1.5: SIMULINK-simulering av responsen i posisjonen y = x 1 for massefjær-demper-systemet

TechTeach 15 1.3.3 Modellrepresentasjon med innebygd tilstandsrommodellblokk Blokken StateSpace i blokkbiblioteket Continuous kan brukes til å representere lineære tilstandsrommodeller i SIMULINK (som alternativ til bruk av LTI-blokken beskrevet ovenfor). Figur 1.6 viser blokkdiagrammet med StateSpace-blokken. Figur 1.7 viser blokkens parametervindu (som Figur 1.6: SIMULINK-blokkdiagram for masse-fjær-demper-systemet der blokken StateSpace benyttes for å representere tilstandsrommodellen åpnes ved å dobbelklikke på blokken). MATLAB-skriptet som definerer tilstandsrommodellen og kjører simuleringen, blir det samme som skriptet skriptsim_mfd_lti.m som er gjengitt ovenfor, bortsett fra at uttrykket mfd=ss(a,b,c,d) sløyfes. Responsen i posisjonen y(t) =x 1 (t) blir som vist i figur 1.5. 1.3.4 Modellrepresentasjon med detaljert blokkdiagram Dersom du har tegnet et detaljert blokkdiagram av den matematiske modellen som skal benyttes i en simulator, kan du implementere blokkdiagrammet direkte et SIMULINK-blokkdiagram. Figur 1.2 viser et detaljert matematisk blokkdiagram for masse-fjær-demper-systemet. Figur 1.8 viser hvordan dette blokkdiagrammet kan implementeres direkte i SIMULINK. (Bakgrunnen for

16 TechTeach Figur 1.7: Parametervinduet for tilstandsrommodellblokken i SIMULINK (vinduet åpnes ved å dobbelklikke på blokken) at symbolet 1 brukes for integratoren, er at 1 s s for en integrator.) er Laplace-transferfunksjonen MATLAB-skriptet gjengitt nedenfor definerer modellparametrene og gjennomfører simuleringen. Responsen i posisjonen y(t) =x 1 (t) blir som vist i figur 1.5. %MATLAB-skript skriptsim_mfd_detaljert_diagram.m tid_sprang_u=0; u0=0; u1=4; m=20; Kf=2; D=4; %Setter simuleringsparametre: tidsskritt=0.1; options=simset( solver, ode5, fixedstep,tidsskritt); tstopp=50; %Simulerer systemet mfd_detaljert_blokkdiagram.mdl: sim( mfd_detaljert_blokkdiagram,tstopp,options)

TechTeach 17 Figur 1.8: Implementering av masse-fjær-demper-systemets blokkdiagrammodell i SIMULINK Men hvorfor bruke et detaljert blokkdiagram når det fins mer effektive modellblokker, som LTI-blokken eller StateSpace-blokken? En grunn kan være at det er enkelt å legge inn ulineære funksjoner for f.eks. hysterese eller metning på passende steder i et detaljert blokkdiagram. Ellers bør en bruke blokker som mest effektivt representerer modellen, som en LTI-blokk. 1.3.5 Modellrepresentasjon med S-funksjon S-Functions-blokken i SIMULINK kan brukes til å kalle opp en S-funksjon (System Function), som er en MATLAB-funksjon der brukeren definerer modellen via tekstuttrykk, på noe av samme måten som ved bruk av ODE-funksjonene i MATLAB, se s. 11. Bruk av S-funksjoner beskrives ikke nærmere her. En referanse er [1].

18 TechTeach

Kapittel 2 Simulering av transferfunksjonsmodeller 2.1 Innledning Både MATLAB og SIMULINK har simuleringsfunksjoner for transferfunksjoner. De beskrives nedenfor. Som gjennomgående eksempel skal responsen i posisjonen y for masse-fjær-demper-systemet vist i figur 1.1 simuleres. Den matematiske modellen basert på kraftbalanse er: mÿ = Dẏ K f z + u (2.1) Systemets transferfunksjon fra kraften u til posisjonen y er H(s): 1 y(s) = u(s) (2.2) ms 2 + Ds + K {z f } H(s) 2.2 Simulering med MATLAB Beregning av tidsresponser for tilstandsrommodeller med step, lsim og impulse (som inngår i MATLABs Control System Toolbox [5]) ble beskrevet 19

20 TechTeach i kap. 1. step, lsim og impulse kan brukes også for transferfunksjoner. Vi nøyer oss her med å se på bruken av step (lsim og impulse kan brukes på tilsvarende måte). step påtrykker systemet et enhetssprang (sprang med høyde 1). MATLAB-skriptet nedenfor viser hvordan step kan benyttes for å beregne sprangresponsen i posisjonen y for masse-fjær-demper-systemet (det er et sprang med høyde 4 i kraften u). Transferfunksjonen er definert som et LTI-objekt vha. funksjonen tf. %MATLAB-skript: mfd_tf_step.m U=4; %Spranghoyden i u. m=20; Kf=2; D=4; %Definerer en LTI-modell med navn mfd vha. tf-funksjonen: tellerpolynom=[1]; %Koeffisientene i tellerpolynomet: nevnerpolynom=[m,d,kf]; %Koeffisientene i tellerpolynomet: mfd=tf(tellerpolynom,nevnerpolynom); %tf står for transfer function tstopp=50; [y1,t]=step(mfd,tstopp);%y1 er utgangsvektor.%t er tidsvektor. %step-funksjonen antar at inngangen er enhetssprang. y=y1*u; %Gir respons som svarer til inngangsspranghøyde U %Plotting: figure(1) plot(t,y),ylabel( [m] ),xlabel( t [sek] ),title( Posisjon, y ) grid Figur 2.1 viser y(t) som beregnet vha. step. 2.3 Simulering med SIMULINK SIMULINK er et blokkdiagrambasert simuleringsverktøy som bygger på MATLAB. SIMULINK er kort beskrevet på side 1.3 osv. SIMULINK har to muligheter for simulering av transferfunksjoner: Bruk av LTI-blokk med et LTI-objekt av typen transferfunksjon generert med funksjonen tf i Control System Toolbox. Bruk av innebygde transferfunksjonsblokker.

TechTeach 21 3 2.5 2 1.5 1 0.5 0 0 5 10 15 20 25 30 35 40 45 50 Figur 2.1: Posisjonen y(t) for masse-fjær-systemets transferfunksjon (2.2). y(t) er beregnet med step-funksjonen i MATLAB. Vi nøyer oss her med å se på bruk av LTI-blokken, som gir en noe mer fleksibel modellrepresentasjon enn transferfunksjonsblokker. Figur 2.2 viser blokkdiagrammet i SIMULINK. MATLAB-skriptet som kjører simuleringen, er gjengitt nedenfor. %MATLAB-skript skriptsim_mfd_tf_lti.m tid_sprang_u=0; u0=0; u1=4; m=20; Kf=2; D=4; %Definerer en LTI-modell med navn mfd vha. tf-funksjonen: tellerpolynom=[1]; %Koeffisientene i tellerpolynomet: nevnerpolynom=[m,d,kf]; %Koeffisientene i tellerpolynomet: mfd=tf(tellerpolynom,nevnerpolynom); %tf står for transfer function

22 TechTeach Figur 2.2: SIMULINK-blokkdiagram for masse-fjær-demper-systemet, hvis transferfunksjonsmodell er representert med en LTI-blokk %Setter simuleringsparametre: tidsskritt=0.1; options=simset( solver, ode5, fixedstep,tidsskritt); tstopp=50; %Simulerer systemet mfd_tf_lti.mdl: sim( mfd_tf_lti,tstopp,options) Den beregnede responsen y(t) blir som ved bruk av step-funksjonen, se figur 2.1.

Bibliografi [1] Finn Haugen: Lær SIMULINK trinn for trinn, Tapir Akademisk Forlag, 2003 [2] Finn Haugen: Lær MATLAB trinn for trinn, Tapir Akademisk Forlag, 2003 [3] Finn Haugen: Lær LabVIEW trinn for trinn, Tapir Akademisk Forlag, 2003 [4] Finn Haugen: Dynamiske systemer - modellering, analyse og simulering, Tapir Akademisk Forlag, 2003 [5] Finn Haugen: Tutorial for Control System Toolbox, TechTeach (http://techteach.no), 2002 23