Inhoudsopgave
Inhoudsopgave.............................................................................................................................................1
Hoofdstuk 1 Interactief werken met MATLAB...............................................................................................2
Signalen en signaalverwerking..................................................................................................................2
Matrix.......................................................................................................................................................4
Hoofdstuk 2 Programmeren.........................................................................................................................7
Basisstructuren.........................................................................................................................................7
Subprogramma’s/ Functions...................................................................................................................13
Hoofdstuk 3 Toepassingen..........................................................................................................................19
Ginput.....................................................................................................................................................19
Interpoleren............................................................................................................................................19
Curve fitting............................................................................................................................................21
Differentiëren.........................................................................................................................................23
Integreren...............................................................................................................................................24
Storing en het filteren van een signaal...................................................................................................26
Signaal genereren...................................................................................................................................26
Filters maken en toepassen....................................................................................................................32
Appendix....................................................................................................................................................36
Overzicht commando´s en functies............................................................................................................37
Tentamen....................................................................................................................................................41
1
,Hoofdstuk 1 Interactief werken met MATLAB
Signalen en signaalverwerking
Signalen zijn reeksen van variërende meetwaarden gemeten in de tijd (tijdreeksen).
Een analoog signaal is een continue lijn met een eindeloos hoeveelheid metingen waardoor het niet
verwerkt kan worden door een computer. Om analoge signalen te kunnen analyseren moeten we van het
signaal op opeenvolgende momenten samples nemen (meetwaarden). Om signalen met je computer te
verwerken moet je dus periodiek registreren met een vast tijdsinterval (dt). Je hebt geen continue lijn
meer maar losse metingen (bijvoorbeeld elke 10 seconden). De resultaten die je hieruit verkrijgt noem je
een digitaal signaal. Je kan bij een digitaal signaal een lijn door de meetpunten trekken maar dan ga je
wel uit van signalen die je niet gemeten hebt (namelijk de lijn tussen de punten). Samenvattend: analoog
is een continue signaal (thermometer, bloeddrukmeter) en bij digitaal zijn er “hapjes” uit het signaal
genomen.
Stel dat er elke 0.1 seconden een signaal wordt gemeten is de sampletijd dt = 0.1 s. De samplefrequentie
(fs) is 1 gedeeld door de sampletijd (fs = 1/dt). In dit geval is de samplefrequentie 1/0.1 = 10 Hz. De fs en
dt zijn elkaars inverse.
Geregistreerde waarden zijn gekoppeld aan opeenvolgende tijdstippen. Door middel van de indices zijn
meetwaarden en tijdstippen aan elkaar gekoppeld. 1 is de laagst mogelijke index. Er bestaat geen index 0.
Je mag wel bij index 5 beginnen. Bij toepassingen waarbij signalen voorkomen moet je gebruik maken
van een variabele N die het aantal meetwaarden geeft en een variabele k die de waarden aanneemt van
0 tot N-1 (k=[0:N-1]). t=k*dt geeft de tijdstippen waarop de samples genomen zijn. Voorbeeld waarbij dt
= 0.1: N=41; %aantal meetwaarden
- Tijdstip 0.0 – waarden 10 – k 0 – index 1 fs = 10; %samplefrequentie
- Tijdstip 0.1 – waarden 8.2 – k 1 – index 2
dt=1/fs; %sampletijd
- Tijdstip 0.2 – waarden 5.0 – k 2 – index 3
k=[0:N-1]; %hulpvariabele
Mogelijke bewerkingen op digitale signalen:
t=k*dt; %tijd-as
- Bepalen van maximum;
- Bepalen van gemiddelde;
- Ontbrekende gedeeltes opvullen (interpoleren): dit doe je op grond van de waarden die je hebt;
- Verstoringen verwijderen (filteren): ruis in meetwaarden eruit halen;
- De afgeleide of primitieve bepalen: om op de snelheid en verplaatsing te komen;
- Curve fitting: vloeiende lijn door meetwaarden.
Algemeen computergebruik: een computer gebruik je om representaties van objecten uit het dagelijks
leven te manipuleren.
Manipulaties zijn specifiek voor een bepaald object (datatype). Datatype is een verzameling van waarden
plus een verzameling van manipulaties die op die waarden kunnen worden uitgevoerd. Het uitvoeren van
een functie (manipulatie) doe je doormiddel van >> uitvoer = functienaam (invoer).
2
,De invoer en uitvoer kan uit meerdere parameters bestaan. Een parameter kan zowel een variabele (e.g.
a) zijn als een waarde (e.g. 9). De variabele a is een variable parameter en 9 een value parameter.
3
, Datatype = waarden + manipulaties. Voorbeelden van datatypen zijn:
- Gehele getallen: INTEGER. Alle gehele getalen van -32768 t/m +32767.
o Manipulaties: optellen, aftrekken, delen vermenigvuldigen, rest bepalen, toekennen,
vergelijken etc.
- Gebroken (komma-)getallen: REAL
- Karakters (letters, cijfers leestekens): CHAR
- Een reeks/array van karakters (letters, cijfers, leestekens): STRING. String is een tekst tussen twee
enkele aanhalingstekens. Strings gebruik je o.a. als inputparameter bij de functions disp, input en
title. Wanneer je een string toekent aan een variabele maakt MATLAB er een rijmatrix van
waarbij elk element een karakter bevat. Je kunt twee strings vervolgens samenvoegen door ze
allebei in één matrix op te nemen. Dit komt van pas wanneer je de uitkomst van een bewerking
(een variabel getal) wilt combineren met een vast stukje tekst.
o Manipulaties: aan elkaar plakken van twee karakterreeksen of omzetten van een reeks
kleine letters in hoofdletters door middel van […].
o Getal omzetten naar een string doe je met de functie num2str(i).
o Wanneer je de gebruiker een string wilt laten invoeren kan je daarvoor de function input
gebruiken met als extra parameter ‘s’.
- Een rij (of kolom) getallen (vector): ARRAY
- Een tabel van getallen: MATRIX
Logische expressie, zoals 4 > 2 wordt beantwoord met True: ans = 1 en 4 < 2 met false: ans = 0. A = 6
betekend dat je de waarde 6 toekent aan de variabele A, dit is iets anders dan het is-teken (=) in de
wiskunde. Bij gelijk aan moet je een dubbel is-teken (==) gebruiken (2*3==6). Matlab zal bij dit laatste
voorbeeld als antwoord 1 van True geven.
Een bit is 0 of 1 en een byte is 8 bits (bestaande uit 8 maal 0 of 1). Het gehele getal 0 bestaat uit 8 maal 0
(00000000). Het gehele getal 1 bestaat uit 7 maal 0 met als laatste getal een 1 (00000001). Het gehele
getal 2 bestaat uit 6 maal 0, 1 maal 1, en 1 maal 0 (00000010).
Wanneer je een letter (karakter) aan een variabele wilt toekennen moet je deze tussen quotes plaatsen.
Dit kan letter = ‘t’ zijn of letter = ‘7’. Je kan nu niet meer rekenen met het cijfer 7 (het is namelijk geen
cijfer meer).
Matrix
Invoeren van een matrix kan op meerdere manieren:
- A = [1 2 3;4 5 6;7 8 9]; - Gebruik ; of enter als scheider van de rijen en spaties voor het scheiden
van de kolommen.
- B = [1:1:5]; – reeks (1 rij) van waarde 1 tot 5 met stapgrootte 1.
- C = [1:5; 3:7]. Let op: de rijen moeten wel even lang zijn.
- D(4,5) = 0; – wanneer de matrix D nog niet eerder is vastgelegd zal D(4,5) = 0 zorgen voor een 4x5
matrix met alleen maar nullen. Matlab vult automatisch een 0 in voor alle voorgaande
ongedefinieerde waarde. Dit kan je ook schrijven als zeros(4,5).
Voorbeelden van matrixberekeningen:
4
Voordelen van het kopen van samenvattingen bij Stuvia op een rij:
Verzekerd van kwaliteit door reviews
Stuvia-klanten hebben meer dan 700.000 samenvattingen beoordeeld. Zo weet je zeker dat je de beste documenten koopt!
Snel en makkelijk kopen
Je betaalt supersnel en eenmalig met iDeal, creditcard of Stuvia-tegoed voor de samenvatting. Zonder lidmaatschap.
Focus op de essentie
Samenvattingen worden geschreven voor en door anderen. Daarom zijn de samenvattingen altijd betrouwbaar en actueel. Zo kom je snel tot de kern!
Veelgestelde vragen
Wat krijg ik als ik dit document koop?
Je krijgt een PDF, die direct beschikbaar is na je aankoop. Het gekochte document is altijd, overal en oneindig toegankelijk via je profiel.
Tevredenheidsgarantie: hoe werkt dat?
Onze tevredenheidsgarantie zorgt ervoor dat je altijd een studiedocument vindt dat goed bij je past. Je vult een formulier in en onze klantenservice regelt de rest.
Van wie koop ik deze samenvatting?
Stuvia is een marktplaats, je koop dit document dus niet van ons, maar van verkoper Nuria. Stuvia faciliteert de betaling aan de verkoper.
Zit ik meteen vast aan een abonnement?
Nee, je koopt alleen deze samenvatting voor €5,49. Je zit daarna nergens aan vast.