Inleiding Matlab & Simulink

Vergelijkbare documenten
Matlab introductie. Kees Vuik

Matlab-Introductie (les 1)

Aantekeningen over MATLAB

PC les 1: MATLAB gebruiken

Beknopte handleiding voor Derive 5.0 for Windows

Enkele voorbeelden volstaan. Zie verder de Help-file van Matlab.

Eerste serie opgaven Systeemtheorie

Inleiding Statistiek

User accounts maken in een Wandy Hotspot, d.m.v. een batch.

Hoofdstuk 3. Matrices en stelsels. 3.1 Matrices. [[1,7]],[[12,8] ] of [ 1, 7; 12,8 ] bepaalt de matrix

Beknopte handleiding Overhoor NL (Efka-soft)

Korte handleiding Maple bij de cursus Meetkunde voor B

1. Introductie tot SPSS

Vergelijkingseditor 2007

Globale kennismaking

WI1808TH1/CiTG - Lineaire algebra deel 1

INLEIDING TOT GEOGEBRA

INHOUD. KHLim dep IWT MeRa 1/22

Wat zijn de verschillen tussen SPSS 9 en SPSS 10?

Handleiding Pivot docent Wendy Bruins versie 1.2 december 2008

Welk programma gebruiken we? Om onze foto s te verkleinen gebruiken we het programma IrfanView. Het icoontje van IrfanView ziet er als volgt uit:

Handleiding ISaGRAF. Wil men het programma bewaren, dan is het verstandig een back-up te maken: C9 Back-up / Restore

1. Achtergronden verwijderen (op basis van Photoshop CS2/CS3)

Handleiding JCreator. Inhoud. Een Workspace en een eerste project maken

10. Mijn eerste programma

2. Wanneer moet ik een afbeelding verkleinen?

In dit document staat beschreven hoe je de meetgegevens vanuit Coach kunt opslaan en later in kunt lezen in Excel en hier een grafiek van kunt maken.

Wiskunde en ICT 1. Met het lettertype wiskunde.ttf kan je onderstaande wiskundige symbolen invoegen.

HANDLEIDING EXAMENRESULTATEN INTERACTIEF

Korte handleiding Maple, bestemd voor gebruik bij de cursus Wiskunde

MATLAB: Een Inleiding

Courbois Software WebDesignEditor. WYSIWYG-Editor

Basistechnieken Microsoft Excel in 15 minuten

TI-SMARTVIEW. Installeren op Windows PC

1. HOE MAAK IK EEN IPART EN PLAATS IK DEZE IN HET CONTENT CENTER?

Stappenplan Werken met Popplet

Beknopte handleiding SQ Vieuw software

Count-e Statistieken. Statistieken

Handleiding Digibordsoftware Malmberg

Introductie in R.

Stappenplan Infographic maken

Waar pas je een WordPress menu aan?

U ziet de progressie van de download aan de groene blokjes in het balkje helemaal onder aan de pagina.

Grafiek van de temperatuur in de loop van de tijd

De TI-84 (TI-83) 1 Introductie

design ook items uitsnijden


Handleiding om uw website/webshop aan te passen

Beginnen met de Casio fx-cg20

HANDLEIDING CAMERASYSTEEM. Open eerst een webbrowser naar keuze: bij voorkeur

ONBETWIST ONderwijs verbeteren met WISkunde Toetsen Voorbeeldtoetsen Lineaire Algebra Deliverable 3.10 Henk van der Kooij ONBETWIST Deliverable 3.

Handleiding Macromedia Contribute

UM - FdGW 1. ontwikkelde handleiding over het gebruik van MS Word voor het werken aan portfolio-websites.

Een eerste applicatie

Diamanten jacht. Gamemaker Workshop. Hogeschool van Amsterdam. Benjamin van Arkel, Simon Karman en Koen Vrij

Technieken: Editable Poly Extrude Bevel Material Editor. Klik op File - Reset. Zo begin je met een schoon scherm en de basisinstellingen van 3Dmax.

lesboek Jonker & Wu CAD support

II. ZELFGEDEFINIEERDE FUNCTIES

Experiment: massadichtheid

Scratch in drie uur. Hallo, mijn naam is Minti Mint! Ik ga je uitleggen hoe je je eigen computerspel kunt maken. We gaan een racespel maken!

Handleiding Digibordsoftware. Versie 1.1

voor Blender v2.42a Software Box Bas van Dijk v1.1 februari 2007

Excel reader. Beginner Gemiddeld.

Vragen opmaken in de editor

Inhoud. Informatica. Hoofdstuk 5 Scripting. Context. Editor voor Programmeercode. Scripting 1

Publiceren basisrooster

Het maken van een grafiek in Excel

HOE EEN CD TE BRANDEN MET EEN ILDVR SYSTEEM. 1. Indien anders wordt aangegeven, worden alle onderstaande functies uitgevoerd met de linker muisknop.

Symbol for Windows Planner Versie 0.8

HANDLEIDING APPRENTICE (voor leerlingen)

Beeldcompressie. VWO Masterclass oktober 2008

Korte inleiding Excel

Samen op zoek naar proeven

Handleiding Joomla! Frontend, content en gallery. september 2014 versie 1.0

8.5 Koppelingen: oefeningen

Bijlage bij Getting Started Guide International English Edition

8. Accenten en Trema's

HOOFDSTUK 1. beginnen met excel

Korte handleiding Maple, bestemd voor gebruik bij de cursus Wiskunde

Wetenschappelijk Rekenen

Website bouwen met frontpage

Bitrix Site Manager gebruikershandleiding BureauZuid

MA!N Rapportages en Analyses

Inhoud. Handleiding Dododent. Beste tandarts of praktijkmanager,

Inloggen in AccountView online voor Mac OS 30 april 2015 versie 9.1 en hoger

Inhoud. Digitale instructiefilms ontworpen door Monique Gruijthuijzen, docent bij Bedrijfscommunicatie. Pagina 1

1E HUISWERKOPDRACHT CONTINUE WISKUNDE

Een grafiek maken in Excel

Project Dynamica: oefenopgaven met R

Quick Reference Card. Activiteiten

Gebruiksaanwijzing. Versie 1.0. Michiel Bouman

File: M.Peters / Powerpoint 1

Het gebruik van een spreadsheetprogramma Algemene introductie in het gebruik van spreadsheets Fons Vernooij

Probleemstelling: Hoe kan binnen CRMcorner (standaard) sjablonen gekoppeld worden aan bepaalde overzichten en het communicatie centrum.

Oefenzitting 3: Simulink Dynamisch gedrag van een proces

Derive in ons wiskundeonderwijs Christine Decraemer

Bijlage Inlezen nieuwe tarieven per verzekeraar

Gebruikershandleiding invoerprogramma B.O.S.

Lineaire algebra I (wiskundigen)

Transcriptie:

2 Getallen en online help Inleiding Matlab & Simulink voor gebruik bij het vak Inleiding Wiskundige Systeemtheorie Okay, start Matlab weer op. Opdracht-3: Tik in 2+3 Zoals je ziet laat Matlab het resultaat 5 zien. Opdracht-4: Tik in a=2+3; Dit definieert de variabele a en zijn waarde is 5. Dat Matlab het resultaat niet laat zien is omdat het commando eindigt met ; Matlab Dit is een beknopte, telegram-stijl inleiding tot Matlab en Simulink. Het pakket Matlab is bij uitstek geschikt voor numeriek werk en voor het rekenen met vectoren en matrices. Matlab kenmerkt zich door korte en efficiënte code en het is makkelijk in gebruik. Elke paragraaf behandelt een beperkt aantal onderwerpen. Aan de hand van vele korte opgaven (de grijze kadertjes) leiden we de onderwerpen in. Opdracht-: Start Matlab op. Als het goed is zie je nu zoiets als dit: Opdracht-5: Tik in a=2+3*sqrt(-) Aha, Matlab kent dus complexe getallen. Je had overigens ook gewoon a=2+3*i in kunnen tikken. Matlab heeft heel veel functies die op getallen werken. Bijvoorbeeld sin() geeft wat je verwacht. Als je niet weet hoe een functie werkt of of een functie überhaupt binnen Matlab gedefinieerd is kun help roepen: Opdracht-6: Tik in help abs Als je iets wil met tangens (Engels: tangent) maar je weet niet precies hoe en wat, dan doe je lookfor. Dat geeft een overzicht van alle commando s die iets met tangens te maken hebben: Opdracht-7: Tik in lookfor tangent (overigens, dit kan een tijdje duren) Opdracht-8: Tik in x=/0 Opdracht-9: Tik in y=/x Opdracht-0: Tik in z=-inf Jawel, Matlab kan overweg met oneindig! Het grote venster rechts heet het command window en dat is waar je interactief de Matlab commando s kunt intikken (we maken ons niet druk om de kleine venstertjes links). De twee groter-dan tekens >> in het command window geeft aan dat Matlab klaar is voor invoer. Opdracht-2: Selecteer met de muis het command window en tik vervolgens exit <return> Hiermee verlaat je Matlab. In het vervolg laten we <return> achterwege en veronderstellen we dat het command window al is geselecteerd. 3 Vectoren Opdracht-: v=[ 2 3 4 5] Dit definieert de rij-vector v R 5. Om bijvoorbeeld het tweede element ervan te zien doe je v(2). Het veranderen van de waarden gaat bijvoorbeeld zo: Opdracht-2: v(2)=-2 Opdracht-3: v(8)=8

Je ziet, je hoeft in Matlab vectoren niet vooraf te declareren: op het moment dat je v(8) nodig hebt gebruik je het gewoon. Matlab geeft de door jou nog niet gedefinieerde v(6) en v(7) de waarde nul. Overigens, het voortdurend laten groeien van de dimensie van een vector kost erg veel tijd en geheugen en is het beste te vermijden. Het laatste element van een vector kan heel handig zo worden achterhaald: Opdracht-4: z=v(end) Nog een paar vectorconstructies: Opdracht-5: nul=zeros(,5) Opdracht-6: een=ones(5,) Opdracht-7: rij=:5 Opdracht-8: kolom=(:5) Opdracht-9: rij=0:-2:3 De laatste behoeft wellicht enige uitleg. De constructie a:b:c betekent de rij-vector [ a a + b a + 2b a + 3b a + c a b b] Anders gezegd, het is de doorsnijding van het rijtje [ a a + b a + 2b ] met het interval [a, c]. Nog een paar andere constructies: Opdracht-20: x=:4 Opdracht-2: v=[-2 x x 0] Opdracht-22: x([ 3])=[- -33] Het laatste commando is een compacte manier om te zeggen dat x()=- en x(3)=-33. Je kunt vectoren optellen en scalair vermenigvuldigen, bijvoorbeeld Opdracht-23: x=[ 2 4]; y=x+x Opdracht-24: y=3*x Matlab kent daarnaast ook het zeer handige elementsgewijze product, quotiënt et cetera van vectoren en matrices. Als de elementsgewijze operaties worden bedoeld dan moet de operatie worden voorafgegaan door een. zoals in [2 5].*[2 5] Dat geeft de rijvector[4 25]. Dergelijke operaties zijn o.a. zinvol als er functies geplot moeten worden (zie verderop). Opdracht-25: x=[ -2 3]; y=x.*x Opdracht-26: y=x./x Opdracht-27: y=x.^x Opdracht-28: y=x+0 Dat laatste verhoogt elk element van x met 0. Een vector kan in Matlab ook een polynoom representeren. Zo geeft bijvoorbeeld het commando x =[ -2 3]; roots(x) de nulpunten van de polynoom t 2 2 t + 3. Merk op dat x() de coëfficiënt is van de term van hoogste graad. Opdracht-29: Bepaal de nulpunten van de polynoom t 3 + 3t 2 + 3t +. 4 Matrices Opdracht-30: A = [ 2; 4 5] % 2*2 matrix Opdracht-3: X=A % getransponeerde Opdracht-32: A(,2) % laat A(,2) zien Opdracht-33: B=A(:,) % eerste kolom van A Opdracht-34: C=A(2,:) % tweede rij van A Opdracht-35: det(a) % determinant van A Opdracht-36: inv(a) % inverse Opdracht-37: A^(-) % inverse Opdracht-38: A^0 % machtsverheffen Opdracht-39: v=[3;5] % een kolomvector Opdracht-40: A*v Opdracht-4: x=a\v % matrix product % oplossing van A*x=v Opdracht-42: I=eye(3) % 3*3 eenheidsmatrix Opdracht-43: We kunnen de elementen van de matrix ook met een for-loop vullen: A=zeros(3,4); for i=:3, for j=:4, A(i,j)=i*j; end end A Opdracht-44: [n,m]=size(a) % aantal rij,kolom 2

Verder kunnen op matrices ook weer elementsgewijze operaties uitgevoerd worden zoals Opdracht-45: A=[ 2; 3 4];./A Opdracht-46: A.*A 5 Plotten Om de grafiek van y = t 2 te plotten zou je bijvoorbeeld kunnen doen: t=:6; % da s [ 2 3 4 5 6] y=t.*t; % da s [ 4 9 6 25 36] Het commando plot zet hier de elementen van de vector y uit tegen de elementen van t. Iets geavanceerder is dit plotje van sin(t): t=0:0.0:20; y=sin(t); Hier gebeurt iets bijzonders: t is een vector dus y=sin(t) geeft aan dat we de sinus van een vector kunnen bepalen! De sinus van een vector is de vector van de sinussen, bijvoorbeeld sin([3 5]) == [sin(3) sin(5)] Opdracht-47: t=0:0.0:20; Opdracht-48: y=sin(t); Opdracht-49: plot(t,y, b,t+,y/2, ro ); Toont twee grafieken met wat toeters en bellen. Met help plot zie je dat plot nog veel meer toeters en bellen kent, zoals t=0:0.0:20; y=sin(t); xlabel( x-as ); ylabel( y-as ); title( een sinus ); Opdracht-50: Bepaal de plot van cos(t)/( + t) op [0,0] We hebben tot dusver steeds in één figuur-venster de nieuwe plot weergegeven. Vaak wil je meerdere plots tegelijk kunnen weergeven, ofwel in één venster of juist in meerdere vensters. Met het commando hold on zorg je er voor dat de volgende plot aan de huidige wordt toegevoegd (dus zonder de huidige te overschrijven). Het commando hold off zorgt ervoor dat de volgende plot de huidige plot weer overschrijft. Opdracht-5: Teken de grafieken van sin(t), sin(2t) en sin(4t) op het interval [ π, π] in één figuurvenster. Wil je een tweede figuur-venster, dan kun je deze openen met figure(2). Soortgelijk kun je een derde, vierde, etc. figuur-venster openen. Opdracht-52: Teken de grafieken van sin(t), sin(2t) en sin(4t) op het interval [ π, π] in drie verschillende figuur-vensters. Bewaren van figuren. Tenslotte nog een opmerking over het bewaren van figuren. Onder het kopje File in het figuur-venster vind je Export... Dit commando stelt je in staat om je figuur te bewaren als o.a. epsbestand of pdf-bestand (beide van goede kwaliteit). Je plaatst een figuur in de clipboard door onder Edit op Copy Figure te klikken. Dit laatste resulteert evenwel in een bitmap van de figuur en is daarom van iets mindere kwaliteit. 6 Scripts en functies (m-files) Het interactieve van Matlab (en Maple) mag dan handig zijn, je wilt de commando s en uitvoer ook kunnen bewaren. De makkelijkste manier is door alle commando s in een bestand te bewaren. Dergelijke bestanden moeten als extensie.m hebben vandaar dat men spreekt over m-files. Opdracht-53: Tik in edit Dit opent een editor. Opdracht-54: Tik in in deze editor: disp( Goedendag ); Opdracht-55: Bewaar dit bestand onder de naam dag.m Opdracht-56: Tik in in het command window dag Als het goed is antwoordt Matlab met een welgemeende Goedendag. Als Matlab klaagt met Undefined function or variable dag dan kan Matlab je bestand dag.m niet vinden. Dit kun je verhelpen door bovenin het Matlab-window de Current directory aan te passen. Overigens, het aardige van Matlab is dat je m-files niet hoeft te declareren, te laden of te compileren: als Matlab het bestand dag.m kan vinden dan kun je de commando s 3

in dat bestand uitvoeren door simpelweg dag in te tikken in Matlab s command window. We gaan nu een functie aan Matlab toevoegen waarmee je minimum, maximum en gemiddelde van een rijtje (vector) kan bepalen: Opdracht-57: Open de editor weer en tik in deze editor in: function [mi,ma,gem]=stats(v); % dit is commentaar mi=min(v); ma=max(v); n=length(v); gem=sum(v)/n; Bewaar dit bestand onder de naam stats.m De eerste regel is hier van de vorm function uitvoer=naam(invoer); waarbij naam ook de naam van het bestand moet zijn. Je hebt nu een functie aan Matlab toegevoegd. Opdracht-58: w=[ 2 3 4]; Opdracht-59: [mii,maa,gemm]=stats(w) Als het goed is zijn mii, maa en gem het minimum, het maximum respectievelijk het gemiddelde van [ 2 3 4]. 7 Een simulatievoorbeeld We gaan nu de simulatie in voorbeeld 2.. uit het IWS-dictaat uitvoeren. Het handigste is om dit te doen met behulp van een script. Opdracht-60: Kies in het menu File voornew en vervolgens voor M-file. Voer de volgende regels in: k=2; r=/2; m=; A=[0 ; -k/m -r/m]; B=[0; /m]; C=[ 0]; D=0; x0=[; 0]; h=0.; t=0:h:40; u=stepfun(t,20); lsim(a,b,c,d,u,t,x0); Opdracht-6: Sla het bestand op als, bijvoorbeeld, simvb2.m (in de current directory). Opdracht-62: Ga terug naar het command window en tik in simvb2. Het script simvb2 wordt nu in zijn geheel uitgevoerd. Als alles goed is ingevoerd verschijnt op het scherm een window Figure No. met een plaatje als in figuur 2.3 van het dictaat. Deze figuur is doorlsim gemaakt. We kunnen ook zelf een dergelijk plaatje maken. Opdracht-63: Tik de volgende commando s in (in het command window): y = lsim(a,b,c,d,u,t,x0); figure(2); plot(t,y, r-,t,u, b-- ); legend( y, u ); text(20,., u(t) ); text(26,0.7, \leftarrow y(t) ); axis([0,40,-0.6,.]); title( Simulatie mechanisch systeem ); xlabel( tijd t ); ylabel( u(t), y(t) ) 8 Simulink We gaan nu een zelfde simulatie met Simulink doen. Opdracht-64: Tik in simulink of klik op het simulink-icoontje. Dit opent de simulatie-omgeving Simulink. Opdracht-65: Kies in het menu File van de Simulink Library Browser voor New en vervolgens voor Model. Een nieuw venster opent waarin je je Simulink model kunt invoeren. Opdracht-66: Klik in de Library Browser op Simulink en dan op de map Continuous. Sleep een Integrator naar het model venster, sleep uit de map Math Operations de blokken Gain en Sum naar je model. Voeg verder nog uit de map Sources de Clock en de Step en uit de map Sinks de blokken Scope en To Workspace aan je model toe. Nu heb je alle elementen die nodig zijn om een simulatie te doen. 4

Opdracht-67: Maak het schema van figuur. t Clock To Workspace Step u /m Gain3 s Integrator2 r/m Gain2 k/m Gain x2 s Integrator Figuur : Simulink model x Scope y To Workspace Tips: een blok kun je kopiëren door het te slepen terwijl je de control toets ingedrukt houdt. Je kunt lijnen trekken van het ene blok naar het andere. Als je met de rechtermuisknop op een blok klikt, kun je het omkeren (flip) en roteren, klik daartoe op format. Een lijn van een andere lijn aftappen doe je door control ingedrukt te houden en te slepen vanaf de aftap -lijn. Je kunt tekst aan je model toevoegen door er in te dubbelklikken. Door op een blok te dubbelklikken, kun je de parameters instellen. Opdracht-68: Verander in de To Workspace blokken Variable name in t respectievelijk y, en Save format in Array. Dit laatste is van belang omdat we straks het commando plot willen gebruiken. Opdracht-75: Vul bij Fixed step size 0. in. Opdracht-76: Sla het model op, bijvoorbeeld onder de naam vb2.mdl in de current directory. Opdracht-77: Voer in het command window in: k=2; r=/2; m=; x0=[;0]; Je kunt het model nu simuleren: Opdracht-78: Kies Start uit het Simulation menu (of tik in sim vb2 in het command window). Het resultaat kun je zien door plot(t,y) in te voeren. Als je voor het simuleren het Scope blok opent (dubbelklikken) kun je tijdens de simulatie het resultaat al zien. 9 Tot slot We hebben slechts een klein tipje van Matlab s sluier opgelicht. Voor meer informatie doe demo of doc. Dit opent een apart venster van waaruit vele demonstraties geselecteerd kunnen worden. Als je help doet dan krijg je een compact overzicht van de verschillende toolboxen te zien (waaronder ops). Elke toolbox kun je apart bekijken door, bijvoorbeeld, help ops in te tikken. Dat geeft dan weer een lijst, die je ook weer met help verder kan bekijken, zoals help punct. Als je bijvoorbeeld wilt weten hoe je de uitvoer kan bewaren doe dan help print of help save. Als je wilt weten hoe for-loops en while-loops werken doe dan help for en help while et cetera. Opdracht-69: Verander in het Step blok Step time in 20. Opdracht-70: Verander de Gains zoals in het plaatje. (/m voor u, r/m voor x2 en k/m voor x). Het kan zijn dat de gain-factor niet zichtbaar is in het gain-blok. Het blok wat groter maken is de oplossing. Opdracht-7: Voer bij de Integratoren van x en x2 bij Initial condition respectievelijk x0() en x0(2) in. Opdracht-72: Kies Simulation Parameters... uit het Simulation menu. Opdracht-73: Verander Stop time in 40. Opdracht-74: Verander bij Solver options, Type in fixed step en kies vervolgens als integratiemethode ode5. 5