MATLAB. Introduktion. Syfte. Tips. Oktober 2009

Relevanta dokument
Produkten f(x) och g(x)

TSBB14 Laboration: Intro till Matlab 1D

Mer om funktioner och grafik i Matlab

TANA17 Matematiska beräkningar med Matlab

Introduktion till MATLAB

Matlabövning 1 Funktioner och grafer i Matlab

Matlabövning 1 Funktioner och grafer i Matlab

Index. Vektorer och Elementvisa operationer. Summor och Medelvärden. Grafik i två eller tre dimensioner. Ytor. 20 januari 2016 Sida 1 / 26

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

Beräkningsverktyg HT07

TAIU07 Matematiska beräkningar med Matlab

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

Variabler. TANA81: Beräkningar med Matlab. Matriser. I Matlab skapas en variabel genom att man anger dess namn och ger den ett värde:

Kort om programmering i Matlab

Laboration: Grunderna i MATLAB

TANA17 Matematiska beräkningar med MATLAB för M, DPU. Fredrik Berntsson, Linköpings Universitet. 27 oktober 2015 Sida 1 / 31

Mer om funktioner och grafik i Matlab

Dagens program. Programmeringsteknik och Matlab. Administrativt. Viktiga datum. Kort introduktion till matlab. Övningsgrupp 2 (Sal Q22/E32)

TAIU07 Matematiska beräkningar med MATLAB för MI. Fredrik Berntsson, Linköpings Universitet. 15 januari 2016 Sida 1 / 26

Geometriska transformationer

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

TANA17 Matematiska beräkningar med Matlab

M0043M Integralkalkyl och Linjär Algebra, H14, Matlab, Föreläsning 1

Datorövning 1 Fördelningar

Laboration: Grunderna i Matlab

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

Grafik och Egna funktioner i Matlab

Transformationer i R 2 och R 3

MATLAB övningar, del1 Inledande Matematik

Programmeringsuppgift Game of Life

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

TAIU07 Matematiska beräkningar med Matlab

Tentamen TANA17 Matematiska beräkningar Provkod: DAT1 Godkänd: 9p av totalt 20p Hjälpmedel: MATLAB

Grafritning och Matriser

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

TANA17 Matematiska beräkningar med Matlab

Programmering i Matlab

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

Datorövning 1: Fördelningar

TEKNISKA HÖGSKOLAN Matematik Fredrik Abrahamsson. Introduktion till MATLAB

Matriser och linjära ekvationssystem

Matriser och vektorer i Matlab

Du kan söka hjälp efter innehåll eller efter namn

TAIU07 Matematiska beräkningar med Matlab

Modeller och teknik Grundl program och gränssnitt. Matlab-tips

ATT RITA GRAFER MED KOMMANDOT "PLOT"

Laboration 2: 1 Syfte. 2 Väntevärde och varians hos en s.v. X med fördelningen F X (x) MATEMATISK STATISTIK, AK FÖR BYGG, FMS 601, HT-08

2 Matrisfaktorisering och lösning till ekvationssystem

Lab 1, Funktioner, funktionsfiler och grafer.

Matematik med Matlab för I Inledning. 1 Programmering i MATLAB

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

Linjär algebra med tillämpningar, lab 1

Tekniska Högskolan i Linköping Institutionen för Datavetenskap (IDA) Torbjörn Jonsson Plot och rekursion

Tentamen TAIU07 Matematiska beräkningar med MATLAB för MI

Komponentvisa operationer,.-notation Multiplikation (*), division (/) och upphöj till (ˆ) av vektorer följer vanliga vektoralgebraiska

TANA17 Matematiska beräkningar med Matlab

Matriser och Inbyggda funktioner i Matlab

Syftet med den här laborationen är att du skall bli mer förtrogen med följande viktiga områden inom matematisk statistik

Funktioner och grafritning i Matlab

Introduktion till Matlab

Laborationstillfälle 1 Lite mer om Matlab och matematik

TAIU07 Matematiska beräkningar med Matlab

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

15 februari 2016 Sida 1 / 32

Introduktion till Matlab

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

MATLAB. Vad är MATLAB? En kalkylator för linlär algebra. Ett programspråk liknande t.ex Java. Ett grafiskt verktyg.

Datorövning 1 Introduktion till Matlab Fördelningar

Introduktion till MATLAB, med utgångspunkt från Ada

Lab 2, Funktioner, funktionsfiler och grafer.

Extramaterial till Matematik Y

En introduktion till MatLab

Matriser. Vektorer. Forts. Grunderna i MATLAB. Informationsteknologi. Informationsteknologi.

Platonska kroppar med Matlab

Introduktion till Matlab Föreläsning 1. Ingenjörsvetenskap

Inledning. CTH/GU LABORATION 4 MVE /2017 Matematiska vetenskaper

Tentamen TAIU07 Matematiska beräkningar med MATLAB för MI

Mer om linjära ekvationssystem

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

Matriser och Inbyggda funktioner i Matlab

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

Introduktion till Matlab

Instruktion för laboration 1

Introduktion till Matlab

MMA132: Laboration 2 Matriser i MATLAB

Grunderna i MATLAB. Beräkningsvetenskap och Matlab

Logik och Jämförelser. Styrsatser: Villkorssatsen if och repetitonssatsen for. Scriptfiler. Kommentarer. Tillämpningar: Ett enkelt filter.

4.4. Mera om grafiken i MATLAB

Mer om funktioner och grafik i Matlab

Matriser. Vektorer. Grunderna i MATLAB 2. Informationsteknologi. Informationsteknologi.

Homogena koordinater och datorgrafik

Matriser och vektorer i Matlab

4.3. Programmering i MATLAB

Tentamen TAIU07 Matematiska beräkningar med MATLAB för MI

LAB 1. FELANALYS. 1 Inledning. 2 Flyttal. 1.1 Innehåll. 2.1 Avrundningsenheten, µ, och maskinepsilon, ε M

DN1212, Numeriska metoder & grundläggande programmering. Laboration 1 del 1-3 (frivilliga delar) Del 1-3 (dvs upg ) behöver inte redovisas

Motivering för programmering. F1: Introduktion, Matlabrepetition (kap. 1 2) Att kunna programmera. Interpreterat/kompilerat

Demonstration av laboration 2, SF1901

Tentamen TAIU07 Matematiska beräkningar med MATLAB för MI

Inlämningsuppgift 4 NUM131

Transkript:

UMEÅ UNIVERSITET Datavetenskap Marie Nordström/Per Lindström Oktober 2009 MATLAB Introduktion MATLAB är en integrerad miljö, med matriser som grundkomponent. Här finns avancerade möjligheter att göra beräkningar och att visualisera storheter och resultat. I MATLAB har man möjlighet både till direkt interpreterande beräkningar samt programmering med hjälp av funktioner och kommandofiler (.m-filer) Syfte Övningarna här syftar till att göra dig bekant med MATLAB'S kommandosyntax och lite av grafikmöjligheterna. Tips Använd de inbyggda hjälpfunktionerna, kommandot help i kommandofönstret, eller via meny-val eller med kommandot helpbrowser som ger dig mer detaljerad information i web-liknande format. who visar aktuella variabler format compact ger mindre blankrader i utskrifterna Tidigare kommandon lagras i stack och kan nås via piltangenterna och. Kom ihåg att operatorerna normalt är definierade som matrisoperationer, vill man ha elementvis applikation av en operator så sker det genom att operatorn föregås av en punkt (.*./.^) Dimensioner är allt! Varje enskild operation (även tilldelning) måste vara rätt vad gäller dimensioner, även i MATLAB är dock skalärer undantag (trots att de kan betraktas som 1*1- matriser) UMEÅ UNIVERSITET 901 87 UMEÅ Tel.: 090-786 77 08 Fax: 090-786 61 26 e-mail: marie@cs.umu.se

Baskommandon MATLAB-övningar (Sidhänvisningar till Jönsson: MATLAB beräkningar inom teknik och naturvetenskap) -Börja med att läsa Kap. 1 (s. 13-23) och sedan lösa övningarna i avsnitt 1. på sidorna 23-25 -Läs Kap. 2 och lös övningarna i avsnitt 2.6 (lös de som som verkar intressanta!) -Läs Kap. 3 och lös övningarna 4-6,, 12 i avsnitt 3. -Läs avsnitten 4.1-4.7, 4.9-4.12 -Läs avsnitten 5.1-5.4 och lös övningarna 1-4 i avsnitt 5.14 Därefter kan följande övningar vara lämpliga! 1. Mata in matriserna (s. 15) 1 4 0 3 1 4 1 A = 6 3 1, B = 1 5 19 och v = 3 1 0 1 2 6 5 0 2. Beräkna produkterna 2A, AB och A.*B och observera skillnaden (s. 64 om elementvisa operationer ) 3. Beräkna B T (s.199) 4. Beräkna lösningen till Ax = v utan att beräkna A 1 (använd \ backslash operatorn, sid 15) 5. Lägg in v som andra kolumn i A (sid 62-63) 6. Lägg in v som tredje rad i B (se till att matrisdimensionerna är rätt) (sid 62-63) 7. Bilda en radvektor x med värdena 0,π / 6,2π / 6, 2π. Kontrollera storleken på x med kommandot size (sid 54) 8. Bilda en kolumnvektor t med 200 element mellan 0 och 4π (sid 54) 9. På vilket sätt skiljer sig length från size? 11 9 9. Bilda matrisen D = 9 11 9 utan att mata in elementen ett i taget (avsnitt 4.9). 9 9 11 Tips: använd de fördefinierade ones, zeros, diag 2

Övningar (Med tillstånd av Gerd Eriksson NADA,KTH ) 1. Funktionskurvor Rita kurvor för funktionerna 5e x/ 2 f (x) = x(1+ sinπx) och f (x) = i intervallet 0 x 4. Prova vad som kan vara 3 2cos2πx lagom avstånd mellan punkterna. Rita med hjälp av subplot även kurvor för f (x) + g(x), f (x) g(x) och f (x) / g(x). : (op) plot subplot title./ (op) 2. Ytterligare en funktionskurva Plotta kurvan f (x) = 1 + x + e x/ 2 2 2 +sin πx + 4 x 5 litet steg så att kurvan inte ser kantig ut. i intervallet 2 x 4, med ett lagom.^ (op) exp grid 3

3. Cirkel Cirklar ritas bäst på parameterform : x = x c + R cosϕ, y = y c + Rsinϕ där vinkeln går från 0 till 2π. Rita en cirkel som har radien 3 och origo i (0,1.42). Använd steget 2π / 60. Markera mittpunkten. För att undvika en oval cirkel i plotten använder man axis equal. Rita ut x- och y-axlarna. pi axis equal plot(x,y,'o') 4. Tre tangerande cirklar Låt tre tangerande cirklar ha centrum i punkterna x=[0 4 6.5]'; y=[1.42 6.18 4.75]'; Bestäm deras radier så att de tangerar varandra och rita upp triangeln samt de tre cirklarna. Ledning : Sambanden r 1 + r 2 = s 1, r 2 + r 3 = s 2 och r 3 + r 1 = s 3 mellan radier och triangelsidor skrivs i MATLAB enklast på matris-vektor-form (bara ettor och nollor i matrisen). Lös med r=a\s. \ (op) clear clf hold on ^. (op) sqrt for fill 4

5. Pilkastning Rita tio cirklar med radie 1,2,...,. Fyll den innersta med någon färg. Lägg in 1 poängmarkeringar på piltavlan med text-funktionen. Slumpa tio pilkast normalfördelat 2 (t.ex. med standardavvikelsen 5 i x-led och 4 i y-led) : for pil=1: 6 plot(5*randn,4*randn,'*') 7 8 pause(0.7) 9 end pause-satsen ger 0.7 sekunders fördröjning mellan varje pilkast. Den blinkning som syns i grafikfönstret vid varje pilkast beror på att den aktuella plotten raderas och ersätts av en ny figur. Du kan slippa blinkningen genom att använda dig av dubbel-buffring. Detta görs med set(gcf,'doublebuffer','on') Egenskapen DoubleBuffer styr hur grafiken ska uppdateras hos grafikobjektet figure i MATLAB. Beräkna poängen för varje kast, summera och skriv ut totalpoängen. Exekvera flera gånger. Simulera sedan en sämre pilkastare genom att öka standardavvikelsen (se randn) 3 4 5 pause for randn gcf set(gcf) if - else axis off text 6. Femuddiga stjärnor Femuddstjärnor kan man ju rita utan att lyfta på pennan. Rita en sådan i MATLAB. Låt en udd ligga i origo och resten på lämpliga koordinatvärden. Rita också en femudd som är förskjuten fyra enheter i både x och y-led. Använd fill istället för plot för denna. 40 Gör sedan en stjärnhimmel genom att slumpa ut 15 fyllda och 15 ofyllda stjärnor, likformigt fördelat i området 0 x 60 och 0 y 45 35 30 25 20 15 5 0 0 20 30 40 50 pause 5

7. Klicka in punkter Modifiera uppgiften med tre cirklar så att användaren får ange tre önskade hörnpunkter till en triangel. Detta skall ske genom att användaren klickar i grafikfönstret. Börja med ett axis-kommando med lämpliga värden för x- och y-axlarna, t.ex. clear, clf, axis([0 0 8]), hold on Klickning av tre punkter kan göras med [x,y]=ginput(3); plot(x,y,'o') Nackdelen är att punkterna inte markeras förrän alla tre matats in. Pröva! Det är bättre att klicka in en punkt i taget, markera den och uppdatera x och y vektorerna. x=[]; y=[]; for i=1:3 [xp,yp]=ginput(1); plot(xp,yp,'*'), x=[x; xp]; y=[y; yp]; end ginput axis disp clf 8. Vridna figurer cos(v) sin(v) Med hjälp av en transformationsmatris S = sin(v) cos(v) kan man enkelt rotera figurer. Här startar vi med femudden från tidigare, flyttar den fem enheter åt höger samt roterar allt kring origo. % femuddsnurr clear, clf x=5+[0 5 0 3.5 3 0]; y=[0 2.8 3.3 0 5 0]; plot(0,0,'o', x,y) axis equal, hold on, axis off n=; v=2*pi/n; S=[cos(v) -sin(v); sin(v) cos(v)]; for k=1:n P=S*[x;y]; x=p(1,:); y=p(2,:); fill(x,y,'y') end 6

9. Klocka Konstruera en klocka med cirkel-formad urtavla och färgglada tim-, minut- och sekundvisare. 30 20 Du behöver inte sätta ut markeringar på urtavlan. Rita om visarna varje hel sekund, utnyttja drawnow efter plot-satsen. MATLAB har en funktion clock som retrurnerar en vektor med följande innehåll [year month day hour minute seconds], där de fem första är heltal och den sista, seconds, har 0 - -20-30 -30-20 - 0 20 30 några få decimaler. Detta kan man lösa med fix(clock). För att slippa flimmer kan du utnyttja samma teknik som i pilkastningsuppgiften. Tänk på att låta timvisaren följa minutvisaren så att den inte "skuttar" fram en timme i taget. clock fix plot(..,..,'linewidth',2) plot(..,..,'b') 7