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
The benefits of buying summaries with Stuvia:
Guaranteed quality through customer reviews
Stuvia customers have reviewed more than 700,000 summaries. This how you know that you are buying the best documents.
Quick and easy check-out
You can quickly pay through credit card or Stuvia-credit for the summaries. There is no membership needed.
Focus on what matters
Your fellow students write the study notes themselves, which is why the documents are always reliable and up-to-date. This ensures you quickly get to the core!
Frequently asked questions
What do I get when I buy this document?
You get a PDF, available immediately after your purchase. The purchased document is accessible anytime, anywhere and indefinitely through your profile.
Satisfaction guarantee: how does it work?
Our satisfaction guarantee ensures that you always find a study document that suits you well. You fill out a form, and our customer service team takes care of the rest.
Who am I buying these notes from?
Stuvia is a marketplace, so you are not buying this document from us, but from seller Nuria. Stuvia facilitates payment to the seller.
Will I be stuck with a subscription?
No, you only buy these notes for $5.90. You're not tied to anything after your purchase.