Funktionsytor och nivåkurvor

Relevanta dokument
Funktionsytor och nivåkurvor

Grafritning kurvor och ytor

Grafritning kurvor och ytor

Matlab övningsuppgifter

Linjära ekvationssystem

Parametriserade kurvor

Mer om funktioner och grafik i Matlab

Dubbelintegraler. 1 Inledning. 2 Rektangelregeln. CTH/GU LABORATION 5 MVE /2018 Matematiska vetenskaper

Mer om funktioner och grafik i Matlab

Matriser och vektorer i Matlab

Mer om geometriska transformationer

Funktioner och grafritning i Matlab

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

Matriser och vektorer i Matlab

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

Geometriska transformationer

Newtons metod. 1 Inledning. CTH/GU LABORATION 3 MVE /2014 Matematiska vetenskaper

Mer om funktioner och grafik i Matlab

Mer om linjära ekvationssystem

Linjära ekvationssystem i Matlab

Funktioner och grafritning i Matlab

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

Kurvor, fält och ytor

Matriser och Inbyggda funktioner i Matlab

Matriser och Inbyggda funktioner i Matlab

Datorlaborationer i matematiska metoder E1, del C, vt 2002

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

Introduktion till Matlab

TANA17 Matematiska beräkningar med Matlab

Introduktion till Matlab

Transformationer i R 2 och R 3

Introduktion till Matlab

Introduktion till Matlab

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

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

Gemensamt projekt: Matematik, Beräkningsvetenskap, Elektromagnetism. Inledning. Fysikalisk bakgrund

Introduktion till Matlab

Laboration: Grunderna i MATLAB

Laborationstillfälle 1 Lite mer om Matlab och matematik

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

TANA17 Matematiska beräkningar med Matlab

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

Några geometriska konstruktioner i R 3

Linjära system av differentialekvationer

Platonska kroppar med Matlab

TAIU07 Matematiska beräkningar med Matlab

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

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

STOCKHOLMS UNIVERSITET VT 2011 Avd. Matematisk statistik GB DATORLABORATION 1: TIDSSERIER.

linjära ekvationssystem.

Minsta-kvadratmetoden

Introduktion till Matlab

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

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

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

TAIU07 Matematiska beräkningar med Matlab

Matlab-uppgift 3 i Flervariabelanalys

Flervariabelanlys och Matlab Kapitel 4

Introduktion till MATLAB

Matematisk Modellering

Vectorer, spannet av vektorer, lösningsmängd av ett ekvationssystem.

System av ordinära differentialekvationer

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

Fall 1. En kurva definierad för positiva x roterar kring z-axeln.

TSBB14 Laboration: Intro till Matlab 1D

Matriser och linjära ekvationssystem

2x + y + 3z = 4 x + y = 1 x 2y z = 3

Grafritning och Matriser

Homogena koordinater och datorgrafik

Optimeringsproblem. 1 Inledning. 2 Optimering utan bivillkor. CTH/GU STUDIO 6 TMV036c /2015 Matematiska vetenskaper

Flervariabelanlys och Matlab Kapitel 1

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

Grafik och Egna funktioner i Matlab

TANA17 Matematiska beräkningar med Matlab

Kort om programmering i Python

Matlabövning 1 Funktioner och grafer i Matlab

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

Mer om linjära ekvationssystem

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

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

Matlabövning 1 Funktioner och grafer i Matlab

DUBBELINTEGRALER. Rektangulära (xy) koordinater

Övningar till kapitel 1

4.4. Mera om grafiken i MATLAB

Studio 6: Dubbelintegral.

Laboration 2 Ordinära differentialekvationer

i punkten ( 1,2,3). b) Bestäm riktningsderivatan av f i punkten ( 1,2) ut ur Scandinavium genom tak och yttervägg [Scandinaviums tak är ytan ( x, y,

Instruktion för laboration 1

TAIU07 Matematiska beräkningar med Matlab

SF1626 Flervariabelanalys

2x + y + 3z = 1 x 2y z = 2 x + y + 2z = 1

Kort om programmering i Matlab

Analys o Linjär algebra. Lektion 7.. p.1/65

Instruktion för laboration 1

Extra datorövning med Maple, vt2 2014

20 Integralkalkyl i R 3

tal. Mängden av alla trippel av reella tal betecknas med R 3 och x 1 x 2 En sekvens av n reella tal betecknas med (x 1, x 2,, x n ) eller

Kap Funktioner av flera variabler, definitionsmängd, värdemängd, graf, nivåkurva. Gränsvärden, kontinuitet.

1 Vektorer i koordinatsystem

Programmering i Matlab

Transkript:

CTH/GU LABORATION MVE5-4/5 Matematiska vetenskaper Funktionstor och nivåkurvor Inledning En graf till en funktion i en variabel f : R R är mängden {(, ) : = f()}, dvs. en kurva i planet. En graf till en funktion i två variabler f : R R är mängden {(,, z) : z = f(, )}, dvs. en ta i rummet, en s.k. funktionsta. Som eempel tar vi över området 3,. Vi ser funktionstan nedan till vänster. f(, ) = ( 3 ) sin( ) Ett annat sätt att åskådliggöra en funktion i två variabler f : R R är att rita nivåkurvor, dvs. mängderna {(, ) : f(, ) = c}, där c är en konstant som anger nivån. Vi ser nivåkurvor till vår funktion ovan till höger. Vi får en slags topografisk karta av funktionen om vi ser funktionstan som ett landskap och då blir nivån helt enkelt höjden över havet. En funktion i tre variabler f : R 3 R kan vi inte rita en graf till. Det skulle vara ett tredimensionellt objekt i ett frdimensionellt rum. Motsvarigheten till nivåkurvor blir nivåtor, dvs. mängderna {(,, z) : f(,, z) = c}, där c konstant. Dessa kan vi däremot rita upp. Som eempel kan vi ta funktionen f(,, z) = + + z i tre variabler. Nivåtorna blir då sfärer {(,, z) : + + z = c} med centrum i origo.

Funktionstor i R 3 Vi ser på funktionstan till funktionen från inleningen, dvs. f : R R där över området 3,. f(, ) = ( 3 ) sin( ) Resultatet får vi med kommandot surf, vilket är motsvarigheten till plot då vi skall rita tor. >> =linspace(-,3,3); =linspace(-,,3); >> f=@(,)(/3*.^-).*sin(-.*); >> [X,Y]=meshgrid(,); >> Z=f(X,Y); % eller surf(,,z) >> grid on, bo on >> label( ), label( ), zlabel( z = f(,) ).5.5 z=f(,).5.5.5.5.5 3 Funktionen meshgrid får som indata två vektorer och, med - och -värden, och ger två matriser X och Y som utdata. Dessa matriser är uppbggda så att vi kan göra en matris Z med alla f(, )-värden på en gång genom att skriva av vår matematiska formel för f(, ) bara vi använder komponentvisa operationer och samtidigt ersätter med X och med Y. Ritar vi en graf av en funktion i en variabel tar vi kanske några hundratal -värden. När vi ritar en funktionsta tar vi istället några tiotal - respektive -värden. Uppgift. Rita funktionstan till funktionen f : R R där över området,. f(, ) = e ( + )

Hur fungerar det? Den ta vi skall rita upp består ju av alla punkter (,, f(, )), där min ma och min ma. När vi skall rita tan med surf krävs att vi bildar en m n-matris Z med elementen z ij = f( j, i ) där min = < < < n = ma och min = < < < m = ma. Lägg märke till ordningen på indeen, element z ij skall innehålla funktionsvärdet för = j och = i. Stigande -värden längs rader i Z, dvs. stigande kolonninde, och stigande -värden längs kolonner i Z, dvs. stigande radinde. Vi går igenom några alternativa lösningar och vi tänker oss att vi i Matlab redan skapat en funktion f och koordinatvektorer och med n respektive m element. Alternativ. Vi bildar matrisen Z i Matlab med >> Z=zeros(m,n); >> for i=:m for j=:n Z(i,j)=f((j),(i)); >> surf(,,z) Alternativ. I första alternativet fick hålla reda på var det skulle vara i respektive j. Med funktionen meshgrid skapas två matriser X och Y så att X(i,j) har värdet (j) och Y(i,j) har värdet (i), dvs. indeproblemet är borta. >> [X,Y]=meshgrid(,); >> Z=zeros(m,n); >> for i=:m for j=:n Z(i,j)=f(X(i,j),Y(i,j)); Alternativ 3. Den allra smidigaste lösningen får vi då vi låter de nästlade repetitionssatserna i tidigare alternativ ersättas av komponentvisa operationer. Dvs. vår funktion f måste skrivas med komponetvisa operationer. Vi slipper även initieringen av Z. >> [X,Y]=meshgrid(,); >> Z=f(X,Y); Uppgift. Rita upp de tor som är grafer till nedanståe funktioner med surf: (a). f(, ) = +, (, ) [, ] [3, 4] (b). f(, ) =, (, ) [, ] [, ] 3

(c). f(, ) = ( ) /, (, ) [, 3] [, ] (d). f(, ) = e +, (, ) [, ] [, ] Uppgift 3. Återskapa figur.4 i Adams. Dvs. rita grafen för funktionen f(, ) = 6/( + + ) över ett lämpligt område. Tänk på att använda komponentvisa operationer. 3 Nivåkurvor i R Som eempel ser vi på funktionen vars nivåkurvor vi visade en bild av i inledningen över området 3,. Vi får bilden nedan med f(, ) = ( 3 ) sin( ) >> =linspace(-,3,4); =linspace(-,,4); >> f=@(,)(/3*.^-).*sin(-.*); >> [X,Y]=meshgrid(,); >> Z=f(X,Y); >> contour(x,y,z,3) % eller contour(,,z,3) Den lite flligare bilden nedan till höger fås med contourf..5.5.5.5.5.5 3 3 Det är också möjligt att rita både ta och nivåkurvor i samma graf med kommandot surfc. Uppgift 4. Rita nivåkurvor till funktionen från uppgift, dvs. f : R R där över området,. f(, ) = e ( + ) Uppgift 5. Rita nivåkurvor till funktionerna i uppgift. Gå in och redigera cellerna så att ni samtidigt ser både funktionstan och nivåkurvorna. Använd subplot. 4

CTH/GU Uppföljning av LABORATION MVE5-4/5 Matematiska vetenskaper Målsättning Avsikten med denna laboration är att vi skall med Matlab grafiskt studera funktioner i två variabler. Kommentarer och förklaringar Ibland när man ritar en funktionsta med surf(x,y,z) kanske man vill ha den lite genomskinlig och det kan man få med surf(x,y,z, FaceAlpha,.7). Parametern FaceAlpha ges ett värde mellan och, där är helt transparent och är helt solid. Vill vi ha en enfärgad tan, t.e. blå, och tan skall vara nästan helt genomskinlig så ger vi kommandot surf(x,y,z, FaceColor, b, FaceAlpha,.). Detta kan vara bra att använda när vi skall rita tangentplan i nästa laboration. När man ritar nivåkurvor med contour(x,y,z) får man som standard nivåer jämnt fördelade i spannet av värdena i Z, vill vi ha ett annat antal använder vi contour(x,y,z,nl), där nl är antalet önskade nivåer. Om vi istället vill ange eakt vilka nivåer som skall ritas upp ger vi dem i en vektor lvec och använder contour(x,y,z,lvec). I en senare laboration vill vi rita upp ast nivån där funktionen är noll, dvs. rita noll-nivåkurvor. detta gör vi med contour(x,y,z,[ ]). Fundera på varför vi måste ge två gånger. Ibland behöver man bta variabler för att på ett lättare eller bättre sätt behandla ett problem. Ett eempel på variabel- eller koordinatbte är polära koordinater { = r cos(ϕ) där (, ) (, ) samt r > och ϕ < π. = r sin(ϕ).5.5.5.5 ϕ 6 5 4 3.5.5 r Vill vi t.e. rita grafen av f(, ) = över området +, dvs. en halvsfär, och använder rektangulära koordinater får vi den inte alltför sngga figuren nedan till vänster men använder vi polära koordinater får vi den lite snggare till höger. 5

Rektangulära koordinater Polära koordinater.5.5.5.5.5.5 >> subplot(,,) % Rektangulära koordinater >> =linspace(-,,3); =linspace(-,,3); >> [X,Y]=meshgrid(,); >> U=-X.^-Y.^; >> U(find(U<))=; % Sätter negativa värden till noll, så att >> Z=sqrt(U); % vi kan ta roten ur utan problem >> subplot(,,) % Polära koordinater >> r=linspace(,,3); t=linspace(,*pi,3); >> [R,T]=meshgrid(r,t); >> X=R.*cos(T); Y=R.*sin(T); >> Z=sqrt(-R.^); % Vi utnttjar att X.^-Y.^=R.^ En liten frivillig uppgift: Rita upp funktionstan och nivåkurvor till Använd polära koordinater. f(, ) = e +, (, ) {(, ) : + 4} 3 Lärandemål Efter denna laboration skall du kunna rita funktionstor och nivåkurvor med surf och contour rita enfärgade (FaceColor) något genomskinliga (FaceAlpha) funktionstor med surf rita specifika nivåer, t.e. noll-nivåer med contour 6