Matlab har en enkel syntax. Inga deklarationer behövs och det finns i princip en enda 1 datatyp, nämligen matriser.

Relevanta dokument
Matlabövning. Matlab har en enkel syntax och många av er har använt programmet tidigare. Inga deklarationer behövs.

Laboration: Vektorer och matriser

MMA132: Laboration 2 Matriser i MATLAB

Innehåll. Vad är MATLAB? Grunderna i MATLAB. Informationsteknologi. Informationsteknologi.

Newtons metod och arsenik på lekplatser

1.1 MATLABs kommandon för matriser

Introduktion till MATLAB

MATLAB the Matrix Laboratory. Introduktion till MATLAB. Martin Nilsson. Enkel användning: Variabler i MATLAB. utvecklat av MathWorks, Inc.

TANA17 Matematiska beräkningar med Matlab

6. Matriser Definition av matriser 62 6 MATRISER. En matris är ett rektangulärt schema av tal: a 11 a 12 a 13 a 1n a 21 a 22 a 23 a 2n A =

Kapitel 4. Programmet MATLAB

Gamla tentemensuppgifter

Användarmanual till Maple

Laboration: Grunderna i MATLAB

1 Linjära ekvationssystem. 2 Vektorer

TANA17 Matematiska beräkningar med MATLAB för M, DPU. Fredrik Berntsson, Linköpings Universitet. 9 november 2015 Sida 1 / 28

Laboration: Grunderna i Matlab

TMV166 Linjär algebra för M. Datorlaboration 2: Matrisalgebra och en mekanisk tillämpning

Lägg märke till skillnaden, man ser det tydligare om man ritar kurvorna.

Talmängder. Målet med första föreläsningen:

Introduktion till Matlab

SF1900 Sannolikhetsteori och statistik, HT 2017 Laboration 1 för CINEK2

a = a a a a a a ± ± ± ±500

Linjär algebra med tillämpningar, lab 1

Matriser och Inbyggda funktioner i Matlab

Gausselimination fungerar alltid, till skillnad från mer speciella metoder.

Vektorgeometri för gymnasister

3.3. Symboliska matematikprogram

Sidor i boken f(x) = a x 2 +b x+c

Inledande matematik för I1. MVE011 läsperiod Matlab vecka 2 övningsuppgifter

Linjär Algebra M/TD Läsvecka 2

MATLAB övningar, del1 Inledande Matematik

Matriser och Inbyggda funktioner i Matlab

Moment Viktiga exempel Övningsuppgifter

Matriser och vektorer i Matlab

MAPLE MIKAEL STENLUND

Vektorgeometri för gymnasister

Talmängder N = {0,1,2,3,...} C = {a+bi : a,b R}

5 Linjär algebra. 5.1 Addition av matriser 5 LINJÄR ALGEBRA

När man vill definiera en matris i MATLAB kan man skriva på flera olika sätt.

Uppsala Universitet Matematiska Institutionen Thomas Erlandsson

DEL I. Matematiska Institutionen KTH. Lösning till tentamensskrivning på kursen Linjär algebra II, SF1604, den 17 april 2010 kl

Lineära system av differentialekvationer

Matriser och vektorer i Matlab

Introduktion till Matlab

MATLAB. Python. Det finns flera andra program som liknar MATLAB. Sage, Octave, Maple och...

TAMS79: Föreläsning 10 Markovkedjor

k=0 kzk? (0.2) 2. Bestäm alla holomorfa funktioner f(z) = f(x + iy) = u(x, y) + iv(x, y) sådana att u(x, y) = x 2 2xy y 2. 1 t, 0 t 1, f(t) =

Matriser och linjära ekvationssystem

Moment 5.5 Övningsuppgifter I 5.60a. 5.60b, 5.60.c, 61

3 differensekvationer med konstanta koefficienter.

Laboration 5: Regressionsanalys. 1 Förberedelseuppgifter. 2 Enkel linjär regression DATORLABORATION 5 MATEMATISK STATISTIK FÖR I, FMS 012, HT-08

Tentamen TANA17 Matematiska beräkningar Provkod: DAT1 Godkänd: 8p av totalt 20p Tid: 21:a April klockan

Determinanter, egenvectorer, egenvärden.

Lösandet av ekvationer utgör ett centralt område inom matematiken, kanske främst den tillämpade.

2 Matrisfaktorisering och lösning till ekvationssystem

Linjär algebra med MATLAB

15 september, Föreläsning 5. Tillämpad linjär algebra

Matriser och linjära ekvationssystem

x 23 + y 160 = 1, 2 23 = ,

Diagonalisering och linjära system ODE med konstanta koe cienter.

MMA132: Laboration 1 & 2 Introduktion till MATLAB

At=A' % ' transponerar en matris, dvs. kastar om rader och kolonner U' % Radvektorn U ger en kolonnvektor

DN1212/numpm Numeriska metoder och grundläggande programmering Laboration 1 Introduktion

TATA42: Föreläsning 9 Linjära differentialekvationer av ännu högre ordning

% Föreläsning 3 10/2. clear hold off. % Vi börjar med att titta på kommandot A\Y som löser AX=Y

Tentamen TANA17 Matematiska beräkningar Provkod: DAT1 Godkänd: 8p av totalt 20p Tid: 14:e januari klockan

Uppsala Universitet Matematiska Institutionen Bo Styf. Sammanfattning av föreläsningarna 1-4.

Technology Management Mapleövning 1 och 2

NUMPROG, 2D1212, vt Föreläsning 1, Numme-delen. Linjära ekvationssystem Interpolation, Minstakvadratmetoden

FMNF15 HT18: Beräkningsprogrammering Numerisk Analys, Matematikcentrum

vux GeoGebraexempel 3b/3c Attila Szabo Niclas Larson Gunilla Viklund Mikael Marklund Daniel Dufåker

Linjär algebra på några minuter

Beräkningsverktyg HT07

1. (3p) Ett RSA-krypto har de offentliga nycklarna n = 33 och e = 7. Dekryptera meddelandet 5. a b c d e. a a b c d e

Moment 1.15, 2.1, 2.4 Viktiga exempel 2.2, 2.3, 2.4 Övningsuppgifter Ö2.2ab, Ö2.3. Polynomekvationer. p 2 (x) = x 7 +1.

4 Fler deriveringsregler

MA2047 Algebra och diskret matematik

4x az = 0 2ax + y = 0 ax + y + z = 0

MMA132: Laboration 1 Introduktion till MATLAB

Lösningar och kommentarer till uppgifter i 3.1

Linjär algebra och geometri I

Linjär algebra och geometri 1

Innehåll. Vad är MATLAB? Grunderna i MATLAB. Informationsteknologi. Informationsteknologi.

Instuderingsfrågor i Funktionsteori

Ekvationslösning genom substitution, rotekvationer

Matematik 3c Kap 2 Förändringshastighet och derivator

MAM283 Introduktion till Matlab

TAIU07 Matematiska beräkningar med Matlab

Instruktion för laboration 1

TSBB14 Laboration: Intro till Matlab 1D

SF1624 Algebra och geometri Lösningsförslag till tentamen Lördagen den 5 juni, 2010 DEL A

MATRISTEORI. Pelle Pettersson MATRISER. En matris är ett rektangulärt schema med tal, reella eller komplexa, vilka kallas matrisens

Uppgift 1 - programmet, Uppg6.m, visade jag på föreläsning 1. Luftmotståndet på ett objekt som färdas genom luft ges av formeln

Linjär algebra. 1 Inledning. 2 Matriser. Analys och Linjär Algebra, del B, K1/Kf1/Bt1. CTH/GU STUDIO 1 TMV036b /2013 Matematiska vetenskaper

Miniprojekt: Vattenledningsnäten i Lutorp och Vingby 1

Stora bilden av Linjära algebran. Vektorrum, linjära transformationer, matriser (sammanfattning av begrepp)

Uppföljning av diagnostiskt prov Repetition av kursmoment i TNA001-Matematisk grundkurs.

Datorövning 1 Fördelningar

Funktionsteori Datorlaboration 2

Transkript:

Innehåll Inledning Denna datorövning ger en introduktion till Matlab ystemet används här som en avancerad räknedosa med inbyggda matrisoperationer och grafik Ha Matlab Primer tillgänglig Förbered dig genom att titta igenom denna skrift och anvisningarna nedan Hinner du inte med riktigt alla uppgifterna under den handledda övningen, så genomför de återstående momenten på egen hand, antingen på skolans datorer eller på egna Övningarna kan köras på nästan valfritt operativsystem om man bara har en tillräckligt modern version av Matlab Matlab och Komplex analys för I Matlab är från början ett skal kring ett programbibliotek som innehåller rutiner från lineär algebra Några fördelar med Matlab som gör systemet lämpligt för experimentell matematik i vår kurs och i andra kurser är: Matlab har en enkel syntax Inga deklarationer behövs och det finns i princip en enda 1 datatyp, nämligen matriser I Matlab kan man direkt räkna med komplexa tal Komplicerade operationer på vektorer och matriser, t ex matrisprodukt och matrisinvers, är direkt tillgängliga med ett enda kommando (, ) Matlab har inbyggt kraftfulla grafiska kommandon, som gör det lätt att åskådliggöra resultat av beräkningar Matlab innehåller ett programmeringsspråk, som gör det möjligt att bygga ut systemet med egna nya funktioner och kommandon Matlab används i Lund flitigt av forskare i många områden, matematik, fysik, numerisk analys, reglerteknik, teletransmissionsteori, och du kommer att få använda systemet mera i kommande kurser 1 I version 5 av Matlab har införts fler typer, men det stör inte i enkla användningar 1

[ Vi skall längre fram använda ett annat matematiskt program, nämligen Maple Detta är speciellt duktigt på symboliska (i motsats till numeriska) räkningar, men är svårare för nybörjaren än Matlab Nedan ges en kort översikt över (en del av) de delar av Matlab som har direkt anknytning till Komplex analys för I För en mer allsidig introduktion hänvisas till Matlabs systemmanualer, som i senare versioner finns tillgängliga från Matlabsystemet, t ex via kommandot (lägg märke till att hjälpläsaren använder Javascript) Man kan också hitta en hel del upplysningar på WWW, kursens»vävsäte» innehåller några länkar Den när detta skrives senaste versionen av Matlab är 61, som speciellt när det gäller grafikkommandona skiljer sig en del från tidigare använda ( 5) Den grundläggande datastrukturen i Matlab är matriserna Vi skall här nästan enbart använda vektorer, närmare bestämt radvektorer, för att representera följder Följden 2 1 4 5 i 8 0 3i representeras i Matlab som radvektorn! "$#&%' De flesta följdoperationer har direkta motsvarigheter i Matlab Nedan följer en liten tabell med några exempel på de viktigaste: följd ) *,"- 2 1 4 5 i 8 0 3i ) /0$ 1 "#&%' 1 2 3 4 5 6 ) 234'4576*( ätt 8:9; 1 2 3 4 5 6 ) 4=>2?7'@;46( ätt AB95 1 1 1 1 1 1 1 ) ;=>27D4D4DE( 78F 3A ) G 8FIJA ) K% ( H1' 1 2 3IE 4 5 6LM95 4 10 18ON ) 247'(P% Σ8 ) R - Π8 ) RU, V 95 k 0 W k W 10 ) X5=7#&YJ # a kdz 0 W k W n ) &Y ar k\ 0 W k W n ) En snitslad väg genom Matlabdjungeln YO %] #KY QH46*( ( Var man startar 11 Första gången du vill köra Matlab så tillverka en katalog ^_" rotkatalog " $ omedelbart under din 2

- Övningen bör gå lika bra att genomföra på andra datorsystem där Matlab finns tillgängligt (åtminstone om det är version 50 eller högre) " 12 Gå till Matlab-katalogen (R " ) och starta Matlab med kommandot " eller genom att klicka på Matlabs ikon Kör ett eller flera demon för att se vilka möjligheter som finns peciellt behöver du kanske hjälp med det grafiska fönstret 13 Bekanta dig med Matlabs syntax Kontrollera att systemet kan lägga ihop 2 och 2 med rätt svar Lägg speciellt märke till möjligheten att kalla tillbaka gamla kommandon med pil-upp tangenten Det går också att göra rättelser i dem 14 Prova Matlabs hjälpfunktion genom att först ge kommandot och sedan välja något speciellt ämne kriver man bara får man en (lång) lista på det mesta man kan be om hjälp om Använd denna hjälpfunktion varje gång du stöter på något i texten som du inte -,,- ) förstår esta nu, Y ( R ) och % ( Följder och grafik W W 15 Rita upp kurvan sinl tn, 5 t 15 genom kommandona ( är Matlabs prompt och skall ej skrivas) =0$&Y #&%J YJ,- 2 e efter vad egentligen är För att slippa utskrifter av resultaten kan man lägga till ett semikolon på slutet av kommandot, alltså t ex =0&Y #K%J YJ Rita i stället kurvan sinl 2tN på samma intervall Prova sedan sinl ωtn med ω 9 50 100 200 500 501 502 503 Vad kan det vara frågan om? Kan man lita på datorritade figurer? 16 Generera följden 9 0 1 2 3 30 med Matlabs kolon-operator Y illverka följderna AB9D nl n 1N 2 och :9 Σ genom att sätta = :% _* =HR och jämför dem (t ex genom att bilda skillnaden) - element i bytta mot 1 illdelningssatsen = :% 17 Att förlänga en följd är lätt Prova till exempel 4=>J?4'4,( 4=> 7*( 4=> 76*( är en vektor med alla _* ger här samma resultat 3

R X X R Geometriska och andra summaföljder 18 Vi skall nu titta lite på geometriska följder kriv in ;= =D#&Y XD=D#&% - 5=4XP%],- - - *X #5,#D# %O*( *X " - - -,"5=HRU,- -," -," " - Z" 7- så får du följden och delsummorna utritade på olika sätt Om man vill göra om figurerna ovan med olika antal termer och olika värden på X så är det lämpligt att göra ett litet matlabprogram ådana program lägger man i filer med extensionen % 19 illverka en fil med namnet ;=4XP% ] - -,-, -, -* $ -, 5=HRU,,-, " -,," -* $," - % med innehållet och lägg in den i ditt matlabbibliotek Den kan nu köras med kommandot du ändra på värdet av x eller på antalet termer och köra om, så är det bara att skriva t ex =D#&Y'Z# XD=0#&% - -, Vill Prova detta och några andra x-värden tudera sedan finesserna i -filen Återställ till slut grafikfönstret med 4

X 110 De harmoniska talen utgör den diskreta motsvarigheten till logaritmfunktionen De är lätta att bilda i Matlab: = Y # = RU, E % _ Rita upp dem och rita in logaritmfunktionen i samma diagram Jämför sedan med logaritmfunktionen -,0- " -,0-,-,- -,0-,-,- Upprepa försöket med 40 ersatt med 1000 ror du nu på Eulers konstant? 1 111 Följden har intressanta egenskaper Vi skall försöka konstruera den, och börjar med att k! tillverka fakulteterna De är ju lösningar till differensekvationen x n 9 nx n 1 xl 0N 9 1 och kan alltså fås genom att bilda produktföljden till följden 8:9D 1 1 2 3 4 5 6 Lägg märke till den dubbla ettan i början När vi sedan har fakulteterna så är det bara att dividera 1 med dem I Matlab är det enkelt, skriv 4=>J7 Y E,( -$ =HR = %_ Z =HRU Observera att Matlab använder samma beteckning för funktionsvärden och matriselement ill exempel betyder X E värdet e 1 Z av exponentialfunktionen medan E anger term nummer 15 i följden Alla Matlabföljder indiceras med början från 1 Plotta sedan elementen i och dess summaföljd, och se hur värdena av summorna s n 9 n 1 k 0 k! tycks närma sig ett gränsvärde Vilket tror du? För att testa den hypotes som vi hoppas alla har ställt upp kan man jämföra t ex term 15 (den sista) i följden med e, genom kommandot E Z, E 5

X % 112 Den som vill spara och eventuellt skriva ut de figurer som Matlab ritat kan göra detta med kommandot Det finns en mängd optioner, som man får se med 7 Om man t ex vill spara sin figur i en Postscriptfil som sedan skall inkluderas i en LAEXfil (eller i något annat system), så ger man Matlabkommandot Vill man ha en fil som skall skickas ensam till en skrivare av någon typ så ger man i stället * ",$ för optionen i stället, ' etc Rekursionsekvationer 113 Matlab har de vanliga kontrollstrukturerna med repetitionsslingor,, och logiska val, Repetitionsslingor skall man av effektivitetskäl undvika om det är möjligt, men här skall vi använda dem för att lösa en differensekvation Låt oss börja med övning 216: x n 9 1 077x n 1 200 x 0 9 10000 Vi vill finna lösningen under de första 50 åren Detta kan vi ställa upp på en rad och sedan plotta lösningen med nästa rad på följande sätt: X U -$ = #Z#,#,# " #&Y = &Y,# X = %O#G,G X,#,# Plotsatsen ser ut som den gör, därför att Matlabvektorer nödvändigtvis indiceras med början på 1 medan vi startar vid år 0, och motsvarigheten mellan matematik och Matlab blir därför x n )>X Variera lite på begynnelseinsättningen och se vad som sker Lägg märke till skalorna! peciellt intressanta ting händer nära 2597 kronor Vad har detta med den konstanta partikulärlösningen att göra? 114 Lös rekursionsekvationen x n 9 ax n 1 x n 2 x 0 9 0 x 1 9 1 med a) a lite mindre än 2 och b) a lite större än 2 Det går att göra på en rad med X E =Z# X = -$ =Z'KY,# X =Z X Försök förklara resultatet ( i a) med hjälp av läroboken, avsnitt 33) Beundra de vackra sinuskurvorna som du får i a) med,- OX X - * 6

Matriser och lineära ekvationssystem Matlabs specialitet är matrisräkning Det finns i princip två typer av matrisoperationer i Matlab, elementvisa operationer (array operations) och egentliga matrisoperationer (matrix operations) De förra arbetar med en matris eller två av samma storlek, och utför operationen på en plats i taget utan att blanda in andra matriselement De senare bildar nya element ur många gamla ypiska exempel på egentliga matrisoperationer är matrisinversion och matrismultiplikation 115 Prova skillnaden mellan t ex % och (för en kvadratisk matris ) kriv in t ex =>J? '4Z( vilket ger 2 2-matrisen 1 2 3 4 ransponering av (reella) matriser sker med prim-operatorn, A erhålles med och AA för matrisen ovan Bilda A A 116 Man behöver ofta beräkna uttryck av typen [ a n 1 an 2 O an m \, om a 1 a 2 a m är givna Detta är mycket enkelt, använd operationen %] Försök t ex med J?4'4DD6*(P% ]' Observera att det inte finns någon operation %, eftersom matrisaddition alltid sker elementvis Med tillgång till Matlab behöver man inte tycka att lineära ekvationsystem är jobbiga att lösa, åtminstone inte kvadratiska med entydig lösning Matrisinversen A 1 erhålls med Ett sätt att lösa det lineära ekvationssystemet Ax 9 b är alltså att använda formeln x 9 A 1 b, vilket översatt till Matlab blir XZ= (Detta är i allmänhet inte det mest effektiva sättet att lösa systemet, utan man skall hellre använda Matlabkommandot XD= ) 117 Lös ekvationsystemet x 2y 9 5 3x 4y 9 6 för hand och med Matlab, med båda de angivna metoderna 118 Försök att lösa ekvationssystemet x 2y 9 5 2x 4y 9 6 för hand och med Matlab, med båda de angivna metoderna 119 Försök att lösa ekvationssystemet x 2y 9 5 2x 4y 9 10 för hand och med Matlab, med båda de angivna metoderna Kan du dra några slutsatser av resultaten? 7

Polynomekvationer 120 Med Matlab kan man lätt numeriskt lösa polynomekvationer Operationen heter -,- För att ta ett exempel, får man nollställena till polynomet x 3 5x 7 genom operationen -,- 2!#H7G( Lägg märke till att en del av dem är komplexa Man kan rita upp deras lägen i det komplexa talplanet genom följande operationer:,- *X -,- 24#H4G( (Den senare för att få samma skala på reella och imaginära axeln) Försök nu samma sak med andra polynom, t ex x 9 1 Lineära rekursionsekvationer Det ovanstående kan nu kombineras för att skriva en lösare av begynnelsevärdeesproblem för homogena lineära rekursionsekvationer, alltså (i specialfallet 2:a ordningen) av typen x n ax n 1 bx n 2 9 0 x 0 9 α x 1 9 β Detta görs ju i följande steg (sid 26 27 i läroboken), åtminstone om det karakteristiska polynomet inte har multipelrötter: 1 kriv upp den karakteristiska ekvationen 2 Lös denna 3 kriv upp den allmänna lösningen till ekvationen 4 ätt in begynnelsevärdena i den allmänna lösningen Det ger ett kvadratiskt lineärt ekvationssystem 5 Bestäm konstanterna med hjälp av begynnelsevärdena, dvs lös det lineära ekvationssystemet 6 Beräkna värdet av lösningen vid den önskade tidpunkten Alla dessa steg kan lätt utföras med hjälp av Matlab 121 Lös på detta sätt begynnelsevärdesproblemet x n 9 x n 1 x n 2 x 0 9 1 x 1 9 1 Bestäm x 5 och x 7 och jämför med direkt iteration 8

R = - = = 122 kriv en Matlabfunktion som löser ett allmänt problem x n ax n 1 bx n 2 9 0 x 0 9 α x 1 9 β Huvudet på funktionen skall se ut så här: * X "-, ",-, D H= "-, ",-,, -*,R * ;=, $ *,, 7 $ $ D=! Z$, 9