Grafik och Egna funktioner i Matlab

Relevanta dokument
Mer om funktioner och grafik i Matlab

Mer om funktioner och grafik i Matlab

Funktioner och grafritning i Matlab

Funktioner och grafritning i Matlab

Mer om funktioner och grafik i Matlab

Introduktion till Matlab

Mer om funktioner och grafik i Python

Introduktion till Matlab

Matriser och Inbyggda funktioner i Matlab

Introduktion till Matlab

Parametriserade kurvor

Grafritning och Matriser

Matriser och Inbyggda funktioner i Matlab

Laborationstillfälle 1 Lite mer om Matlab och matematik

CTH/GU LABORATION 1 MVE /2013 Matematiska vetenskaper. Mer om grafritning

Introduktion till Matlab

Introduktion till Matlab

ATT RITA GRAFER MED KOMMANDOT "PLOT"

Introduktion till Matlab

Kort om programmering i Matlab

Programmering i Matlab

Introduktion till Matlab

Introduktion till Matlab

Introduktion till Matlab

Matlabövning 1 Funktioner och grafer i Matlab

Kort om programmering i Matlab

Linjära ekvationssystem

5B1134 Matematik och modeller

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

Matlabövning 1 Funktioner och grafer i Matlab

Geometriska transformationer

Introduktion till Matlab

Introduktion till MATLAB

KPP053, HT2016 MATLAB, Föreläsning 3. Plotter och diagram Läsa och skriva data till fil

Kort om programmering i Python

Newtons metod. 1 Inledning. 2 Newtons metod. CTH/GU LABORATION 6 MVE /2013 Matematiska vetenskaper

Kurvor, fält och ytor

15 februari 2016 Sida 1 / 32

Linjärisering och Newtons metod

Linjära system av differentialekvationer

Transformationer i R 2 och R 3

Trigonometri. Joakim Östlund Patrik Lindegrén 28 oktober 2003

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

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

Geometri och Trigonometri

Grafritning kurvor och ytor

Grafritning kurvor och ytor

Programmeringsuppgift Game of Life

Introduktionskurs i matematik LÄSANVISNINGAR

Lab 1, Funktioner, funktionsfiler och grafer.

TANA17 Matematiska beräkningar med Matlab

(a) Skriv en matlabsekvens som genererar en liknande figur som den ovan.

4.4. Mera om grafiken i MATLAB

SF1620 Matematik och modeller

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

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

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

TAIU07 Matematiska beräkningar med Matlab

Studio 6: Dubbelintegral.

Matlab övningsuppgifter

Linjärisering, Jacobimatris och Newtons metod.

Laboration: Grunderna i Matlab

Introduktion till Gnuplot

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

TMV156 Inledande matematik E, 2010 DATORÖVNING 2 ANONYMA FUNKTIONER, FUNKTIONSGRAFER OCH LITE OPTIMERING

5B1134 Matematik och modeller Lösningsförslag till tentamen den 11 oktober 2004

MATLAB övningar, del1 Inledande Matematik

Repetitionsuppgifter

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

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

Laboration 2 Ordinära differentialekvationer

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

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

Symboliska beräkningar i Matlab

Kurvlängd och geometri på en sfärisk yta

TEKNISKA HÖGSKOLAN Matematik Fredrik Abrahamsson. Introduktion till MATLAB

Minsta-kvadratmetoden

Komposanter, koordinater och vektorlängd Ja, den här teorin gick vi igenom igår. Istället koncentrerar vi oss på träning inför KS3 och tentamen.

Introduktion till Python Teoridel

4x 2 dx = [polynomdivision] 2x x + 1 dx. (sin 2 (x) ) 2. = cos 2 (x) ) 2. t = cos(x),

5B1134 Matematik och modeller Uppgifter från kontrollskrivningar och tentamina under läsåren och

A1:an Repetition. Philip Larsson. 6 april Kapitel 1. Grundläggande begrepp och terminologi

Beräkningsverktyg HT07

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

Vektorgeometri och funktionslära

Introduktion till Matlab

TNA001- Matematisk grundkurs Tentamen Lösningsskiss

Datorövning 1 Fördelningar

Funktionsytor och nivåkurvor

Introduktion till Matlab 1

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

5B1134 Matematik och modeller

Förberedelser inför lektion 1 (första övningen läsvecka 1) Lektion 1 (första övningen läsvecka 1)

1.1 MATLABs kommandon för matriser

5B1134 Matematik och modeller Uppgifter från kontrollskrivningar och tentamina under läsåren , och

SF1620 (5B1134) Matematik och modeller Uppgifter från kontrollskrivningar och tentamina under tiden

Undersökande arbetssätt i matematik 1 och 2

Komplexa tal. Sid 1: Visa att ekvationerna på sid 1 saknar reella lösningar genom att plotta funktionerna.

5B1134 Matematik och modeller

SF1626 Flervariabelanalys

Transkript:

Grafik och Egna funktioner i Matlab Analys och Linjär Algebra, del A, K1/Kf1/Bt1, ht11 Moore: 5.1-5.2 och 6.1.1-6.1.3 1 Inledning Vi fortsätter med läroboken Matlab for Engineers av Holly Moore. Först ser vi på grafritning och lite annan grafik för att sedan se hur man definerar egna funktioner. Tänk på att använda den desktop layout som ni tog fram under förra studio-övningen. 2 Grafik Läs Moore avsnitt 5.1-5.2. 2.1 Grafritning Vi har redan ritat grafer av funktioner f(x) över intervall a x b, så vi tar några uppgift direkt. Uppgift 1. Gör Problems 5.1 i Moore, sid. 198. Uppgift 2. Rita grafen till f(x) = x x cos(7x) över intervallet x 8. 2.2 Kurvritning Nu skall vi rita s.k. parameterframställda kurvor. Som exempel tar vi enhetscirkeln t (x(t), y(t)) = (cos(t), sin(t)), t 2π När man ritar sådana kurvor ritar man inte ut parametern t utan enbart x- och y-värdena. >> t=linspace(,2*pi); >> plot(cos(t),sin(t)) >> axis equal % annars blir cirkeln tillplattad 1 Utan Med.5.5.5.5 1 1.5.5 1 1 1 1

Uppgift 3. Rita kurvorna t (x(t), y(t)) = (cos(t) + cos(3t), sin(2t)) och t (x(t), y(t)) = (cos(t) + cos(4t), sin(2t)), för t 2π. Rita en kurva i taget! 2.3 Polygontåg Ett polygontåg som ges av (x 1, y 1 ), (x 2, y 2 ),, (x n, y n ) ritas upp i Matlab genom att man bildar vektorerna och sedan gör plot(x,y). x = (x 1, x 2,, x n ) och y = (y 1, y 2,, y n ) Grafritning är ett polygontåg vi ritar upp. Tag t.ex. grafen till f(x) = sin(x) för x 2π. Då har vi x = (x 1, x 2,, x n ) med = x 1 < x 2 < < x n = 2π och y = (y 1, y 2,, y n ) med y i = sin(x i ). Sedan ritar vi upp med plot(x,y). Om polygontåget är slutet, dvs. x n = x 1 och y n = y 1, och om det inte korsar sig självt så omsluter det ett område i planet, ett s.k. polygonområde. Vi kan använda fill för att färglägga ett sådant område. Vi ritar upp polygontåg som ges av (.1,.2), (.8,.1), (.9,.7), (.1,.2), dvs. en triangel. >> x=[.1.8.9.1]; >> y=[.2.1.7.2]; >> plot(x,y, o- ), axis([ 1.8]) Vi fyller området med grön färg. (Vi använder axis för att få lite luft runt triangeln.) >> fill(x,y, g ), axis([ 1.8]).8.8.6.6.4.4.2.2.2.4.6.8 1.2.4.6.8 1 Uppgift 4. Rita en cirkel och fylld den med grön färg, rita sedan en kvadrat inskriven i cirkeln (kvadratens hörn skall ligga på cirkeln) och fyll kvadraten med gul färg. Använd hold on. 2.4 Dela figuren Ibland vill man ha flera koordinatsystem i samma figur-fönster (Figure). Exempel 1. Skall i samma figur göra tre olika koordinatsystem. I dessa skall vi rita grafen av sin(x), cos(x) respektive tan(x) över intervallet π 2 x π 2. 2

Så här kommer det se ut >> s=.1; % s ett litet positivt tal för att inte få med >> x=linspace(-pi/2+s,pi/2-s); % -pi/2 och pi/2 bland x-värdena >> subplot(2,2,1) % delar in Figure i 2x2 delar och gör 1:a aktiv >> plot(x,sin(x)) >> axis([-pi/2 pi/2-1.2 1.2]), grid on >> title( sinus ) >> subplot(2,2,3) % delar in Figure i 2x2 delar och gör 3:e aktiv >> plot(x,cos(x)) >> axis([-pi/2 pi/2-1.2 1.2]), grid on >> title( cosinus ) >> subplot(2,2,[2,4]) % samma indelning men gör 2:a och 4:e aktiva >> plot(x,tan(x)) >> axis([-pi/2 pi/2-15 15]), grid on >> title( tangens ) 3 Egna funktioner Läs Moore avsnitt 6.1.1-6.1.3. Det finns flera olika sätt att göra egna funktioner i Matlab. Om funktionen innehåller flera uttryck eller satser måste man göra en function eller funktionsfil, dvs. skapa en textfil med funktionsbeskrivningen. Består funktionen av ett enda uttryck så han vi göra ett s.k. funktionshandtag (function handle) eller en s.k. anonym funktion. 3

För större program kan man även vilja använda andra sätt att skriva funktioner, exempelvis underfunktioner (subfunction) eller nästlade funktioner (nested function), men vi lämnar det så länge. En function är en textfil med samma namn som funktionen och som inleds med en funktionsdeklaration. Uppgift 5. Gör Practice Exercises 6.1(3), 6.2(2, 9), sid. 29, 215. Exempel 2. Vi skall rita grafen av f(x) = sin(ax) x över intervallet 5 x 5, för a = 1, 2, och 3. Vi måste tänka på att f(x) inte definierad i x =. Finns gränsvärdet och vad blir det i så fall? Vi får dela intervallet i två delar för att undvika nollan. >> s=.1; % s för att separera nollan >> xn=linspace(-5,-s); % xn negativa x-värden >> xp=linspace(s,5); % xp positiva x-värden Nu behöver vi komponentvis division och vi inför ett funktionshandtag (function handle). Vi ser först på fallet a = 1 >> f=@(x)sin(x)./x; >> plot(xn,f(xn), r,xp,f(xp), r ) Nu skall vi ta fallen a = 2 och 3 också. 4

Enklast är om vi gör om vårt funktionshandtag så att även a blir ett argument. >> f=@(x,a)sin(a*x)./x; >> plot(xn,f(xn,1), r,xp,f(xp,1), r ) % a=1 >> hold on >> plot(xn,f(xn,2), b,xp,f(xp,2), b ) % a=2 >> plot(xn,f(xn,3), g,xp,f(xp,3), g ) % a=3 >> hold off Uppgift 6. Gör en skriptfil av exempel 2. Exempel 3. Kastbana utan luftmotstånd beskrivs av y(x) = y ( g x v2 sin(2θ) ) 2 + v2 sin2 θ 2v 2 cos2 θ 2g 2g där v är utkastfarten, y är utkasthöjden och θ är utkastvinkeln. Tag v = 1 m/s, y = 1.85 m och ritar banorna för några olika utkastvinklar. Vi gör en function med namnet kastbana som beskriver kastbanan för olika utkastvinklar. Så här ser funktionsbeskrivningen ut som vi skrivit in i editorn. function y=kastbana(x,theta) t=theta*pi/18; % theta i grader, t i radianer v=1; y=1.85; g=9.81; a=g/(2*v^2*cos(t)^2); b=v^2*sin(2*t)/(2*g); c=v^2*sin(t)^2/(2*g); y=y-a*(x-b).^2+c; 5

Ritar enligt >> x=linspace(,14); >> plot([ 14],[ ], green ), hold on % Grön gräsmatta >> plot(x,kastbana(x,15)), text(6.4,1.6, 15^o ) >> plot(x,kastbana(x,3)), text(6.4,3.2, 3^o ) >> plot(x,kastbana(x,45)), text(6.4,4.6, 45^o ), hold off Rubrik och texter på axlarna med >> title( Kastbana med v_=1 m/s och olika \theta ) >> xlabel( x ), ylabel( y(x) ) >> axis equal, axis([ 14-2 6]) Uppgift 7. Gör en funktionsfil och en skriptfil av exempel 3 och rita graferna. 4 Redovisning Denna vecka skall uppgifterna 1-7 redovisas för handledaren. Tänk på att använda den desktop layout ni skapade i förra veckans studio-övning. 5 Inför nästa veckas studio-övning Inför nästa veckas studio-övning är det viktigt att man i förväg läser igenom texten för studioövningen och läser de avsnitt i kursboken av Holly Moore som anges i studio-texten, dvs. avsnitten 6.1.3-6.1.7, 6.3-6.5, 7.1-7.3 och 8.1-8.5.1.3. 6