BrowseInterestsBiography & MemoirBusiness & LeadershipFiction & LiteraturePolitics & EconomyHealth & WellnessSociety & CultureHappiness & Self-HelpMystery, Thriller & CrimeHistoryYoung AdultBrowse byBooksAudiobooksArticlesSheet MusicBrowse allUploadSign inJoinChapter 1Matlab
Hierdie gedelte van die aantekeninge is gebaseer op notas van dr. CJ Reinecke Matlab c , ’n geregistreerde handelsnaam van The Mathworks Inc., wat staan vir MATrix LABoratory, is ’n interaktiewe stelsel wat hoofsaalik gebruik word vir numeriese berekeninge, maar wat ook kragtige simboliese berekeninge en manipulasies kan verrig. Matlab gebruik baie goeie algoritmes wat die gebruiker verseker van korrekte resultate, mits die program natuurlik reg is. Ons sal sien dat kragtige bewerkings met behulp van een of twee opdragte uitgevoer kan word. Verder het Matlab baie ingeboude funksies wat die oplos van probleme vergemaklik en verder kan die gebruiker ook eie funksies deﬁnieer. Matlab het uitstekende graﬁese fasiliteite wat kan help om resultate te visualiseer.
Matlab as ’n sakrekenaar
Die basiese rekenkundige bewerkingsoperatore is + (optel), − (aftrek), ∗ (vermenigvuldiging), / (deel) en ^ (magsverheﬃng). Hierdie operatore word dikwels saam met hakies, ( ), gebruik om die volgorde van bewerkings te spesiﬁseer. Voorbeeld 1 >> 2 + 3/4 ∗ 5 ans = 5.75
Word hierdie voorbeeld uitgevoer as 2 + 3/(4 × 5) of 2 + (3/4) × 5 ? Matlab werk volgens die volgende prioriteite: 1. Uitdrukkings tussen hakies word eerste bereken. 2. Magsverheﬃngs word tweede bereken. 3. ∗, / word van links na regs bereken. 4. +, − word van links na regs bereken. 1
Gebruik Matlab om die volgende te evalueer: √ (a) 2 3+4 (b) 5+6 (c) Die som van 5 en 3 gedeel deur hul produk (d) 23 (e) Die vierkantswortel van 2π (f)
2 1− 3+2 2 1+ 3−2
(g) 1000(1 + 0.234. Deur die format opdrag te gebruik.3412e − 03 = −1.2
Matlab herken die volgende verskillende tipes getalle: Tipe Heelgetalle Real Kompleks Inf NaN
Die “e-notasie” word dikwels gebruik vir baie groot of baie klein getalle: −1.3412 × 103 = −1341.1416e+01 (5 desimale plekke) 3. −4. Evalueer die volgende Matlab-uitdrukkings en kontroleer jou berekenings met Matlab: (a) (b) (c) (d) (e) (f) (g) (h) (i) 2/2*3 2/2^23 2+3*4-4 2^2*3/4+3 2^(2*3)/4+3 2^(2*3)/(4+3) 2*3+4 2^3^2 -4^2
2.13412.141592653589793e01 (15 desimale plekke) 355/113 (benadering met rasionale getal)
.3412 × 10−1 = −0.2
CHAPTER 1. Alle berkeninge in Matlab word gedoen met ’n akkuraatheid van ongeveer 15 beduidende syfers.321 3.3412e + 03 = −1. kan die gebruiker spesiﬁseer hoe die gealle vertoon word.15/12)60
1. (i2 = −1) Oneindig (1/0) Not a Number (0/0) −1. Opdrag >>format >>format >>format >>format short short e long e rat Voorbeeld van uitvoer 31.2
Getalle en die formaat
Voorbeeld 1325.32i. −1234 1. Meer inligting kan gekry word deur die opdrag help format in te tik.21 − 4.4162 (5 desimale plekke) 3. MATLAB
= π.000 − 1.2204e − 16 = 2−52 . wat die grootste getal is waarvoor Matlab nie kan onderskei tussen 1 en 1+eps nie. behalwe as die simbole reeds vir iets anders gebruik is. en pi= 3.8000
Geldige name vir veranderlikes bestaan uit kombinasies van letters en getalle. c wgk. %x. Die volgende name is nie geldig nie: N-123.3. Vir berekeninge √ met komplekse getalle het beide i en j die waarde −1. x. . VERANDERLIKES
.14159 .1. . a1. beginnende met ’n letter. Die volgende spesiale name moet ook nie gebruik word nie: eps= 2.000000000000000 >>format short >>a=i*i a= −1 >>i=3 i= 3 >>b=a*i+a*j b= −3. bv.3
Voorbeeld 2 >> 3 − 2 ∧ 4 ans = −13 >>ans*5 ans = −65
Die resultaat van die eerste berekening word deur Matlab gestoor as ans en kan dan in ’n tweede berekening gestoor word. 2xy. Ons kan ook ons eie name kies waaronder die waardes gestoor kan word: Voorbeeld 3 >>a= 3 + 5 a= 8 >>b= 4/5 b= 0.8000 >>c=a+b c= 8. Voorbeeld 4 >>format long >>a = 1+eps a= 1. x23y22.
cos. cot asin.4
Onderdrukking van uitvoer
Soms wil ons nie tussentydse uitvoer op die skerm vertoon nie. asec. geskei met kommapunte of kommas.4
CHAPTER 1. As eerste tipe matriks kyk ons na ry-vektore. acot sinh. tanh. ’n Kommapunt kan hiervoor gebruik word: Voorbeeld 5 >>x=-13. csch.6
Een van die sterk punte van Matlab is dat matrikse en vektore maklik en eﬀektief gebruik kan word. q=z+3 z= 104 q= 107
Let op dat ons meer as een opdrag in ’n lyn kan gee. z=x∧2+y. Gebruik Matlab om die volgende te evalueer: √ (a) 2 (b) sin π/4 (c) cos 30◦ (d) bgtan 1 (e) e−i met i2 = −1
1. Matlab abs sign sqrt pow2 exp log. cosh. sec. asech. Die inverse trigonometriese funksies gee die antwoorde ook in radiale. y=5*x. tan. atan. MATLAB
1. log2. sech. acos.
. acosh. csc. atanh. acsch.5
Betekenis Absolute waarde Tekenfunksie Vierkantswortel Kwadrering Eksponensi¨le funksie e Logaritmiese funksies Trigonometriese funksies Inverse trigonometriese funksies Hiperboliese funksies Inverse hiperboliese funksies
Hier volg ’n lys van ingeboude funksies wat Matlab kan bereken. log10 sin.5
Al die trigonometriese funksies se argumente moet in radiale wees. acsc.
Oefening 1. coth asinh.
Let op die invloed wat spasies kan hˆ: e Voorbeeld 7 >>v2 = [3+ 4 5] v2 = 7 5 >>v3 = [3 +4 5] v3 = 3 4 5
1.0000 7. BEWERKINGS MET VEKTORE Voorbeeld 6 >>v = [1 3 sqrt(5)] v= 1.0000 6.5279 >>v6 = v+v2 ??? Error using ==> + Matrix dimensions must agree.0000 >>length(v) ans = 3 >>k=size(v) k= 1 3 >>k(2) ans = 3
Bewerkings met vektore
Die gewone bewerkings wat ons met vektore kan doen is in Matlab gedeﬁnieer: Voorbeeld 8 >>v+v3 v= 4.
Die foutboodskap in die laaste re¨l word gegee.0000 3.0000 7.1.2361
Verskillende inskrywings kan ook met kommas geskei word. Optelling en aftrekking is slegs gedeﬁnieer tussen vektore met dieselfde aantal inskrywings.0000 -10.2361 >>v4=3*v v4 = 3.7.0000 -6.0000 9.7082 >>v5 = 2*v-3*v3 v5 = -7. Optelling en aftrekking is slegs gedeﬁnieer tussen
. want die aantal inskrywings in die e twee vektore verskil.
wat nie gedoen kan word nie.∧2. -w]. voor enige bewerking geplaas wat element-vir-element uitgevoer moet word.*[3 2 3 2] v= 3 8 27 32
Om sekere bewerkings op ’n vektor uit te voer. sort(cd) cd = 16 18 -1 -2 -3 ans = -3 -2 -1 16 18 >>w(2) = -2 w= 1 -2 3 >>sum(w) ans = 2 >>max(w) ans = 3 >>min(w) ans = -2 >>min(abs(w)) ans = 1
1.7. z=[8 9] w= 1 2 3 z= 8 9 >>cd = [2*z. Om sodanige dubbelsinnighede te vermy word die punt . moet gespesiﬁseer word dat dit met elke inskrywing gedoen moet word. byvoorbeeld. omdat die dimensies van die vektore nie matriksvermenigvuldiging toelaat nie. MATLAB
vektore met dieselfde aantal inskrywings. aftrekking en skalaarvermenigvuldiging word komponentsgewys gedoen. Optelling. So. gee ons die opdrag x. Die volgende voorbeeld gee ’n aantal ander manipulasies wat met vektore gedoen kan word. as ons elke element van ’n vektor wil kwadreer.6
CHAPTER 1. Indien ons net intik x∧2 probeer Matlab die matriksproduk x×x bereken. Voorbeeld 10 >>x=[1 2 3 4]. Voorbeeld 9 >>w=[1 2 3]. >>w = x.∧2 w= 1 4 9 16 >>v = w.
0.4142 1.7321 2.∧ word ook komponentsgewys uitgevoer.2
Die dubbelpunt-operator is een van die kragtigste hulpmiddels in Matlab.6931 1.*.0000
1.17183 7.7.0000 1.0855 54. .3863 >>v = sqrt(x) v= 1.5 0. BEWERKINGS MET VEKTORE
>>y = v./[3 4 9 16] y= 1 2 3 2 >>a = 1.0986 1.1.5982 >>l = log(x) l= 0 0.8415 0.7.252
Die bewerkings .
.1411 -0.9093 0.7568 >>ekspo = exp(x) ekspo = 2. Feitlik alle ingeboude funksies word komponentsgewys op ’n vektor toegepas:
Voorbeeld 11 >>x=1:4 x= 1 2 3 4 >>s = sin(x) s= 0. ./x a= 1 0.
3:-2 v= -1. maar hulle inskrywings word deur kommapunte geskei.3
Hierdie vektore het dieselfde struktuur as ryvektore. -1:-2:-7] x= 1 3 5 -1 -3 >>r1 = r(3:6) r1 = 5 -1 -3 -5 >>r2 = r(1:2:7) r2 = 1 5 -3 -7 >>r3 = r(6:-2:1) r3 = -5 -1 3
1.42 0.32:0. Voorbeeld 13 >>r=[1:2:6.4000 -1.7.7000
CHAPTER 1. Die dubbelpunt-operator kan ook gebruik word om sekere dele van ’n vektor te isoleer.6 l= 0.1:0. behalwe as ’n le¨ versameling gevorm word) en die bogrens (nie noodwendig ingesluit nie) e wat staplengte van mekaar verskil.4:-0. MATLAB
Die instruksie aanvangswaarde:staplengte:bogrens skep ’n vektor met waardes tussen aanvangswaarde (altyd ingesluit. Voorbeeld 14
.52 >>b = -1.32 0.8 >>w=1:4 w= 1 2 3 4 >>z = 3:7 z= 3 4 5 6 7 >>x = 1:-1 x=  >>a = 0.
0000 4.0000 2. Voorbeeld 15 >>c=[1.7
Gestel ons het die volgende vektore: a = [2 -1 5 0]. 3. sqrt(5)] c= 1.∧b 4. sqrt(5)] c= 1. c = a+b-3 3.∧b
.0000 5.0000 2. b = [3 2 -1 4]. c = a.2361 >>v = c’ v= 1. BEWERKINGS MET VEKTORE >>c=[1.0000 -6.7. c = b.2361
Oefening 1.0000 >>c3=2*c-3*c2 c3 = -7.0000 3.2361 >>c2=[4 >4 >5] c2 = 3.1. Wat sal c wees in die volgende gevalle: 1./a 5. c = 2*a+a.0000 -10.0000
2.0000 3. 3.0000 3.5279 >>k = size(c3) k= 3 1
Die getransponeerde van ’n kolomvektor is ’n ryvektor en omgekeerd. c = a-b 2.
0. >>plot(x.*a 8. Voorbeeld 16 >>N=10. Maak die teksredigeerder van Matlab oop op ’n skoon lˆer en tik die instruksies e netsoos hierbo.2
−0. of een per re¨ltjie. y=sin(3*pi*x).1
Script -lˆers e
Dit kan baie gou vervelig raak om elke keer al die instruksies in die voorbeelde in te tik. c = 2.∧b+a 7.6
Skets van funksies
Om byvoorbeeld die graﬁek y = sin 3x te teken vir 0 ≤ x ≤ 1. Gestel ons kies N + 1 punte eweredig oor [0. c = 2*b/3. c = b*2. x=0:h:1. wys duidelik dat ons stapgrootte was te groot gekies. h=1/N.y)
0. Ons verander nou N na 100.4
0. 1] verspreid.8
Die ﬁguur wat gekry is.1
0. plot(x. daarin: e N=100. >>y = sin(3*pi*x).5
0. h=1/N.10 6.6
0. bereken die funksiewaarde in elk van die punte en verbind dit dan met reguit-lyn-stukkies.4
0. kies ons ’n aantal punte tussen 0 en 1.
roosters. In die Matlab command window die e volgende ingetik word:
Voorbeeld 17 >>vb17
word die hele lys instruksie een na die ander uitgevoer.5
Byskrifte. Dit lewer:
0.8.1.m. SKETS VAN FUNKSIES
Stoor die lˆer onder die naam vb17.2
Die volgende kan gebruik word om die ﬁguur duideliker te maak:
Voorbeeld 18 >>title(’Graﬁek van y=sin(3 pi x)’) >>xlabel(’x-as’) >>ylabel(’y-as’) >>grid
By verstek word ’n ﬁguur met ’n soliede lyne geplot.6
Grafiek van y=sin(3 pi x) 1
0. Daar is egter ook ander moontlikhede: Kleure Lyntipe y Geel . Punt m Magenta o Sirkel c Cyan x ×-teken r Rooi + Plus g Groen Soliede lyn b Blou * Sterretjie w Wit : Stippellyn k Swart -.2 y−as
Voorbeeld 19 >>plot(x.3
0. DashDot – Strepieslyn Hierdie opdragte word soos volg gebruik.7
Multiplot 1 sin−kromme cos−kromme 0.2 y−as
Meer as een graﬁek
Meer as een skets kan op dieselfde assestelsel geteken word.y.9
0. Voorbeeld 20 >>plot(x.6
−0. SKETS VAN FUNKSIES
0. Dit is veral nodig wanneer beide eksperimentele en waargenome data op dieselfde graﬁek voorgestel moet word (’n standaard-metode om visueel die ooreenstemiing van ’n model en data te toon).3
0.’cos-kromme’) >>title(’Multiplot’) >>xlabel(’x-as’). Hier is ’n voorbeeld van hoe dit gedoen word.4
plot(x.2 1.8 0. axis square. Kyk wat sˆ help axis en eksperimenteer met axis verb. Ditis moontlik Matlab se groot krag — die gebruiker kan die sisteem uitbrei. Hulle het ook nie probeer om dit te doen nie. Die eerste twee gee die minimum en maksimumwaardes vir die x-as en die tweede paar die minimum en maksimumwaardes vir die y-as. Tegniese punt: Matlab se nuutste weergawes laat ander maniere van funksiedeﬁni¨ring toe as wat ons hier wys. Elke gebruikergeskrewe funksie lewe in sy eielˆer met dieselfde naam as die funksie.y) >>axis([-0.4 −0. e ONs gaan stapsgewyse ’n funksie maal skep wat twee getalle as invoer neem en hulle produk terustuur aan die roepende program.5 -1.2 0 −0.4
Beheer oor die asse
Wanneer ’n graﬁek geteken is in die graﬁese venster. kan daar aan die x. h=1/N.
1. e Dit is. het sy ontwerpers nie vir alle moontlike probleme funksies geskep nie.m gestoor word. N=100.5
Die axis-opdrag het vier parameters.9
Alhoewel Matlab baie ingeboude funksies het.8 −1
1.6 0. Voorbeeld 21 >>clf.en yintervalle verander word. x=0:h:1 >>y = sin(3*pi*x).4 0.5 1. Hulle het eerder voordiening daarvoor gemaak dat die gebruiker sy eie doelgemaakte funksies kan skep. e axis normal en axis tight.2])
1 0. Ons metodes sal egter wel korrek werk op ou e of nuwe weergawes van Matlab.8.2 −0.14
CHAPTER 1. MATLAB
1. die funksie paﬂov sal in die lˆer paflov.
b=c en y=2*a*c waar die simbool a aan die linkerkant geen verwantskap het met die simbool a in die regterkant van die gelykheid nie. b) y = a*b. maar nutteloos. 4. As ons tik maal(2. b. 2. Kies ’n funksie-naam. for en while instruksies kyk. Die funksienaam bereken is wettig.4) dan is a=2. As ons maal(2*a.1
Die if bevel beheer die vloei van ’n program. switch en case. Deﬁnieer die funksie. Gebruik Matlab sintaks om in hierdie M-lˆer die nodige wiskundige berekene ings uit te voer: function y = maal(a. In hierdie e geval is dit maal. Dit gee vir die program eevoudige besluitnemingsvermo¨ en vergroot so die aantal probleme waarvoor die program e sal werk. met a. >>maal(2. maar in die roepende program is a. c in die roepende program of “command window” reeds bekend. b=4 en y=8. In hierdie gev al is dit gee. Die kies van ’n sinvolle naam is noodsaaklik vir goeie gebruik.
.10. Dieselfde beperkings wat geld vir veranderlike-name geld ook vir funksiename. dit word voorgestel deur ’n vertakking en ’n diamant in ons vloeidiagramme.m. Baie belangik: a en b is slegs plekhouers. 2.m. dan is binne in die funksie a=2*a. Skep ’n lˆer met dieselfde naam. if. naamlik 1. for. Hierdie lˆer moet in Matlab se “current working e directory” wees vir Matlab om die funksie raak te sien.1.10. BEHEERSTRUKTURE
Daar is 4 basiese beheerstrukture in Matlab. 3. e In Matlab word funksies gestoor in lˆers met agtervoegsels . 3. while. Ons gaan in die volgende gedeeltes na die if.
1. 4. In hierdie funksie is a en b die argumente van die funksie en y die uitset.3) ans = 6
1.c) tik. y nie bekend nie. Roep die funksie soos’n ingeboude funksie.
dit herhaal ’n groep bewerkings ’n onbepaalde aantal kere onder beheer van ’n logiese uitdrukking. while ( fib(i-1) <= 200 ) fib(i) = fib(i-1) + fib(i-2). In Matlab word die groepe instruksies nie deur krulhakies afgekamp soos in C++ nie. i = i + 1.10. 1.10. Voorbeeld 23 fib = ones(1. groot aantal berekeninge wat die rekenaar se ontwikkeling veroorsaak het. end
Ons het in hierdie programfragment aanvanklik gestel dat fib die vektor met drie elemente (1.16
CHAPTER 1. elseif (punt >=49. In die volgende voorbeeld skep ons ’n vektor fib met die Fibonacci-getalle kleier as 200. 1) is.2
Die krag van ’n rekenaar is in herhaalde berekeninge. 3). In ’n script-lˆer of ’n funksie-lˆer sal die volgende programfragment dan kan e e voorkom: Voorbeeld 22 if (punt < 50) druip = druip + 1. Gestel ons het 3 tellers druip. ensovoorts totdat dit al die Fibonacci-getalle bevat. i = 3. MATLAB
Die if stelling evalueer ’n logiese uitdrukking en voer ’n groep instruksies uit as die uitdrukking waar is.5) && (punt<74.5) slaag = slaag + 1. Dit is hierdie betroubare.
Daar is twee redes hoekom dit gewoonlik beter is om ’n for instruksie bo ’n while instruksie te verkies:
. vinnige. end
1. die sleutewoorde tesame met end word gebruik om groepe te vorm. Die hoeveelheid element in ’n vektor kan dus in ’n program outomaties aangepas word. As die indeks i mettertyd 4 word. Die opsionele elseif en else sleutelwoorde veroorsaak die uitvoering van alternatiewe groepe uitdrukkings. while is die eenvoudigste lus-bevel. word fib “gerek” om 4 elemente te bevat. slaag en onderskeiding en ons wil die onderskeie teller (almal is aanvanklik 0) vermeerder as daar ’n punt in die onderskeie gebied is. else onderskeiding = onderskeiding + 1.
1. 2.10. for i = 1:length(getalle) som = som + getalle(i).
Die break instruksie kan gebruik word om te ontsnap uit ’n for of while lus. ’n while instruksie se stopvoorwaarde kan dalk nooit bevredig word nie. Voorbeeld 24 som = 0.1. die for instruksie is die mees natuurlike manier om ’n aksie n maal uit te voer. In geneste lusse spring die break— instruksie vanuit die “diepste” lus wat die instruksie bevat na die omvattende programsegmet of lus. en dus lewer die program nie ’n uitvoer nie.
matlabgids by Deon Johan de Beer6 viewsEmbedDownloadRead on Scribd mobile: iPhone, iPad and Android.Copyright: Attribution Non-Commercial (BY-NC)List price: $0.00Download as PDF, TXT or read online from ScribdFlag for inappropriate contentMore informationShow less