SIMULINK. MATLAB Softver za modeliranje, simulaciju i analizu dinamičkih sistema

Similar documents
Projektovanje paralelnih algoritama II

Mathcad sa algoritmima

KLASIFIKACIJA NAIVNI BAJES. NIKOLA MILIKIĆ URL:

Algoritam za množenje ulančanih matrica. Alen Kosanović Prirodoslovno-matematički fakultet Matematički odsjek

Red veze za benzen. Slika 1.

FTN Novi Sad Katedra za motore i vozila. Drumska vozila Uputstvo za izradu vučnog proračuna motornog vozila. 1. Ulazni podaci IZVOR:

NEURONSKE MREŽE 1. predavanje

DYNAMIC HEAT TRANSFER IN WALLS: LIMITATIONS OF HEAT FLUX METERS

ANALYSIS OF INFLUENCE OF PARAMETERS ON TRANSFER FUNCTIONS OF APERIODIC MECHANISMS UDC Života Živković, Miloš Milošević, Ivan Ivanov

Uvod u relacione baze podataka

Index. 1/f Noise Need for, 200 Simulating, 200 Using cascaded linear systems, 202

Šta je to mašinsko učenje?

TEORIJA SKUPOVA Zadaci

5 th INTERNATIONAL CONFERENCE Contemporary achievements in civil engineering 21. April Subotica, SERBIA

MATHEMATICAL ANALYSIS OF PERFORMANCE OF A VIBRATORY BOWL FEEDER FOR FEEDING BOTTLE CAPS

System Simulation using Matlab

Summary Modeling of nonlinear reactive electronic circuits using artificial neural networks

Metode praćenja planova

Simulink Tutorial 1 CPE562

AIR CURTAINS VAZDU[NE ZAVESE V H

Lab 3: Quanser Hardware and Proportional Control

Dynamic Systems. Simulation of. with MATLAB and Simulink. Harold Klee. Randal Allen SECOND EDITION. CRC Press. Taylor & Francis Group

Regulisani elektromotorni pogoni sa asinhronim mašinama Direktna kontrola momenta

APPROPRIATENESS OF GENETIC ALGORITHM USE FOR DISASSEMBLY SEQUENCE OPTIMIZATION

U X. 1. Multivarijantna statistička analiza 1

ANALYTICAL AND NUMERICAL PREDICTION OF SPRINGBACK IN SHEET METAL BENDING

THE USE OF SCRIPT IN THE SOFTWARE GEMCOM ***

Rešenja zadataka za vežbu na relacionoj algebri i relacionom računu

Ivan Soldo. Sažetak. U članku se analiziraju različiti načini množenja matrica. Svaki od njih ilustriran je primjerom.

INVESTIGATION OF UPSETTING OF CYLINDER BY CONICAL DIES

TemidaLib sistem za rad sa velikim brojevima TemidaLib Multiprecision Arithmetic Library

= 0 otherwise. Eu(n) = 0 and Eu(n)u(m) = δ n m

Simulink Modeling Tutorial

6 th INTERNATIONAL CONFERENCE

D(s) G(s) A control system design definition

Digital Control of Electric Drives

FPGA Resource Utilization Estimates for NI crio LabVIEW FPGA Version: 8.6 NI-RIO Version: 3.0 Date: 8/5/2008

CONTROL SYSTEMS LABORATORY ECE311 LAB 1: The Magnetic Ball Suspension System: Modelling and Simulation Using Matlab

MODELING AND SIMULATION OF THE SELF - EXCITED STICK-SLIP SYSTEM USING BONDSIM TOOLS UDC :

PRIPADNOST RJEŠENJA KVADRATNE JEDNAČINE DANOM INTERVALU

Lecture 2. Today s Goal. Linearization Around a Trajectory, cont. Linearization Around a Trajectory. Linearization, cont d.

Combinatorial Logic Design Multiplexers and ALUs CS 64: Computer Organization and Design Logic Lecture #13

povezuju tačke na četiri različita načina (pravom linijom, splajnom,

Zbirka ispitnih zadataka iz Baza Podataka 1 Ispiti i kolokvijumi u periodu

Nonlinear Statistical Methodology Applied on Modeling the Growth Correlation of Some Global Macroeconomic Parameters

Lecture 14 - Using the MATLAB Control System Toolbox and Simulink Friday, February 8, 2013

x(n + 1) = Ax(n) and y(n) = Cx(n) + 2v(n) and C = x(0) = ξ 1 ξ 2 Ex(0)x(0) = I

Predmet:Nove fizičkohemijske metode Tema: Metode ispitivanja dinamike složenih reakcionih sistema

FPGA Resource Utilization Estimates for NI PXI-7854R. LabVIEW FPGA Version: 8.6 NI-RIO Version: 3.0 Date: 8/5/2008

VELOCITY PROFILES AT THE OUTLET OF THE DIFFERENT DESIGNED DIES FOR ALUMINIUM EXTRUSION

MAGNETIC FIELD OF ELECTRICAL RADIANT HEATING SYSTEM

Kontrolni uređaji s vremenskom odgodom za rasvjetu i klimu

Vidyalankar S.E. Sem. III [CMPN] Digital Logic Design and Analysis Prelim Question Paper Solution

Analysis and Application of FLL based on the Processing of the Input and Output Periods

PRECIPITATION FORECAST USING STATISTICAL APPROACHES UDC 55:311.3

LINEARNI MODELI STATISTIČKI PRAKTIKUM 2 2. VJEŽBE

Today s Goal. Lecture 2. Linearization Around a Trajectory, cont. Linearization Around a Trajectory. Linearization, cont d.

SYNCHRONIZATION OF HYDROMOTOR SPEEDS IN THE SYSTEM OF WHEEL DRIVE UDC : Radan Durković

Šime Šuljić. Funkcije. Zadavanje funkcije i područje definicije. š2004š 1

Linear Parameter Varying and Time-Varying Model Predictive Control

REALIZACIJA SIMULATORA REAKTIVNE SNAGE ELEKTRANE TENT A RADI ISPITIVANJA GRUPNOG REGULATORA REAKTIVNE SNAGE

Đorđe Đorđević, Dušan Petković, Darko Živković. University of Niš, The Faculty of Civil Engineering and Architecture, Serbia

Math Numerical Analysis Mid-Term Test Solutions

DEVELOPMENT OF MATHEMATICAL MODELS TO PREDICT THE EFFECT OF INPUT PARAMETERS ON FEED RATE OF A RECIPROCATORY TUBE FUNNEL FEEDER

DISTRIBUIRANI ALGORITMI I SISTEMI

KOINTEGRACIJA (engl. Co-integration)

Asian Journal of Science and Technology Vol. 4, Issue 08, pp , August, 2013 RESEARCH ARTICLE

DOUBLE ARM JUGGLING SYSTEM Progress Presentation ECSE-4962 Control Systems Design

Sample Test Paper - I

Sequential Logic. Rab Nawaz Khan Jadoon DCS. Lecturer COMSATS Lahore Pakistan. Department of Computer Science

Engineered System Design and Integration A semantic domain for modeling cyber-physical systems

THE ROLE OF SINGULAR VALUES OF MEASURED FREQUENCY RESPONSE FUNCTION MATRIX IN MODAL DAMPING ESTIMATION (PART II: INVESTIGATIONS)

3. Programiranje u Matlab-u

SYSTEM IDENTIFICATION APPROACH APPLICATION FOR EVALUATION OF SYSTEM PROPERTIES DEGRADATION UDC : (045)=20

LOGIC CIRCUITS. Basic Experiment and Design of Electronics

Miloš Brajović REKURZIVNO IZRAČUNAVANJE VREMENSKO-FREKVENCIJSKIH REPREZENTACIJA. magistarski rad

Power System Control

J. Sjöberg et al. (1995):Non-linear Black-Box Modeling in System Identification: a Unified Overview, Automatica, Vol. 31, 12, str

Unit 7 Sequential Circuits (Flip Flop, Registers)

ON A JERK DYNAMICAL SYSTEM II UDC Sonja Gegovska-Zajkova 1, Ljubiša M. Kocic 2

Simulacioni model direktne kontrole momenta sa diskretizovanim naponskim intenzitetima 1

Slika 1. Slika 2. Da ne bismo stalno izbacivali elemente iz skupa, mi ćemo napraviti još jedan niz markirano, gde će

Mathematical Modelling Using SimScape (Electrical Systems)

Programiranje u realnom vremenu Bojan Furlan

Numbering Systems. Computational Platforms. Scaling and Round-off Noise. Special Purpose. here that is dedicated architecture

Sadržaj Preface...1 Computer-aided analysis of mathematical models (dr Arpad Takači) ...3

Vidyalankar S.E. Sem. III [ETRX] Digital Circuits and Design Prelim Question Paper Solution

Lab 6a: Pole Placement for the Inverted Pendulum

Digital Logic: Boolean Algebra and Gates. Textbook Chapter 3

Sequential Logic Circuits

PARAMETRIC OPTIMIZATION OF EDM USING MULTI-RESPONSE SIGNAL-TO- NOISE RATIO TECHNIQUE

Dynamic analysis of 2-D and 3-D quasi-brittle solids and structures by D/BEM

LOGIC CIRCUITS. Basic Experiment and Design of Electronics. Ho Kyung Kim, Ph.D.

Overview Lecture 1. Nonlinear Control and Servo systems Lecture 1. Course Material. Course Goal. Course Material, cont. Lectures and labs.

OA07 ANNEX 4: SCOPE OF ACCREDITATION IN CALIBRATION

ZANIMLJIV NAČIN IZRAČUNAVANJA NEKIH GRANIČNIH VRIJEDNOSTI FUNKCIJA. Šefket Arslanagić, Sarajevo, BiH

Fundamentals of Digital Design

ATOMSKA APSORP SORPCIJSKA TROSKOP

Fajl koji je korišćen može se naći na

MREŽNI DIJAGRAMI Planiranje

Transcription:

SIMULINK MATLAB Softver za modeliranje, simulaciju i analizu dinamičkih sistema

Uopšteno o SIMULINK-u upotrebljava se za simulaciju dinamike sistema (u grafičkom okruženju) mogu se analizirati linearni, nelinearni, vremenski kontinualni ili diskretni multivarijabilni sistemi sa koncentrisanim parametrima radi kao proširenje MATLAB-a dodaje osobine karakteristične dinamičkim sistemima zadržava MATLAB-ovu funkcionalnost koristi se blok dijagram prozor kao glavni grafički alat model se formira kao blok dijagram upotrebom miša simulacija se ostvaruje upotrebom SIMULINK funkcija za numeričko rešavanje običnih diferencijalnih jednačina prvog reda

Upotreba SIMULINK-a upotrebljava se u dve faze formiranje simulacionog modela (Model-Based Design) analiza modela - simulacije U praksi se primenjuju oba koraka iterativno dok se ne dostignu željena ponašanja. Preporučuje se formiranje novog modela na osnovu postojedeg, tj. ne treba raditi sve iz početka.

Simulink proširenja Brojni hardver i softver se oslanjaju/proširuju Simulink Stateflow uvodi rad sa dijagramima stanja. Real-Time Workshop generiše C kod za real-time implementacije sistema u proizvodnji, dizajn embedded system-a. xpc Target zajedno sa x86-zasnovanim real-time sistemima pruža okruženje za simulacije i testiranje Simulink i Stateflow modela u relanom vremenu na PC računarima. Podržane su i druge brojne platforme (Infineon C166, Motorola 68HC12, Motorola MPC 555, TI C2000, TI C6000). Simulink HDL Coder omogudava automatsko generisanje VHDL i Verilog-a. SimEvents dodaje biblioteku grafičkih blokova za modelovanje redova čekanja. Pored vremenski zasnovanih (time-based) simulacija dodaje i vremenski diskretne simulacije zasnovane na događajima (event-based).

Formiranje simulacionog modela upotrebljavaju se blokovi tipična upotreba formiranje modela podseda na crtanje blok-dijagrama postoje biblioteke blokova Standardna, proširiva SIMULINK biblioteka korisnikova biblioteka blokovi se kopiraju iz biblioteke i povezuju vizuelno Kod složenih modela blokovi se mogu grupisati u hijerarhije blokovi poseduju parametre koji se postavljaju na željene vrednosti parametri blokova se mogu menjati i u toku simulacije programski interfejs (API) omogudava povezivanje sa proširenjima (simulacionim programima) i pisanje MATLAB koda.

Primer modela

Simulink okruženje

Primer jednostavnog modela Generator signala 2 Pojacanje Mux Multiplekser Graf pera u MAT LAB

Blokovi Veliki broj predefinisanih blokova organizovanih u grupe blokova Continuous and discrete dynamics blocks, sadrže Integration, Unit Delay,... Algorithmic blocks, sadrže Sum, Product, Lookup Table,... Structural blocks, sadrže Mux, Switch, Bus Selector,... Blokovi se mogu prilagoditi (kastomizovati) ličnim potrebama i grupisati u vlastite biblioteke blokova Dodatne grupe blokova donose MATLAB proširenja Za aerospace, communications, radio frequency, signal processing, video and image processing,... Proširenja za modelovanje fizičkih sistema (mehaničkih, električnih, hidrauličnih komponenti): Simscape, SimDriveline, SimHydraulics, SimMechanics, SimPowerSystems.

Kontinualni i Diskontinualni blokovi

Blokovi Ulaza (izvora) i Izlaza (ponora)

Matematičke operacije

Rutiranje signala, Korisnikove f-je, Logičke i bit op.

Izgradnja modela Zasniva se na dovlačenju (drag & drop) blokova iz bibliotreke u grafički editor i njihovom povezivanju linijama koje uspostavljaju matematičke relacije. Model se može urediti upotrebom operacija poput: copy, paste, undo, align, distribute, resize. Model se može organizovati u nekoliko nivoa upotrebom hijerarhija podsistema i model referenci. Podsistem enkapsulira grupu blokova i signala u jedan blok Podsistemu se može kreirati izgled tako da se prikazuje kao atomski (nedeljiv) blok sa svojom slikom (ikonom) i okvirom dijaloga za unos parametara bloka (maskom). Pojedinačne komponente modela se mogu nezavisno simulirati, verifikovati, snimati u biblioteke komponente/podsistemi se mogu referencirati u modelima gde su upotrebljene Biblioteke su kompatibilne sa configuration management sistemima, poput CVS, ClearCase,...

Uslovno izvršavanje podsistema Tokom testiranja se mogu omoguditi/onemogučiti izvršavanja delova dizajniranog modela To se postiže upravljanjem logičkim signalima Logički signali pokredu izvršavanje podsistema u predefinisanim trenucima ili zasnovano na događajima u sistemu Složena logika takvih signala se može realizovati upotrebom dijagrama stanja u alatu Stateflow

Signali i parametri modela Mogu se definisati atributi signala i parametri pridruženi modelu Signali su vremenski promenljive vrednosti predstavljene linijama koje povezuju blokove Parametri su koeficijenti koji pomažu u definsanju dinamike i ponašanja sistema Atributi signala i parametara se mogu direktno postaviti na dijagramu modela ili u posebnom data dictionary Model Explorer omogudava uređenje data dictionary-ja Atributi signala i parametara: Tip podatka single, double, signed or unsigned 8-, 16- or 32-bit integers; Boolean; fixed-point Dimenzionlanost scalar, vector, matrix, or N-D arrays Realna ili kompleksna vrednost Min i max opseg, početna vrednost, inženjerske jedinice

Podržani su Pokretanje simulacije fixed-step and variable-step solveri, grafički debugger, model profiler. Simulacije se mogu pokretati interaktivno upotrebom Simulink GUI ili iz MATLAB komandne linije (m-datoteka) Modovi simulacija su: Normalan (podrazumevan) model se interpretira Accelerator ubrzava simulaciju kompajliranjem koda i dozvoljavanjem izmena parametara modela (blokova) Rapid Accelerator brži od Accelerator moda, ali sa manje interaktivnosti gde se izvršavanje odvija odvojeno od Simulink-a Postoje MATLAB komande za učitavanje i procesiranje podataka modela, parametara i vizuelizaciju rezultata.

Solveri Solveri su numerički integracioni algoritmi koji računaju vremenske promene promenljivih stanja modela Podržane su simulacije brojnih tipova modela, poput: vremenski kontinualnih (analog), vremenski diskretnih (digital), hibridnih (mixed-signal), i multirate sistema (sa više perioda odabiranja). Solveri mogu simulirati stiff sisteme i sisteme sa diskretnim promenama stanja (diskontinuiteti, trenutne promene dinamike). Parametri simulacionog algoritma se mogu podešavati. Uključuju: Tip i osobine solvera Početno i krajnje vreme simulacije Da li se učitavaju ili snimaju simulacioni podaci? Optimizacione i dijagnostičke informacije Podešenja se mogu snimiti sa modelom

Primer formiranja modela dinamičkog sistema

Primer

Pojedini podsistemi primera

Pregled rezultata simulacije primera

Osnovne grupe blokova (v4) ulazi - Sources izlazi - Sinks diskretni sistemi - Discrete linearni sistemi - Linear nelinearni sistemi - Nonlinear veze između blokova - Connections dodatni blokovi - Extras Sources Sinks Discrete Linear NonlinearConnections Extras SIMULINK Block Library (Version 1.3c)

Blokovi ulaza (v4) generator vremena - Clock generator diskretnog vremena - Digital clock generisanje vremenske funkcije tabelom koja se periodično ponavlja - Repeating Sequence generator konstantne vrednosti - Constant generator signala: sinusni, četvrtke, trougaoni ili beli šum - Signal Generator generator impulsa - Pulse Generator generator sinusnog oblika - Sine Wave generator jedinične funkcije - Step Input Signal Generator Sine Wave untitled.mat From File Random Number Signal S ource Library Digital Clock Repeating 1 Sequence Constant Step Input Band-Limi ted White Noise Chirp S ignal generator funkcije definisane podacima iz MAT datoteke - From File generator funkcije definisane podacima iz radnog prostora - From Workspace generator sinusnog oblika sa linearno rastudom frekvencijom - Chirp Signal generator serije slučajnih brojeva - Random Number generator ograničenog belog šuma - Band-Limited White Noise Clock 12:34 [T,U] From Workspace Pulse Generator

grafički prozor za prikaz vremenske promene veličina - Scope, Graph, Auto-Scale Graph Blokovi izlaza (v4) grafički prozor za prikaz promene jedne veličine u zavisnosti od druge - XY Graph smeštanje rezultata u MATLAB promenljivu - To Workspace smeštanje rezultata u MAT datoteku - To File zaustavljanje simulacije (kada je ulaz u blok <>0) - Stop Simulation promena koraka integracije (obično pri pojavi diskontinuiteta) - Hit Crossing Signal Sinks Library Scope Graph STOP Auto-S calestop S imulation Graph XY Gra ph yout To Workspace untitled.mat To File Hit Crossing

Blokovi vremenski diskretnih sistema (v4) kašnjenje jedne periode odabiranja - Unit Delay digitalni filter - Filter zadavanje linearnog model diskretnog sistema: u prostoru stanja - Discrete State-Space preko polinoma funkcije prenosa - Discrete Transfer Fcn preko nula i polova - Discrete Zero-Pole produživači signala nultog reda - Zero-Order Hold prvog reda - First-Order Hold Discrete-T ime Library 1/z Unit Delay 1 1+2z -1 Filter Zero-Order Hold (z-1) z(z-0.5) Discrete Zero-Pole diskretni integrator - Discrete-Time Integrator i integrator sa ograničavačem - Discrete-Time Limited Integrator 1 z+0.5 Discrete Transfer Fcn x(n+1)=ax(n)+bu(n) y(n)=cx(n)+du(n) Discrete S tate-space 1 z-1 First-Order Hold Discrete-T ime Discrete-T ime Integrator Limited Integrator

Blokovi linearnih sistema (v4) sabirač - Sum množač (unutrašnji proizvod vektora) - Inner Product Integrator diferencijator - Derivative pojačavač - Gain matrični pojačavač - Matrix Gain klizač kao pojačavač - Slider Gain zadavanje linearnog kontinualnog modela sistema: u prostoru stanja - State-Space preko polinoma funkcije prenosa - Transfer Fcn preko nula i polova - Zero-Pole + Sum 1/s Integrator 1 Gain 1 Linear Library K Matrix Gain s+1 Transfer Fcn x' = Ax+Bu y = Cx+Du. Inner Product du/dt Derivative 1.04 Slider Gain (s-1) s(s+1) State-S pace Zero-Po le

Nelinearne komp. (v4) Nonlinear Library znak broja (1,0,-1) - Sign apsolutna vrednost - Abs Sign Relay Backlash proizvod - Product Quantizer Dead Zone Coulombic Friction funkcija - Fcn * Abs histerezis - Backlash Product Abs Look-Up Table zona neosetljivosti - Dead Zone >= AND ograničavač gradijenta - Relational Logical Combinatorial Rate Limiter Operator Operator Logic zavisnost izlaza od ulaza data f(u) system MATLAB Function 1/s tablicom - Look-Up Table Fcn S-Function MAT LAB Fcn zavisnost izlaza od dva ulaza data tablicom - 2-D Look-Up Table 1/s relej - Relay Memory Transport Variable Delay prekidač, izlaz se prebacuje kada srednji ulaz pređe preko Transport zadate Delay vrednosti (parametra) - Switch transportno kašnjenje - Transport Delay... Saturation Rate Limiter 2-D Look-Up Table Switch Reset Integrator Limited Integrator

Nelinearne komponente - nastavak promenljivo transportno kašnjenje - Variable Transport Delay funkcija MATLAB-a - MATLAB Fcn S-Function diskretizovanje ulaza - Quantizer statičko trenje - Coulombic Friction relacioni operator - Relational Operator logički operator - Logical Operator kombinatorno logičko kolo - Combinatiorial Logic memorija (uvodi kašnjenje od jednog koraka integracije) - Memory integrator sa ograničavačem - Limited Integrator

Blokovi za veze (v4) multiplekser - Mux (upotrebljava se za grupisanje signala) demultiplekser - Demux ulaz u posmatrani model - Inport izlaz iz posmatranog modela - Outport Connections Library 1 Inport 1 Outport Mux Mux Demux Demux

Dodatni blokovi DEMOS Posebni blokovi (v4) primeri Flip-Flop-ovi: Latch, SR, D, JK kontroleri i PID kontroleri niskopropusni, visokopropusni i pojasni filtri analiza signala: auto i kros korelacija, spektar, spektar snage prevođenje koordinata između polarnog i Dekartovog koordinatnog sistema blokovi drugih Toolbox-ova identifikaciju sistema veštačke neuronske mreže analizu robustnosti sistema,... Additional blocks using the mask utility (documented in release notes): Controllers Conversion Filters SIMULINK Demos System ID Block Library Most commonly used blocks Flip-Flops PID ControllersAnalyzers Blocks and demos which require toolboxes: Robust Control Demos MuTools Demos Neural Networks

Analiza modela ugrađeni su brojni alati za analizu modela različiti simulacioni algoritmi formiranje linearnog modela sistema (linearizacija modela) nalaženje stacionarnih stanja tok simulacije se može pratiti tokom njenog rada krajnji rezultati se mogu preneti u MATLAB-ovo okruženje

Analiza modela načini upotrebe 1. potpuno interaktivan rad komande se zadaju iz menija rezultati se posmatraju u grafičkim prozorima Simulink-a 2. pokretanje simulacije iz MATLAB-a model se može formirati interaktivno pokretanje simulacije i preuzimanje rezultata se radi u MATLAB-u Postupak je fleksibilniji od predhodnog jer se dobijeni rezultati mogu dodatno obraditi upotrebom MATLAB-a 3. upotreba S-funkcija model dela sistema se opiše programski S-funkcijom postoji blok S-Function Ne postoji jasna granica izmeđe upotrebe ova tri načina, tj. načini se međusobno preklapaju. Način analize modela obično zavisi od faze razvoja modela.

Analiza modela - Simulacija simulacija uključuje numeričku integraciju skupa diferencijalnih jednačina postoji nekoliko algoritama za integraciju: sa promenljivim korakom integracije sa fiksnim korakom integracije Zbog razlika u dinamičkom ponašanju različitih sistema, ni jedan algoritam ne garantuje da de za svaki model davati tačne i efikasne (brze) rezulatate. Za dobijanje tačnih rezultata treba požljivo izabrati metodu integracije i postaviti njene parametre.

iz menija iz komandne linije - MATLAB-a Pokretanje simulacije pokretanje simulacije iz MATLAB-a u odnosu na pokretanje simulacije iz menija ima vedu fleksibilnost, mogu se: zadati početna stanja formirati spoljašnji ulazi preko dodatne promenljive ut pokretati simulacije iz MATLAB skript datoteke, gde se parametri mogu programski menjati

Pokretanje simulacije iz menija Parametri algoritma se posebno postavljaju u dijalogu (v4): izbor algoritma integracije vremena početka i kraja simulacije: tstart i tfinal tolerancija, min. i maks. korak integracije: tol, minstep, maxstep imena promenljivih sa rezultatima simulacije: txy (vreme, prom. stanja, izlazi sistema kao [t,x,y]) Mogudnost izbora integracionog algoritma fiksnog i promenljivog koraka v7

Pokretanje simulacije iz komandne linije (v7) *t,x,y+ = sim( model,<timespan>,<options>,ut, p1, p2, ) <TIMESPAN> se zadaje na jedan od načina: TFinal, [TStart TFinal], ili [TStart OutputTimes TFinal]. <OPTIONS> se postavlja upotrebom simset UT = [T, U1,... Un] Primeri: sim( model',tfinal) *t,x,y+=sim( model',tfinal) sim( model',[tstart tfinal],simset('initialstate',x0)) sim( model',[tstart tfinal],simset('initialstate',1,'solver','ode23'))

Pokretanje simulacije iz komandne linije (v4) Parametri algoritma se zadaju kao argumenti *t,x,y+ = linsim( model, *tstart,tfinal+, x0, *tol,minstep,maxstep+, UT, p1, p2, ); ili krade, gde pojedini parametri imaju podrazumevane vrednosti *t,x,y+ = linsim( model, tfinal );

Izlazi modela - prikaz rezultata 1. Označavanje izlaza blokom za izlaz modela - prenos vrednosti kao izlaza modela u MATLAB - Prenos vrednosti kao ulaz u druge Simulink blokove 2. Grafički prikaz trajektorije pomodu Graph blokova 3. Prenos vrednosti u MATLAB pomodu To Workspace bloka 4. Zapis u datoteku - To File blok Step Input Step Input1 1 s+1 Transfer Fcn 1 s+1 Transfer Fcn1 Graph 1 Outport Step Input2 1 yout s+1 To Workspace Transfer Fcn2

Početna stanja primenjuju se u trenutku tstart nalaze se u samim blokovima mogu se postaviti (promeniti) iz komandne linije [t,x,y] = sim( model',tfinal,simset('initialstate',x0)) %v7 [t,x,y] = linsim( model, tfinal, x0 ) %v4 početna stanja postojedeg modela se mogu očitati pomodu [sizes,x0] = model sizes su podaci u modelu: broj ulaza, izlaza,...

Algebarske petlje 1 Constant + - Sum 1 Gain x To Workspace algebarske ili implicitne petlje se javljaju kada dva ili više blokova imaju direktan prenos svojih ulaza i formiraju povratnu spregu rešavaju se iterativno (u najviše 200 iteracija Newton-Raphson tehnikom) znatno umanjuju brzinu simulacije i treba ih izbegavati javljaju se kod: blokova sa pojačanjima vedine nelinearnih blokova funkcija prenosa sa jednakim stepenima brojioca i imenioca ili jednakim brojem nula i polova modela u prostoru stanja sa nenultom matricom D

Interpolacija podataka potrebna je zbog promenljivog koraka integracije dobijaju se neekvidistantne tačke koje se teško upoređuju MATLAB-ove funkcije za interpolaciju podataka procenjuju vrednosti u vremenskim trenucima različitim od poznatih metode: linearna interpolacija yint = table1( [ t, y ], tint ) interpolacija polinomom (1-D biharmonična interpolacija) yint = interp2( t, y, tint ) interpolacija kubnim splajnom yint = spline( t, y, tint ) Ove funkcije imaju i dodatne parametre.

Osobine simulacionih algoritama (v4) linsim upotrebljava se za linearne sisteme sa: funk. prenosa, modelima u prostoru stanja, modelima preko nula i polova, sabiračima i pojač. može se upotrebiti i za sisteme koji sadrže nelinearne elemente, ali ako su sastavljeni pretežno od linearnih elem. dobar je za stiff sisteme - sisteme sa jednovremeno prisutnom i brzom i sporom dinamikom rk23, rk45 najbolji za izrazito nelinearne i diskontinualne sisteme dobar za mešane kontinualne i diskretne sisteme loš za stiff sisteme...

gear Osobine simulacionih algoritama - nastavak... dobar za nelinearne i glatke sisteme dizajniran za stiff sisteme, a manje je efikasan za ostale loš za sisteme sa singularitetima i brzim poremedajima i promenema na ulazima adams dobar za nelinearne i glatke sisteme loš za sisteme sa vremenskim konstantama koje se menjaju u širokim granicama euler dobar samo za proveru rezultata generalno: izbegavati ga!

Primer (v4) opt = [1e-3, 1e-5, 10]; % tolerancija, min i max korak Tf = 20; x0 = [1; 1]; [tr23, xr23] = rk23( 'vdp', Tf, x0, opt ); plot( tr23, xr23 ) Van der Pol jednacina: X'' + ( X*X - 1 ) X' + X = 0 ili X1' = X1( 1 - X2*X2 ) - X2 X2' = X1 1 X2 1 - u * u (1-x2*x2) * - + X1' 1 s 1 s Scope X1

Poređenje metoda integracije (v4) tol=0.001 Metod Br. računanja izvoda Tačaka na izlazu Vremena računanja Greška (po tački) linsim 144 136 1,37 0,0051 rk23 316 89 1,50 0,0023 rk45 204 35 1 0,0041 adams 270 55 1,51 0,0019 gear 336 65 1,91 0,0048 euler 365 366 3,03 0,2881 referenca je rk45 sa tolerancijom od 1e-6 računato na PC486/33

Poređenje metoda integracije (v4) tol=0.1 Metod Br. računanja izvoda Tačaka na izlazu Vremena računanja Greška (po tački) linsim 77 74 2.38 0.0326 rk23 86 23 1.29 0.3730 rk45 140 21 1.46 0.8811 adams 116 34 2.69 0.1005 gear 181 48 4.17 0.2319 euler 33 34 1 1.5835 referenca je rk45 sa tolerancijom od 1e-6 računato na PC486/33

Vremenski diskretni modeli u Simulink-u sadrže diskretne blokove svaki blok ima ugrađene : odabirač na ulazu i produživač signala 0-tog reda na izlazu ulazi se osvežavaju (računaju) samo u trenucima odabiranja izlati imaju stalnu vrednost između dva trenutka odabiranja vreme odabiranja i ofset (opcija) su parametri bloka t = n T + ofset model može sadržati diskretne blokove sa različitim periodama odabirača modeli mogu biti sačinjeni isključivo od diskretnih blokova modeli mogu biti hibridni, sa pomešanim diskretnim i kontinualnim blokovima

Linearizacija modela funkcija linmod formira linearan vremenski kontinualan model na osnovu Simulink 'model'-a rez = linmod( model,x,u) gde su: ulazi i izlazi modela označeni ulaznim i izlaznim blokovima (iz biblioteke veza među blokovima) x i u nominalne vrednosti promenljivih stanja i ulaza - radna tačka oko koje se vrši linearizacija (mogu se izostaviti ako je radna tačka u 0) rez je dobijeni linearan model u nekoliko oblika: *A,B,C,D+ = linmod( model,x,u) [P, Q+ = linmod( model,x,u) struktura = linmod( model,x,u) kod vremenski diskretnih ili hibridnih modela upotrebljava se funkcija dlinmod, sa dodatnim parametrom - vremenom odabiranja Ts rez = dlinmod( model,ts,x,u)

Linearlizacija modela - primer» [a, b, c, d] = linmod( model2bloka') a = -2-1 1 1 0 0 0 1-1 b = 1 0 0 c = 0 1 0 0 0 1 1 Inport + + Sum 1 s 2 +2s+1 Transfer Fcn1 1 2 Outport1 1 Outport d = 0 1 s+1 Transfer Fcn2

Linearlizacija modela primer 2 1 s+2.5 G6 1 In1.5 G1 10 s+2 G2 1.7 G3 2 s 2+s+2 G4 1 Out1 s+1 s 2+2s+7 G5 -K- G7» [a,b,c,d]=linmod('zad7blok');» tf(ss(a,b,c,d)) Transfer function: 17 s^3 + 76.5 s^2 + 204 s + 297.5 --------------------------------------------------------------------------------------- s^6 + 7.5 s^5 + 46.5 s^4 + 124.5 s^3 + 293.2 s^2 + 289.7 s + 315.8

Određivanje stacionarnih tačaka (trim) Za zadate vrednosti ulaza (i promenljivih stanja) mogu se odrediti vrednosti izlaza u ustaljenom stanju, i obrnuto Za zadate vrednosti izlaza mogu se odrediti vrednosti ulaza, ili kombinacija... Primer Odrediti vrednosti ulaza i promenljivih stanja koje na izlazu modela daju y=[1;1]» x = [0 0 0]'; u = 0; % početno pogađanje promenljivih stanja i ulaza» y = [1;1]; % željene vrednosti izlaza» ix = []; iu = []; % dozvoljene su promene vrednosti prom. stanja i ulaza» iy = [1;2]; % izlazi modela koji su fiksirani: 1. i 2.» [x, u, y, dx] = trim('model2bloka', x, u, y, ix, iu, iy) x = 0.0000 1.0000 1.0000 u = 3.5135e-016 y = 1.0000 1.0000 dx = 1.0e-015 * 0 0.0800 0.2220

Primer - Amortizer Nelinearan model: mx ( t) cx ( t) F m 10, c 5, F k k ( x( t)) ( x) 80x 3 f ( t) x ( t) x 1 x 2 2 ( t) f ( t) ( t) m c m x 2 80 ( t) m x 3 1 ( t)» *t,x,y+=sim( AmortizerNelin',20,*+,*0 10; 10 10+);» plot(t,y) 0.8 Odziv x(t) na pobudu 10h(t) 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0 2 4 6 8 10 12 14 16 18 20

Primer Amortizer stacionarno stanje Stacionarno stanje: mx ( t) cx ( t) 80x 3 ( t) f ( t) 80x 3 f» Upoc = 10; Xpoc = [1;1]; Ypoc = [1];» [Xnom, Unom, Ynom] = trim( AmortizerNelin', Xpoc, Upoc, Ypoc, [], 1, []) Xnom = 0.5000 0.0000 Unom = 10 Ynom = 0.5000

Primer Amortizer - linearizacija» *a,b,c,d+ = linmod( AmortizerNelin, Xnom, Unom) a = 0 1.0000-6.0000-0.5000 b = 0 0.1000 c = 1 0 d = 0» w = tf(ss(a,b,c,d)) Transfer function: 0.1 ------------------ s^2 + 0.5 s + 6 Linearizacija modela mx ˆ( t) cxˆ( t) 80x 3 80x xˆ( t) 3 80x f, f 10 x 0.5 2 mx ˆ( t) cxˆ( t) 240x xˆ( t) fˆ( t) 10 xˆ( t) 5xˆ( t) 60xˆ( t) fˆ( t) 3 2 f fˆ( t)

Primer Amortizer - poređenje Poređenje odziva linearnog i nelinearnog modela:» [y, t, x] = step(w, 25); % odziv na jediničnu pobudu» UT = [0 Unom+1; 25 Unom+1]; % pobuda je ustaljeno stanje + 1 (jed.pobuda)» [tn, xn, yn+ = sim( AmortizerNelin, 25, simset('initialstate',xnom), UT);» plot(t, y+ynom, tn, yn) 0.535 0.53 0.525 0.52 0.515 0.51 0.505 0.5 0 5 10 15 20 25 30

Kako SIMULINK funkcioniše 1. svi parametri blokova se izračunavaju u MATLAB-u i zamenjuju brojnim vrednostima 2. blokovi se sortiraju prema redosledu računanja (hijerarhija podsistema se ovde ignoriše) 3. proveravaju se dimenzije veza među blokovima (broj izlaza predhodnog se mora slagati sa brojem ulaza narednog bloka) 4. prva faza simulacije: računaju se izlazi svih blokova na osnovu (početnih) stanja 5. druga faza simulacije: iterativno se računaju izvodi na osnovu tekudeg vremena, ulaza i stanja. Izračunati izvodi se prosleđuju algoritmu za integraciju 6. osvežava se ekranski prikaz.