11.07.2015 Views

MATLAB / SIMULINK TOOLS

MATLAB / SIMULINK TOOLS

MATLAB / SIMULINK TOOLS

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

DATA EXCHANGESamenvatting:Deze beschrijving geeft aan hoe je numerieke data uitwisselt van en naar MatLab(versie 6) voor een tekstbestand en voor SimuLink.Van een tekst (ASCII) file naar MatLabNumerieke data uit een tekstbestand worden in een matrix ingelezen. Dit betekent datalle rijen en kolommen gevuld moeten zijn met getallen. Er mag dus nergens een legeplek aanwezig zijn. Verder moeten decimale komma's worden gewijzigd in decimalepunten. Dus 12,34 kan niet worden ingelezen en dient gewijzigd te worden in 12.34VoorbeeldStel we willen de getallen van de file 'Textfile.txt' inlezen. Deze file ziet er als volgt uitals we hem openen met een tekst editor:***START HEADER ***...*** END HEADER ***0 10,0 201 20,0 402 30,0 603 40,0 804 50,0 100*** START FOOTER ***...*** END FOOTER ***Figuur 1. De in te lezen tekstfile 'Textfile.txt'De bovenstaande file moet zodanig worden aangepast dat alleen de numerieke dataoverblijven met de decimale punten:- verwijder de header- verwijder de footer- vervang , door .


Bewaar de bewerkte file. In dit geval is deze 'Data.txt' genoemd. De inhoud is volgt0 10.0 201 20.0 402 30.0 603 40.0 804 50.0 100Figuur 2. De bewerkte tekstfile 'Data.txt'.De file is nu gereed om ingelezen te worden. Ga in MatLab naar de directory waar'Data.txt' staat en type dan:>> load Data.txt>> t=Data(:,1)t =01234>> x1=Data(:,2);>> x2=Data(:,3);>> plot(t,x1,t,x2)De data is geïmporteerd naar de matrix 'Data'. Tevens wordt een grafiek geplot.Van MatLab naar een tekst (ASCII) fileStel we willen een matrix A exporteren naar een tekstbestand:>> A=[1:5;2:2:10]A =1 2 3 4 52 4 6 8 10>> save Adata.txt -asciiDe file 'Adata.txt' is nu aan gemaakt en kan geopend worden door bijvoorbeeld eenteksteditor.


Van MatLab naar SimuLinkSimuLink is een programma dat werkt met tijdsafhankelijke signalen. Als we data vanMatlab naar SimuLink willen exporteren gaat dit altijd gepaard via een matrix waarin debijhorende tijdvector in de eerste kolom staat en de data in de volgende kolommen.Stel we willen 2*sin(t) en 3*sin(t) met een bijbehorende een tijdvector van 0:0.1:10(begintijd 0 sec; tijdstap 0.1 sec; eindtijd 10 sec) exporteren naar SimuLink via deworkspace.De matrix B wordt als volgt in Matlab gemaakt:t=[0:0.1:10]';>> y1=2*sin(t);>> y2=3*sin(t);>> B=[t y1 y2];>> BB =0 0 00.1000 0.1997 0.29950.2000 0.3973 0.5960...9.9000 -0.9151 -1.372610.0000 -1.0880 -1.6321Start nu SimuLink op door 'simulink' te typen achter de matlab prompt.Maak het volgende blokschema, selecteer hierbij in SimuLink het 'From Workspace'blok uit de 'Sources' groep van de library browser en verbindt deze met een 'Scope'.Figuur 3. Blokschema inlezen data van de workspace van MatLab


Dubbel click op het 'From Workspace' blok en vul 'B' in zoals weergegeven inonderstaande figuur:Figuur 4. Invulscherm 'From Workspace' blok.Druk op 'OK' en start de Simulatie via Simulation/Start. Een grafiek verschijnt, door tedubbelclicken op de 'Scope'.Van SimuLink naar MatLabStel we willen de data van de 'Scope' van het volgende SimuLink model exporteren naarMatlab:


Figuur 5. SimuLink model.Construeer het bovenstaande model in SimuLink en start de Simulatie viaSimulation/Start. Een grafiek verschijnt, door te dubbelclicken op de 'Scope':Figuur 6. De 'Scope' grafiekClick op het 'Parameters' icon van de scherm van de Scope en daarna op 'Data history'.Vul dit scherm als volgt in:


Figuur 7. De 'Data history' van de ScopeDruk op OK en start de Simulatie via Simulation/Start opnieuw. De data van de Scopestaat nu in de wokspace van MatLab onder de naam 'ScopeData'. Type het volgende inMatlab om een grafische weergave in MatLab te verkrijgen:>> t=ScopeData(:,1);>> y3=ScopeData(:,2);>> plot(t,y3)>>De grafiek verschijnt in MatLab.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!