Mer om funktioner och grafik i Matlab

Relevanta dokument
Mer om funktioner och grafik i Matlab

Matriser och Inbyggda funktioner i Matlab

Mer om funktioner och grafik i Matlab

Grafik och Egna funktioner i Matlab

Matriser och Inbyggda funktioner i Matlab

Funktioner och grafritning i Matlab

Funktioner och grafritning i Matlab

Mer om funktioner och grafik i Python

Matriser och linjära ekvationssystem

Matriser och vektorer i Matlab

Linjära ekvationssystem i Matlab

Introduktion till Matlab

Parametriserade kurvor

Introduktion till Matlab

Matriser och vektorer i Matlab

Laborationstillfälle 1 Lite mer om Matlab och matematik

Introduktion till Matlab

TANA17 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

Introduktion till Matlab

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

TAIU07 Matematiska beräkningar med Matlab

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

Matlabövning 1 Funktioner och grafer i Matlab

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

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

Grafritning och Matriser

Matlabövning 1 Funktioner och grafer i Matlab

ATT RITA GRAFER MED KOMMANDOT "PLOT"

Grafritning kurvor och ytor

Programmering i Matlab

Introduktion till Matlab

Introduktion till Matlab

Introduktion till MATLAB

Beräkningsverktyg HT07

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

Kort om programmering i Matlab

TEKNISKA HÖGSKOLAN Matematik Fredrik Abrahamsson. Introduktion till MATLAB

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

4.4. Mera om grafiken i MATLAB

Introduktion till Matlab

Funktionsytor och nivåkurvor

Kurvor, fält och ytor

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

Linjära ekvationssystem

Introduktion till Matlab

Funktionsytor och nivåkurvor

TSBB14 Laboration: Intro till Matlab 1D

Kort om programmering i Python

Laboration: Grunderna i Matlab

Geometriska transformationer

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

Datorövning 1 Fördelningar

MATLAB övningar, del1 Inledande Matematik

Introduktion till Matlab

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

Introduktion till 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

Datorövning 1: Fördelningar

Lab 1, Funktioner, funktionsfiler och grafer.

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

Grafritning kurvor och ytor

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

Lab 2, Funktioner, funktionsfiler och grafer.

Laboration: Grunderna i MATLAB

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

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

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

5B1134 Matematik och modeller

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

Matlab övningsuppgifter

Kort om programmering i Matlab

linjära ekvationssystem.

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

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

15 februari 2016 Sida 1 / 32

1.1 MATLABs kommandon för matriser

Introduktion till Python Teoridel

% Föreläsning 4 22/2. clear hold off. % Vi repeterar en liten del av förra föreläsningen:

MAM283 Introduktion till Matlab

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

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

En introduktion till MatLab

Instruktion för laboration 1

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

Geometri och Trigonometri

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

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

Matriser och linjära ekvationssystem

Grunderna i MATLAB. Beräkningsvetenskap och Matlab

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

MATLAB. Introduktion. Syfte. Tips. Oktober 2009

Transformationer i R 2 och R 3

Programmeringsuppgift Game of Life

Institutionen för Matematik. SF1625 Envariabelanalys. Lars Filipsson. Modul 1

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

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

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

TANA17 Matematiska beräkningar med Matlab

Transkript:

CTH/GU 2/22 Matematiska vetenskaper Inledning Mer om funktioner och grafik i Matlab Först skall vi se lite på funktioner som redan finns i Matlab, (elementära) matematiska funktioner som sinus och cosinus samt funktioner för att bilda och operera på vektorer och matriser. Sedan ser vi lite på grafritning och annan grafik för att avslutningvis se hur man definerar egna funktioner. 2 Inbyggda funktioner 2. Elementära funktioner Vi letar upp hjäptexterna elementära eller matematiska funktioner i Help Navigator genom att succesivt öppna MATLAB, User Guide, Functions, Mathematics och slutligen Elementary Math. Vi har en gruppering i trigonometriska, exponential, komplexa, avrundning och rester samt diskreta funktioner. Funktioner som sinus och cosinus, kan operera på matriser. Man får som resultat en matris av samma typ vars element är funktionsvärdet av respektive element i argumentet.

Som exempel tar vi som vi skriver in i Matlab enligt >> A=[ 4 7 ; 2 8 ; 3 6 9 2] >> c=[ 2 4 6 8] 4 7 A = 2 8, c = [ 2 4 6 8 ] 3 6 9 2 Nu beräknar vi sinus av vektorn c och matrisen A med >> v=sin(c).993 -.768 -.2794.9894 >> V=sin(A) V =.84 -.768.67 -.44.993 -.989.9894 -..4 -.2794.42 -.366 Vi söker på tan, dvs. tangensfunktionen, och ser på hjälptexten. Uppgift. Leta upp hjälptexten du ser i figuren och rita upp tangensfunktionen enligt exemplet. Gör en skriptfil och använd cell-läge så att ni kan bygga på med kommande övningsuppgifter. 2

2.2 Matris- och vektorfunktioner Vi har redan sett de inbyggda funktionerna length och size. Som exempel använder vi vektorn c och matrisen A från förra avsnittet. Antal element i vektorn c ges av >> l=length(c) l = och antalet rader och kolonner A fås med >> [m,n]=size(a) m = 3 n = 4 Största och minsta elementet i en vektor fås med funktionerna max och min. För en matris blir det de största elementen i varje kolonn. >> v=max(c) 8 >> v=max(a) 3 6 9 2 Vi ser på hjälptexten för max Vi ser att vi med[v,index]=max(c) även kan få reda på var det maximala värdet finns någonstans. 3

Summan och produkten av elementen i vektorn fås med sum och prod. För en matris blir det summan eller produkten av varje kolonn. >> s=sum(c) s = 2 >> s=sum(a) s = 6 24 33 Vill vi sortera en vektor i stigande ordning gör vi det med sort. För en matris blir det varje kolonn som sorteras om i stigande ordning. 3 Hantering av matriser Vektorn c = (, 2, 4, 6, 8) från förra avsnittet kan bildas på två sätt >> c=[ 2 4 6 8] >> c=:2:8 det senare lite enklare sättet kallas kolon-notation. Med kolon-notationen bygger vi upp en vektor enligt variabel=startvärde:steg:slutvärde. Vi låter s få tredje värdet c 3 med s=c(3) och bildar vektorn v av andra och femte värdet, dvs. (c 2,c ), med >> v=c([2,]) 2 8 Vi kan ändra ett element i v, t.ex. låta v 2 =, med >> v(2)= 2 Vi låter s få värdet av elementet på rad 2, kolonn 3 i matrisen A från inledningen med s=a(2,3) och vi bildar en radvektor v av rad 3, alla kolonner med >> v=a(3,:) 3 6 9 2 samt en kolonnvektor u av rad 2-3, kolonn 2 med >> u=a(2:3,2) u = 6 4

Vi bildar en matris V av blocket rad -2, kolonn 2-3 >> V=A(:2,2:3) V = 4 7 8 Om vi har två vektorer u = (2, 3, ) och (, 2, 3) av samma typ och vill bilda summan a = u + v och skillnaden b = u v, så gör vi det med a=u+v respektive b=u-v. Operationerna sker komponentvis a = u + (2, 3, ) + (, 2, 3) = (2 +, 3 + 2, + 3) = (3,, 8) b = u (2, 3, ) (, 2, 3) = (2, 3 2, 3) = (,, 2) eller med andra ord a i = u i + v i och b i = u i v i. T.ex. vid grafritning behövs de komponentvisa motsvarigheterna till multiplikation och division u.* (2, 3, ).* (, 2, 3) = (2, 3 2, 3) = (2, 6, ) u./ (2, 3, )./ (, 2, 3) = (2/, 3/2, /3) = (2,.,.666...) Här har vi lånat beteckningar från Matlab där vi skriver u.*v respektive u./v för att utföra beräkningarna. Vi behöver även komponentvis upphöjt till, t.ex. kvadrering u. 2 = (2, 3, ). 2 = (2 2, 3 2, 2 ) = (4, 9, 2) Även här har vi lånat beteckningen från Matlab. Det finns en funktion linspace som är bra för att bygga upp vektorer och funktionerna zeros och ones för att bygga upp matriser fylla med nollor respektive ettor samt funktionen eye för att göra enhetsmatriser. Uppgift 2. Använd linspace, läs hjälptexten, för att bilda vektorn d = (2,, 8,, 4). 4 Grafik 4. Grafritning Vi har redan ritat några grafer av funktioner f(x) över ett intervall a x b. Nu ser vi på ett exempel där vi behöver komponentvisa operationer. Exempel. Rita grafen till f(x) = x sin(x) över intervallet x 8. Vi bildar en vektor x = (x,x 2,,x n ) med värden jämnt fördelande över intervallet x 8. Sedan bildar vi vektorn y = (f(x ),f(x 2 ),,f(x n )) = (x sin(x ),x 2 sin(x 2 ),,x n sin(x n )) och ritar upp grafen. För att bilda vektorn y behövs den komponentvisa multiplikationen. Vi ritar grafen med >> x=linspace(,8); >> y=x.*sin(x); >> plot(x,y) >> title( f(x) = x sin(x) )

och så här ser resultatet ut (vi har bytt till en Desktop Layout som passar bättre just nu). Uppgift 3. Rita grafen till f(x) = x x cos(7x) över intervallet x 8. 4.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); >> x=cos(t); y=sin(t); >> plot(x,y) >> axis equal % annars blir cirkeln tillplattad Utan Med...... 6

Uppgift 4. 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! Vi har ritat kurvor i R 2 med kommandotplot, t.ex. en cirkel t (x(t),y(t)) = (cos(t), sin(t)), t 2π. Om vi vill rita en kurva i R 3 kan vi använda kommandot plot3. Som exempel ser vi på spiralen för t π. t (x(t),y(t),z(t)) = (cos(t), sin(t),t) z 4 3 3 2 2 z 3 3 2 2.. y.. x. y.. x. >> t=linspace(,*pi,); >> plot3(cos(t),sin(t),t) >> grid on, xlabel( x ), ylabel( y ) Till vänster ritade vi cirkeln för jämförelse. Vi genomlöper den fem gånger samtidigt som vi rör oss uppåt för att få spiralen. 4.3 Polygontåg Ett polygontåg som ges av (x,y ), (x 2,y 2 ),, (x n,y n ), ritas upp i Matlab genom att man bildar vektorerna x = (x,x 2,,x n ) och y = (y,y 2,,y n ) och sedan gör plot(x,y). Grafritning är ett polygontåg vi ritar upp. Tag t.ex. grafen till f(x) = sin(x) för x 2π. Vi har då x = (x,x 2,,x n ) med = x < x 2 < < x n = 2π och y = (y,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 och y n = y, 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 (.,.2), (.8,.), (.9,.7), (.,.2), dvs. en triangel. 7

>> x=[..8.9.]; >> y=[.2..7.2]; >> plot(x,y, o- ), axis([.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([.8]).8.8.6.6.4.4.2.2.2.4.6.8.2.4.6.8 Uppgift. Rita en cirkel fylld med grön färg, rita sedan en kvadrat inskriven i cirkeln och fyll kvadraten med gul färg. Använd hold on. 4.4 Dela figuren Ibland vill man ha flera koordinatsystem i samma figur-fönster (Figure). Exempel 2. 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. Så här kommer det se ut 8

>> s=.; x=linspace(-pi/2+s,pi/2-s); >> subplot(2,2,) % delar in Figure i 2x2 delar och gör :a aktiv >> plot(x,sin(x)) >> axis([-pi/2 pi/2 -.2.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 -.2.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 - ]), grid on, title( tangens ) Uppgift 6. Rita kurvan t (x(t),y(t)) = ( ( 4 cos at ) ( + 7 cos(t), 4 sin at ) ) + 7 sin(t) 4 4 med t 8π, för t.ex. a =, a =., a = 2 och a = 7. Använd subplot. 9