MMA132: Laboration 1 & 2 Introduktion till MATLAB

Storlek: px
Starta visningen från sidan:

Download "MMA132: Laboration 1 & 2 Introduktion till MATLAB"

Transkript

1 MMA132: Laboration 1 & 2 Introduktion till MATLAB De flesta numeriska metoder låter oss få en tillräckligt bra lösning på ett matematiskt problem genom att byta ut komplexa matematiska operationer med kombinationer av enklare operationer. I praktiken betyder detta att man byter ut abstrakt och komplex teori som det är svårt och tidsödande att arbeta med mot stora mängder enkla beräkningar. Den främsta fördelen med detta är att vi idag har tillgång till maskiner som kan utföra många beräkningar snabbt och korrekt: datorer. Under de här laborationerna så skall vi använda datorer, mer specifikt den populära programvaran MATLAB för att undersöka olika numeriska metoder och fenomen på ett sätt som är mer praktiskt än at räkna med penna och papper och mer likt det sätt som man arbetar med numeriska metoder som ingenjör. Denna första laboration skall utföras under 4 timmar. Laborationen kan göras på egen hand med rekommeras att göras i par. Laborationen består av ett antal exempel på funktioner i MATLAB och hur dessa används. Tanken är att ni under laborationens gång skall jobba parallellt med handledningen och experimentera lite utifrån exemplen på egen hand. Denna laboration är menad att introducera MATLABs mest grundläggande funktioner och visa hur man kan använda MATLAB för att snabbt lösa vanliga matematiska problem. I slutet av varje exempel finns ett övningsproblem som ni skall lösa. Lösningarna på dessa problem skall sedan redovisas i en labbrapport. Rapporten bör vara mellan 2 och 5 sidor lång per laboration (4-10 sidor per labbtillfälle) och skall innehålla all MATLAB-kod som är nödvändig för att lösa uppgifterna. Det skall också framgå tydligt vilken del av koden som gör vad. Om din rapport innehåller figurer skall det vara tydligt vad det är det ritar upp och som som anges på x- och y-axeln. Ett allmänt tips för laborationen och övningsuppgifterna är att tänka igenom precis vad du vill göra (det kan också vara en bra idé att skriva ner detta) innan du börjar skriva MATLAB-kod för att lösa en övningsuppgift eller testa ett laborationsexempel. 1

2 Laboration 1 Denna laboration behandlar några grundläggande funktioner i MATLAB: beräkning av aritmetiska uttryck, lagring av värden i variabler, lagring av vektorer och matriser samt lösning av linjära ekvationssystem. För den som har tid över finns också exempel på hur man kan arbeta med polynom i MATLAB. Det kanske enklaste sättet att komma igång med MATLAB är att arbeta igenom ett par exempel och läsa ett par problem. Ni ska gå igenom följande exempel och sen göra övningarna som finns i slutet av handledningen. Använd gärna hjälp-funktionen i MATLAB för att läsa mer om de kommandon som används och se fler exempel på hur de kan användas och vad det finns för liknande kommandon. Introduktion till MATLAB MATLAB är ett kraftfullt och komplext program som används för olika typer av tekniska beräkningar. Det är inte helt lätt att lära sig och även den som har använt programmet i flera år upptäcker med jämna mellanrum funktioner som de inte visste om och nya sätt att lösa problem. De här labbarna förutsätter inte att man kan någonting om MATLAB och är uppbyggda som att man får pröva sig fram med olika exempel på vad programmet kan göra. Var beredd på att saker inte alltid kommer att fungera på första försöket. När något går fel så försöker MATLAB ofta berätta vad det är som inte fungerar. Se ett exempel i figur 2. Läs och försök förstå dessa felmeddelanden i så stor utsträckning som möjligt. MATLAB har också en bra inbyggd hjälpfunktion Har du erfarenhet av programmering så kan det vara värt att titta på sidan 7 innan du börjar med Exempel 1. Här och på sidan 7 finns det bilder på hur programmet ser ut där några användbara eller viktiga saker är markerade. Om du inte kommer ihåg var någon finns eller inte förstår vad ett visst ord betyder så kan du se om det finns här. Figur 1: Huvudvy i MATLAB. Vad siffrorna markerar kan man läsa i tabell 1. 2

3 1 Kommandofönstret (Command Window): Här skrivet du in dina kommandon och här skrivs dina resultat ut. 2 Här kan du se vilken mapp som MATLAB för tillfället letar efter m-filer i och vad som finns i den mappen. 3 Här kan du se de variabler som är är definierade just nu och vilken sorts variabel de är och ibland deras värde. 4 Här kan du se din kommando historia. Om du lyckades göra något för en stund sen men har glömt hur så kan du titta efter här. 5 Här kan du klicka för att komma åt den inbyggda hjälpfunktionen. Tabell 1: Förklaring till siffrorna i figur 1 Figur 2: Kommandofönster med felmeddelande. 3

4 Exempel 1: MATLAB som avancerad miniräknare Det är enkelt att använda MATLAB för att beräkna olika matematiska uttryck. Prova att skriva 2 + 2*3 i kommando-fönstret. Resultatet av en uträkning kan sparas i en variabel. Prova att skriva resultat = 2 + 2*3 i kommando-fönstret. Du kan få fram ett värde som har sparats i en variabel genom att skriva variabelns namn på kommandoraden. Bekräfta detta genom att skriva resultat på kommandoraden. Vill man beräkna samma uttryck flera gånger är det bra att använda variabler eftersom de kan stoppas in i matematiska uttryck precis som siffror. Prova att skriva resultat*3 i kommando-fönstret. Nu är det dags att se hur MATLAB kan beräkna värdet av en matematisk funktion för flera värden på en gång. För att beräkna värdet av y = t 2 för t = 0, t = 1 och t = 2 så måste vis först definiera vilka t-värden MATLAB skall använda. Detta gör vi med hjälp av en lista, ibland kallad vektor (på engelska array, list eller vector). I MATLAB skapas listor genom att skriva in deras element, skilda med antingen mellanslag eller komma, mellan []. Prova att skriva t=[0 1 2] i kommandofönstret. Vi vill nu beräkna värdet på y. Prova att skriva y = t.^2 i kommandofönstret. Notera punkten mellan t och ^. Denna punkt är där därför att vi vill ta varje element i listan upphöjt till två. Skulle punkten inte vara där skulle MATLAB tolka y = t 2 som att du vill ta listan t och matrismultiplicera den med sig själv. Detta kommer naturligtvis inte att fungera. Prova gärna på egen hand vad som händer om du försöker använda +, -, * och / på antingen två listor eller en lista och ett tal. Vad händer när du sätter punkter framför? För att rita en graf över det beräknade värdena av y = t 2 så skriv plot(t,y) i kommandofönstret. Eftersom vi har beräknat värdet i så få punkter blir grafen inte särskilt slät. För att få en bättre graf vill vi beräkna funktionsvärdet i fler punkter. För att skapa en lista med många punkter kan man skriva [första värde i listan:steglängd:sista värde i listan] i kommandofönstret. Skapar man en lista med många värden kan det vara opraktiskt att MATLAB skriver ut alla värden. Vill man att MATLAB inte skall skriva ut resultatet av en beräkning eller definition kan man sätta ; sist på raden. Prova att skriva 4

5 t = [0:0.1:2]; i kommandofönstret. Nu kan nya värden av y beräknas genom att återigen skriva y = t.^2 i kommandofönstret. Rita också upp den nya grafen genom att skriva plot(t,y). Det är också enkelt att beräkna värdet av andra funktioner för värdena i t, för att få fram en lista på värden för z = t skriv z = sqrt(t); i kommandofönstret. Vi kan också rita upp flera grafer i samma fönster. Prova att skriva plot(t,y,t,z) i kommandofönstret. Övning 1 Rita en fin graf för funktionerna f(x) = e x2 (tips: kolla in MATLAB-kommandot exp) och g(x) = 1 1 för 2 x 2 i samma bild. 1+x 2 5

6 Exempel 2: Matriser i MATLAB MATLAB är en förkortning av MATrix LABoratory. Detta namn valdes eftersom MATLAB är mycket bra på att hantera matriser. Listor i MATLAB är egentligen matriser med bara 1 rad (eller bara 1 kolonn). Prova att skriva A = [1 2 3; 0 1 6; 7 8 1] i kommandofönstret. Prova nu att skriva B = [ ] i kommandofönstret. Jämför de två matriserna med varandra. Det är också enkelt att transponera och invertera matriser. Prova att skriva C = A och D = inv(a) i kommandofönstret. Fundera ut vilket kommando som gör vad. Man kan också lösa linjära ekvationssystem med MATLAB. Om ekvationssystemet kan skrivas Ax = y där A är den matris som vi tidigare lagrade i variabel A och så kan du lösa ekvationssystemet genom att skriva y = [1;2;3]; x = A\y 1 y = 2 3 i kommandofönstret. Om du vill kan även använda inversen du räknade ut tidigare för att lösa systemet. Lös ekvationssystemet Övning x x x 3 = x x x 3 = x x 2 =

7 Viktigt verktyg: m-filer Om du har en komplicerad beräkning att göra kan det bli mycket att skriva i kommandofönstret. Det kan också vara besvärligt att spara allting du har skrivit i kommandofönstret, speciellt eftersom man då också sparar de gånger man har råkat skriva fel. Ett bättre alternativ är ofta att använda sig av m-filer. En m-fil är en vanlig text-fil som man har skrivit MATLAB-kommandon i. Genom att skriva namnet på filen i kommandofönstret kommer MATLAB att köra kommandona i den ordning de dyker upp i filen. Det finns vissa regler som måste följas för att en m-fil skall fungera. Varje rad i filen fungera om den hade skrivits i kommandofönstret (MATLAB hjälper dig faktiskt med att kontrollera detta, fråga din handledare). Filen kan inte heller heta vad som helst, namnet får inte innehålla några specialtecken, såsom?,! eller mellanslag. Filnamnet får heller inte börja med en siffra (men siffror senare i namnet går bra). För att MATLAB skall kunna hitta filen måste mappen som filen finns i vara vald som Current Folder längst upp i MATLAB-fönstret. Skapa en ny m-fil genom att klicka på (File New Script) och skriv in de kommandon som användes i det av de tidigare exemplen du tyckte mest om. Spara filen och skriv sedan in namnet på filen i kommandofönstret för att göra om exemplet. Figur 3: MATLABs inbyggda textredigerare. 1 Här skriver du dina kommandon. För det mesta så betyder ny rad nytt kommando, undantaget är matriser där kommandot slutar på den rad där matrisen avslutas (med ]). Om du har ett väldigt långt kommando så kan du skriva... och sen fortsätta med kommandot på nästa rad. 2 Här finns knappar för att skapa ny fil, öppna fil och spara fil. 3 Du kan köra din fil genom att klicka på Run". Kom ihåg att resultatet kommer i ett annat fönster. 4 Om du öppnar flera filer så lägger sig de här som flikar. 5 MATLABs textredigerare försöker upptäcka fel innan du kör filen. Rött betyder att filen inte kommer att gå att köra, orange att de kan orsaka problem men att filen kan köras och grönt betyder att MATLAB inte hittat några fel (det finns dock fel som MATLAB inte kan hitta). 6 Här kan du se på vilken rad och i vilken kolumn du skriver just nu. Tabell 2: Förklaring till siffrorna i figur 3 7

8 Figur 4: Kommandofönster med felmeddelande från m-fil. De gröna pilarna visar var du kan se vilken fil som felet skett i, vilken rad i filen felet skett på samt vilken kolumn som felet skett i. 8

9 Extra del att göra om du har tid över: Polynom i MATLAB Man kan beräkna värdet av polynom i MATLAB på samma sätt som andra funktioner men det finns en del inbyggda funktioner i MATLAB som gör att polynom kan representeras ast med en lista av koefficienter. Polynomet p(t) = t 3 2t + 1 kan representeras med vektorn [ ]. Värdet på polynomet kan beräknas med hjälp utav kommandot polyval. För att beräkna värdet av p(t) för samma värden på t som vi använde i föregåe exempel och rita upp resultatet skriv t = [0:0.1:2]; poly_coeff = [ ]; p = polyval(poly_coeff,t); plot(t,p) i kommandofönstret. Ett annat användbart kommando är roots som hittar rötterna till ett polynom. Prova att skriva r = roots(poly_coeff) i kommandofönstret. Jämför resultatet med bilden av polynomet du ritade upp tidigare. Det kan vara lättare att se var rötterna finns om du skriver grid i kommandofönstret. Det finns många inbyggda kommandon som kan användas för att jobba med polynom i MATLAB. Ett exempel är kommandot conv som kan användas för att multiplicera två polynom. conv är en förkortning av convolution, faltning på svenska. Om du inte redan vet vad detta så slå gärna upp det på din fritid, det kan mycket väl dyka upp i senare matematik kurser. Det finns också ett kommando som låter dig dividera polynom, deconv 1, för att få reda på mer om hur dessa kommandon fungerar, slå upp dom med MATLABs hjälpfunktion. Extra övning om du har tid över Låt p(x) = x 7 + 2x 6 + x 2 + 2x och q(x) = x 4 + x 3 + 3x 2 + 5x + 2. Hitta ett enkelt sätt att beräkna koefficienterna f ör polynomet r(x) = p(x)q(x) m.h.a. kommandot conv och leta sedan upp rötterna till r(x) med kommandot roots. Rita upp r(x) för 1.5 x 1.5 och kolla med bilden så att rötterna du fått verkar rimliga. 1 Denna metod saknas i Freemat. 9

10 Laboration 2 Syftet med den här laborationen är att bli bekant med fler av MATLABs grundläggande funktioner, såsom funktioner, villkor och loopar. Dessa grundläggande funktioner skall också användas för numerisk lösning av icke-linjära ekvationssystem. Mer om m-filer I slutet av laboration 1 introducerades m-filer. Dessa var filer där vi kunde skriva in flera MATLABkommandon och köra dem efter varandra vilket för det mesta är mer praktiskt än att arbeta direkt i kommandofönstret. För denna laboration är det rekommerat att du använder m-filer i så stor utsträckning som möjligt. Skapa en ny m-fil genom att klicka på (File New Script) och skriv in de kommandon som användes i det av de tidigare exempel du tyckte mest om. Spara filen och skriv sedan in namnet på filen i kommandofönstret för att göra om exemplet. Ibland kan det vara svårt att komma ihåg precis vad det var man gjorde i en m-fil. Då kan man skriva kommentarer i den. Kommentarer skriver man genom att sätta % först på raden. Det kan t.ex. se ut så här: % Det här är en kommentar. % Nu skall jag räkna ut 2+2 x = 2+2 % Hoppas att det blir fyra m-filer är bra om man vill läsa flera liknande problem eller vill spara sina lösningar till senare. Om det är en speciell metod man vill använda många gånger kan det vara bättre at skriva en funktion. Exempel 1: Funktioner Funktioner i MATLAB liknar funktioner i matematiken. Funktioner kan ses som små datorprogram som tar emot en (eller flera) variabler och skickar tillbaka en (eller flera) andra variabler. Under förra labben har ni redan använt flera olika funktioner, t.ex. exp, plot och deconv. Nedan finns en bild av hur funktioner fungerar. x x,y z = f(x) f z function [a,b] [a,b] = function(x,y) Figur 5: Illustration som visar likheterna mellan en matematisk funktion och en MATLAB-funktion. Det finns flera sätt att skapa funktioner i MATLAB. Vill man skapa en enkel funktion kan man använda inline För att få en funktion som beräknar f(x) = sin(x) + cos(x) kan man skriva f1 = inline( sin(x)+cos(x), x ) eller 10

11 f2 sin(x) + cos(x) Du kan sedan beräkna värdet av dessa funktioner för x = 1 genom att skriva t.ex. f1(1) eller f2(1). Notera att även om du har använt variabeln x i definitionen av funktionen så kan du fortfarande använda x utanför funktionen utan att det blir några problem. De variabler du definierar inuti funktionen syns helt enkelt inte utanför funktionen. Detta kan vara speciellt användbart när du använder en funktion som någon annan har skrivit. Viktigt: Det är viktigt att hålla reda påom en variabel är en funktion eller en lista. Om f1 är funktionen vi nyss definierade så ger f1(n) värdet av funktionen för x = n men om f1 vore en lista skulle f1(n) ge det n:te elementet i listan. Detta innebär t.ex. att f1(1.5) skulle fungera bra om f1 är en funktion men dåligt om f1 vore en lista. Det fungerar på samma sätt för funktioner av flera variabler och matriser. f(x,y) för en funktion ger f(x,y) men f(x,y) för en matris ger elementet som finns i den x:te raden och y:te kolonnen. För mer avancerade funktioner får man skriva en speciell m-fil. Första raden i m-filen skall vara skriven på detta sätt: function [ variabler du vill skicka tillbaka ] = namn på funktionen( variabler du vill skicka in ) Namnet på funktionen måste 2 vara samma som namnet på m-filen!. Om du vill ha en funktion som räknar ut värdena för en annan funktion får hundra värden mellan a och b och dessutom ritar upp grafen för dessa värden så kan du skriva så här: function [f_val] = plot_example(f,a,b) % Funktion som beräknar värdet av f % för hundra värden mellan a och b % samt ritar grafen för dessa värden. % Skapa lista med hundra värden mellan % a och b. h = (b-a)/100; x = a:h:b; % Beräkna värden för f, vi antar att % f klarar av att räkna med listor f_val = f(x); % Rita grafen plot(x,f_val) % Markera axlar på ett bra sätt title('grafen för funktionen') xlabel('x') ylabel('funktionsvärde') På sidan i Egnesund kan du läsa om intervallhalveringsmetoden som kan användas för att lösa icke-linjära ekvationer. Denna metod finns redan implementerad som en funktion i MATLAB och heter fzero. Om vi tittar på fzero i MATLABs hjälp så ser vi att funktionen skall användas så här: 2 Rent teknisk sett så fungerar funktionen ändå men den måste anropas med namnet på m-filen istället för namnet på funktionen. 11

12 x = fzero(f,x0) Där x är lösningen, f är funktionen och x0 är en första gissning. Om vi vill kan vi också använda funktionen på det här sättet [x,fval] = fzero(f,[a b]) där x är lösningen, fval är funktionens värde i lösningen, f är funktionen och vi tror att lösningen skall finnas mellan a och b. Rita upp funktionen f1 eller f2 mellan x = 2 och x = 2 med hjälp av plot_example. Titta på grafen och välj lämpliga värden på a och b. Se om du kan hitta ett nollställe genom att skriva [x,fval] = fzero(f,[a b]). Övning 1 Om du tittar på sidan 3.14 i kompiumet så skrivs formeln för en iteration med Jacobis metod på matrisform i ekvation (3.35). Skriv en funktion som heter jacobi och som tar emot tre argument: en matris, M, en svarsvektor, y, och en ungefärlig lösning, x, och skickar tillbaka en ny gissning framräknad med Jacobis metod. För att testa er funktion kan ni skriva: M = [8 1 3; ; ] y = [119; 131; 167] x0 = [10; 10; 10] x1 = jacobi(m,y,x0) Om ni får resultatet x1 = så fungerar er funktion som den ska. 12

13 Exempel 2: Villkor och loopar Tidigare i kursen har vi talat om iterativa metoder för lösning av linjära ekvationer (intervallhalveringsmetoden, Newton-Raphson metoden, sekantmetoden och fixpunktsmetoden). Alla dessa metoder byggde på att göra en enkel beräkning flera gånger efter varandra. I denna del skall vi lära oss hur vi kan få MATLAB att arbeta iterativt. for-loopar Ett sätt att få MATLAB att upprepa en viss beräkning flera gånger är att använda en for-loop. En for-loop konstrueras på följande sätt: for index variabel t.ex. i = lista t.ex. list Här står de MATLAB-kommandon som utför den beräkning som vi vill göra. Oftast så skjuts de in lite för att det ska bli tydligt vad som är inuti och vad som är utanför for-loopen. Kommandona körs en gång per element i listan list och om i dyker upp i något kommando så kommer det att vara motsvarande värde i list. Om man vill skriva ett program som utför en beräkning n gånger kan man skriva for i = 1:n Här står de MATLAB-kommandon som som man vill köra n gånger. Låt oss testa att skriva en for-loop genom att skriva en funktion som räknar ut fakulteten av ett tal. n! = n (n 1) (n 2) En m-fil för detta kan se ut som följer (prova gärna och se om du kan skriva den på ett annat sätt): function f = factorial_calc(n) % factorial_calc beräknar fakulteten % av ett positivt heltal med hjälp av % en for-loop % 0! = 1 f = 1; % Här multipliceras värdena 1 till n % med varandra i en for-loop. % Notera att för MATLAB så betyder % 1:n och [1:1:n] samma sak for i = 1:n % i kommer att variera från 1 till n % Första varvet kommer f = 1*1 % Andra varvet kommer f = 1*2 % Tredje varvet kommer f = 2*3 % Tredje varvet kommer f = 6*4 o.s.v f = f*i; 13

14 Om du byter ut i = 1:n mot i = 1:2:n kommer du att få en funktion som räknar ut produkten av alla udda tal mellan 1 och n f(n) = m (m 2) där m = n om n är udda och m = n 1 om n r jämn Om vi istället vill skriva en funktion som räknar ut produkten av alla element i en lista så kan vi enkelt ordna det function f = list_prod(list) % Beräknar produkten av alla elementen i list f = 1; for i = list f = f*i; Jämför den här funktionen med funktionen för fakultet och se till att du förstår skillnaden. I MAT- LAB finns det också färdiga funktioner för fakultet och produkt av elementen i en lista, de heter factorial respektive prod. Villkor När man utför numeriska beräkningar är det inte alltid man vet i förväg hur många gånger man vill utföra en beräkning utan man vill enkelt fortsätta tills svaret är tillräckligt bra. Man kan få MATLAB att kolla hur bra en lösning är åt oss. Först vill vi kunna jämföra tal med varandra, det finns det ett antal olika kommandon för i MATLAB a < b a < b a mindre än b a <= b a b a mindre än eller lika med b a > b a > b a större än b a >= b a b a större än eller lika med b a == b a = b a lika med b Tabell 3: Tabell över olika kommandon för att jämföra saker i MATLAB. Det finns en viktig skillnad mellan a = b och a == b. När bara ett likhetstecken, =, används säger vi att vi vill spara värdet till höger i variabeln till vänster. När två likhetstecken används, ==, så jämför värdet i variabeln på höger sida med variabeln på vänster sida och ser om dom är lika. När vi skriver a == b så kommer resultatet att bli antingen 0 (om a b) eller 1 (om a = b). Prova och skriv följande i kommandofönstret: 1 < <= 12 3*5 == 15 Blir svaren vad du förväntade dig? Om man jämför två listor med varandra så kommer jämförelserna att göras elementvis. Vi kan också använda jämförelser för att bara göra något när ett visst villkor är uppfyllt med hjälp 14

15 av en if-sats. if-satser skrivs på följande vis: if jämförelse Här står de MATLAB-kommandon som bara skall utföras om jämförelsen är sann (villkoret är uppfyllt) Det finns också en variant av if-satsen där vi kan få MATLAB att bete sig på olika sätt beroe på om villkoret är uppfyllt eller inte. if else jämförelse Här står de MATLAB-kommandon som bara skall utföras om jämförelsen är sann (villkoret är uppfyllt) Här står de MATLAB-kommandon som bara skall utföras om jämförelsen är falsk (villkoret är inte uppfyllt) Vi kan bygga ut funktionen för fakultetsberäkning som vi tidigare skrev: function f = factorial_calc(n) % factorial_calc beräknar fakulteten % av ett positivt heltal med hjälp av % en for-loop % 0! = 1 f = 1; % Kontrollera att n är ett positivt tal if n > 0 % Här multipliceras värdena 1 till n % med varandra i en for-loop. % Notera att för MATLAB så betyder % 1:n och [1:1:n] samma sak for i = 1:n % i kommer att variera från 1 till n % Första varvet kommer f = 1*1 % Andra varvet kommer f = 1*2 % Tredje varvet kommer f = 2*3 % Tredje varvet kommer f = 6*4 o.s.v f = f*i; % Vad skall vi göra om n inte är positivt else % Kommandot disp skriver ut text i % kommandofönstret disp('n måste vara större än 0') f = 0; 15

16 Här kan du tillräckligt för att göra övning 2! while-loopen Nu när vi vet hur jämförelser fungerar kan vi också få MATLAB att fortsätta göra samma sak, om och om igen tills ett visst villkor har uppfyllts. Detta görs enklast med en så kallad while-loop: while jämförelse Här står de MATLAB-kommandon som utf ör den beräkning som vi vill göra. MATLAB kommer att utföra dessa om och om igen tills jämförelsen inte är sann längre. Med en while-loop kan man enkelt implementera de iterativa metoder som vi användes för attt lösa icke-linjära ekvationer i kapitel två och gruppuppgift 1. Nedan finns en enkel implementation av Newton-Raphson metoden för att lösa x 3 2 x = 0. function y = newton_raphson(x) % Funktion som numerisk löser % x^3-2*x^2+1 = 0 % med Newton-Raphsons metod och % startvärde x. z = -1:0.01:2; fv = z.^3-2*z.^2+1; %plot(z,fv) % Här bestämmer vi att vi vill ha % 3 korrekta decimaler i vårt svar. eps = ; % Vi låter y vara den 'nya lösningen' % och x vara den 'gamla lösningen'. % Vi få ta till ett litet knep för att % se till att MATLAB skall räkna fram % en ny lösning minst en gång. y = x; x = y + 1; % Här använder vi Newton-Raphsons metod. % Vi avgör hur bra uppskattningen är % genom att titta på funktionsvärdet. while abs(y^3-2*y^2+1) > eps % Vår 'nya lösning' blir vår 'gamla lösning' % inför nästa varv. x = y; % Beräkning av funktionens värde och derivata % för den gamla lösningen. f = x^3-2*x^2+1 f_p = 3*x^2-4*x; % Beräkning av ny lösning. y = x - f_p/f 16

17 Notera att denna implementation inte skyddar mot Newton-Raphson metodens instabilitet överhuvudtaget. Det betyder att man kan välja ett startvärde x sådant att man aldrig hittar någon lösning. Detta innebär att programmet aldrig kommer att sluta köra. Om du skulle råka ge ett sådant startvärde och MATLAB slutar svara, tryck på ctrl-c så kommer du att avbryta körningen 3. Här kan du tillräckligt för att göra övning 3! Har du tid över under laborationen så får du gärna prova att förbättra funktionen (tips: du kan använda en if-sats och kommandot return för att sätta ett maximalt antal interationer), eller skriva en ny funktion som använder sig av sekantmetoden istället. Om du tittar på kursens Blackboard-sida finns också ett par lite mer avancerade implementationer av Newton-Raphsons metod och sekantmetoden (under Laborationer Laboration 2 Intressanta m-filer) om du är intresserad. Övning 2 Skriv en ny funktion (hitta på ett bra namn själv) som kan ge en ungefärlig lösning på ett linjärt ekvationsystem med hjälp av Jacobis metod. Metoden skall ta en matris, en svarsvektor, en ungefärlig lösning och ett heltal, n, som inargument och skicka tillbaka en ny ungefärlig lösning framräknad med n iterationer av Jacobis metod. Tips: återanvänd lösningen till uppgift 1 och slå upp MATLAB-funktionen norm. Kom också ihåg att använda en diagonaldominant matris när ni testar funktionen (Som en extra utmaning till den som vill: se till att funktionen kollar om matrisen är diagonaldominant och låter bli att räkna om den inte är det). 3 Om du använder FreeMat så avbryter du skript och funktioner med ctrl-b 17

18 Extra övningar att göra om ni har tid Skriv en MATLAB-funktion som använder sekantmetoden för att lösa icke-linjära ekvationer. Funktionen skall ta fyra argument, f, x0, x1, tol. f skall vara en funktion, x0 och x1 skall vara första gissningar och tol skall vara den tillåtna felgränsen E f. Funktionen skall kunna följande: Returnera en punkt x sådan att f(x) = 0 ± E f med sekantmetoden. Om funktionen inte hittat en tillräckligt bra lösning efter 1000 iterationer så skall den ge upp. Funktionen skall rita upp f(x) över ett lämpligt intervall och markera alla gissningar som sekantmetoden har givit. MATLAB-funktioner kan också användas för att illustrera olika fenomen. Från Blackboard kan du ladda ner filen interpmkv.m. Där finns en liten demonstration av hur resultatet från minsta-kvadrat-metoden varierar med grad på det passade polynomet och att om man använder tillräckligt högt grad så får man Lagrange-interpolation. För att köra demonstrationen: Ladda ner filen och lägg den i samma mapp som de andra filer du använt i laborationen. Skriv interpmkv i kommandofönstret och tryck på enter. MATLAB kommer nu att rita upp en figur med några punkter markerade. Om du trycker på mellanslag kommer MATLAB att rita in ett passat polynom av grad 1. Om du trycker på mellanslag igen kommer MATLAB att rita in ett passat polynom av grad 2. Fortsätter du trycka på mellanslag så kommer programmet att fortsätta att rita upp passade polynom av högre och högre grad tills du når grad 8, detta polynom interpolerar alla punkterna. Kör demonstrationen och spara den slutgiltiga bilden. I labbrapporten skall du lägga in bilden och skriva en kort kommentar om vilken grad på polynomet som du tror är mest användbar och varför. 18

MMA132: Laboration 1 Introduktion till MATLAB

MMA132: Laboration 1 Introduktion till MATLAB MMA132: Laboration 1 Introduktion till MATLAB De flesta numeriska metoder låter oss få en tillräckligt bra lösning på ett matematiskt problem genom att byta ut komplexa matematiska operationer med kombinationer

Läs mer

MMA132: Laboration 2 Matriser i MATLAB

MMA132: Laboration 2 Matriser i MATLAB MMA132: Laboration 2 Matriser i MATLAB Introduktion I den här labben skall vi lära oss hur man använder matriser och vektorer i MATLAB. Det är rekommerad att du ser till att ha laborationshandledningen

Läs mer

Laboration: Grunderna i MATLAB

Laboration: Grunderna i MATLAB Laboration: Grunderna i MATLAB 25 augusti 2005 Grunderna i MATLAB Vad är MATLAB? MATLAB är ett interaktivt program för vetenskapliga beräkningar. Som användare ger du enkla kommandon och MATLAB levererar

Läs mer

Introduktion till Matlab

Introduktion till Matlab Introduktion till Matlab Inledande matematik, I1, ht10 1 Inledning Detta är en koncis beskrivning av de viktigaste delarna av Matlab. Till en början är det enkla beräkningar och grafik som intresserar

Läs mer

En introduktion till MatLab

En introduktion till MatLab Chalmers tekniska högskola En introduktion till MatLab Gustafsson Gabriel gabgus@student.chalmers.se Johansson Việt Simon simoj@student.chalmers.se Författare: Norell Pontus npontus@student.chalmers.se

Läs mer

Linjär algebra med tillämpningar, lab 1

Linjär algebra med tillämpningar, lab 1 Linjär algebra med tillämpningar, lab 1 Innehåll Per Jönsson Fakulteten för Teknik och Samhälle, 2013 Uppgifterna i denna laboration täcker kapitel 1-3 i läroboken. Läs igenom motsvarande kapitel. Sitt

Läs mer

Introduktion till MATLAB

Introduktion till MATLAB 29 augusti 2017 Introduktion till MATLAB 1 Inledning MATLAB är ett interaktivt program för numeriska beräkningar med matriser. Med enkla kommandon kan man till exempel utföra matrismultiplikation, beräkna

Läs mer

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

MATLAB. Python. Det finns flera andra program som liknar MATLAB. Sage, Octave, Maple och... Allt du behöver veta om MATLAB: Industristandard för numeriska beräkningar och simulationer. Används som ett steg i utvecklingen (rapid prototyping) Har ett syntax Ett teleskopord för «matrix laboratory»

Läs mer

Användarhandledning Version 1.2

Användarhandledning Version 1.2 Användarhandledning Version 1.2 Innehåll Bakgrund... 2 Börja programmera i Xtat... 3 Allmänna tips... 3 Grunderna... 3 Kommentarer i språket... 4 Variabler... 4 Matematik... 5 Arrayer... 5 på skärmen...

Läs mer

Introduktion till Matlab

Introduktion till Matlab Introduktion till Matlab Analys och Linjär Algebra, del A, K1/Kf1/Bt1, ht10 1 Inledning Ni kommer använda Matlab i nästan alla kurser i utbildningen. I matematikkurserna kommer vi ha studio-övningar nästan

Läs mer

Laboration: Grunderna i Matlab

Laboration: Grunderna i Matlab Laboration: Grunderna i Matlab Att arbeta i kommandofönstret och enkel grafik Den här delen av laborationen handlar om hur man arbetar med kommandon direkt i Matlabs kommandofönster. Det kan liknas vid

Läs mer

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

Tentamen TANA17 Matematiska beräkningar Provkod: DAT1 Godkänd: 8p av totalt 20p Tid: 14:e januari klockan MAI/Linköpings universitet Fredrik Berntsson Tentamen TANA17 Matematiska beräkningar Provkod: DAT1 Godkänd: 8p av totalt 20p Tid: 14:e januari klockan 8.00-12.00 Redovisning Lös först uppgifterna i Matlab.

Läs mer

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

Tentamen TAIU07 Matematiska beräkningar med MATLAB för MI TEKNISKA HÖGSKOLAN I LINKÖPING Matematiska institutionen Beräkningsmatematik/Fredrik Berntsson Tentamen TAIU07 Matematiska beräkningar med MATLAB för MI Tid: 14-18, 13:e Mars, 2018 Provkod: TEN1 Hjälpmedel:

Läs mer

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

Dagens program. Programmeringsteknik och Matlab. Administrativt. Viktiga datum. Kort introduktion till matlab. Övningsgrupp 2 (Sal Q22/E32) Programmeringsteknik och Matlab Övning Dagens program Övningsgrupp 2 (Sal Q22/E2) Johannes Hjorth hjorth@nada.kth.se Rum 458 på plan 5 i D-huset 08-790 69 02 Kurshemsida: http://www.nada.kth.se/kurser/kth/2d2

Läs mer

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

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 Matlab-föreläsning (4), 10 september, 015 Innehåll m-filer (script) - fortsättning från föreläsning 1 In- och utmatning Sekvenser, vektorer och matriser Upprepning med for-slingor (inledning) Matlab-script

Läs mer

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

Tentamen TANA17 Matematiska beräkningar Provkod: DAT1 Godkänd: 8p av totalt 20p Tid: 21:a April klockan MAI/Linköpings universitet Fredrik Berntsson Tentamen TANA17 Matematiska beräkningar Provkod: DAT1 Godkänd: 8p av totalt 20p Tid: 21:a April klockan 8.00-12.00 Redovisning Lös först uppgifterna i Matlab.

Läs mer

Matlabövning 1 Funktioner och grafer i Matlab

Matlabövning 1 Funktioner och grafer i Matlab Matlabövning 1 Funktioner och grafer i Matlab I den här övningen ska vi titta på hur man konstruerar funktioner i Matlab och hur man kan rita funktionsgrafer. Läs först igenom PM:et. Gå sedan igenom exemplen

Läs mer

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

Tentamen TAIU07 Matematiska beräkningar med MATLAB för MI TEKNISKA HÖGSKOLAN I LINKÖPING Matematiska institutionen Beräkningsmatematik/Fredrik Berntsson Tentamen TAIU07 Matematiska beräkningar med MATLAB för MI Tid: 8-12, 19:e Mars, 2019 Provkod: TEN1 Hjälpmedel:

Läs mer

Matlabövning 1 Funktioner och grafer i Matlab

Matlabövning 1 Funktioner och grafer i Matlab Matlabövning 1 Funktioner och grafer i Matlab I den här övningen ska vi titta på hur man konstruerar funktioner i Matlab och hur man kan rita funktionsgrafer. Läs först igenom hela PM:et. Gå sedan igenom

Läs mer

Newtons metod och arsenik på lekplatser

Newtons metod och arsenik på lekplatser Newtons metod och arsenik på lekplatser Karin Kraft och Stig Larsson Beräkningsmatematik Chalmers tekniska högskola 1 november 2004 Introduktion Denna övning ingår i Lärardag på Chalmers för kemilärare

Läs mer

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

Variabler. TANA81: Beräkningar med Matlab. Matriser. I Matlab skapas en variabel genom att man anger dess namn och ger den ett värde: TANA81: Beräkningar med Matlab - Variabler och Matriser - Logiska uttryck och Villkor - Repetitionssatser - Grafik - Funktioner Variabler I Matlab skapas en variabel genom att man anger dess namn och ger

Läs mer

Beräkningsvetenskap föreläsning 2

Beräkningsvetenskap föreläsning 2 Beräkningsvetenskap föreläsning 2 19/01 2010 - Per Wahlund if-satser if x > 0 y = 2 + log(x); else y = -1 If-satsen skall alltid ha ett villkor, samt en då det som skall hända är skrivet. Mellan dessa

Läs mer

TAIU07 Matematiska beräkningar med Matlab

TAIU07 Matematiska beräkningar med Matlab TAIU07 Matematiska beräkningar med Matlab Datorlektion 2. Villkor och Repetition 1 Logiska uttryck Uppgift 1.1 Låt a=3 och b=6 Vad blir resultatet av testerna ab? Uppgift 1.2 Låt a, b,

Läs mer

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

Lägg märke till skillnaden, man ser det tydligare om man ritar kurvorna. Matlabövningar 1 Börja med att läsa igenom kapitel 2.1 2 i läroboken och lär dig att starta och avsluta Matlab. Starta sedan Matlab. Vi övar inte på de olika fönstren nu utan återkommer till det senare.

Läs mer

Matematisk analys för ingenjörer Matlabövning 2 Numerisk ekvationslösning och integration

Matematisk analys för ingenjörer Matlabövning 2 Numerisk ekvationslösning och integration 10 februari 2017 Matematisk analys för ingenjörer Matlabövning 2 Numerisk ekvationslösning och integration Syfte med övningen: Introduktion till ett par numeriska metoder för lösning av ekvationer respektive

Läs mer

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

Tentamen TAIU07 Matematiska beräkningar med MATLAB för MI TEKNISKA HÖGSKOLAN I LINKÖPING Matematiska institutionen Beräkningsmatematik/Fredrik Berntsson Tentamen TAIU07 Matematiska beräkningar med MATLAB för MI Tid: 14-18, 14:e Mars, 2017 Provkod: TEN1 Hjälpmedel:

Läs mer

Matlabföreläsningen. Lite mer och lite mindre!

Matlabföreläsningen. Lite mer och lite mindre! Inmatning: Här är lite exempel på inmatning i Matlab: >> pi 3.1416 >> format long >> ans 3.141592653589793 Matlabföreläsningen Lite mer och lite mindre! >> format %återställer format (%- tecknet gör att

Läs mer

Introduktion till Matlab

Introduktion till Matlab CTH/GU 2015/2016 Matematiska vetenskaper Introduktion till Matlab 1 Inledning Matlab är både en interaktiv matematikmiljö och ett programspråk, som används på många tekniska högskolor och universitet runt

Läs mer

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

Inledande matematik för I1. MVE011 läsperiod Matlab vecka 2 övningsuppgifter Inledande matematik för I1 MVE011 läsperiod 1 010 Matlab vecka övningsuppgifter Linjära ekvationssystem Matlab har många kraftfulla redskap för att hantera matriser och därmed också linjära ekvationssystem.

Läs mer

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

DN1212/numpm Numeriska metoder och grundläggande programmering Laboration 1 Introduktion Staffan Romberger 2008-10-31 DN1212/numpm Numeriska metoder och grundläggande programmering Laboration 1 Introduktion Efter den här laborationen ska du kunna hantera vektorer och matriser, villkorssatser

Läs mer

Introduktion till Matlab

Introduktion till Matlab CTH/GU STUDIO 1 LMA515b - 2016/2017 Matematiska vetenskaper 1 Inledning Introduktion till Matlab Matlab är både en interaktiv matematikmiljö och ett programspråk, som används på många tekniska högskolor

Läs mer

TSBB14 Laboration: Intro till Matlab 1D

TSBB14 Laboration: Intro till Matlab 1D TSBB14 Laboration: Intro till Matlab 1D Utvecklad av Maria Magnusson med mycket hjälp av Lasse Alfredssons material i kursen Introduktionskurs i Matlab, TSKS08 Avdelningen för Datorseende, Institutionen

Läs mer

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

Tentamen TANA17 Matematiska beräkningar Provkod: DAT1 Godkänd: 8p av totalt 20p Hjälpmedel: MATLAB MAI/Linköpings universitet Fredrik Berntsson Tentamen TANA17 Matematiska beräkningar Provkod: DAT1 Godkänd: 8p av totalt 20p Hjälpmedel: MATLAB Redovisning Lös först uppgifterna i Matlab. Då du har en

Läs mer

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

Tentamen TANA17 Matematiska beräkningar Provkod: DAT1 Godkänd: 9p av totalt 20p Hjälpmedel: MATLAB MAI/Linköpings universitet Fredrik Berntsson Tentamen TANA17 Matematiska beräkningar Provkod: DAT1 Godkänd: 9p av totalt 20p Hjälpmedel: MATLAB Redovisning Lös först uppgifterna i Matlab. Då du har en

Läs mer

Introduktion till Matlab

Introduktion till Matlab CTH/GU LABORATION 1 TMV157-2014/2015 Matematiska vetenskaper 1 Inledning Introduktion till Matlab Matlab är både en interaktiv matematikmiljö och ett programspråk, som används på många tekniska högskolor

Läs mer

Department of Physics Umeå University 27 augusti Matlab för Nybörjare. Charlie Pelland

Department of Physics Umeå University 27 augusti Matlab för Nybörjare. Charlie Pelland Matlab för Nybörjare Charlie Pelland Introduktion till Matlab Matlab (matrix laboratory) är ett datorprogram och ett programspråk som används av ingenjörer runt om i världen. Ni kommer att använda er av

Läs mer

KPP053, HT2016 MATLAB, Föreläsning 1. Introduktion till MATLAB Skript Inläsning och utskrift av variabler Ekvationssystem Anonyma funktioner

KPP053, HT2016 MATLAB, Föreläsning 1. Introduktion till MATLAB Skript Inläsning och utskrift av variabler Ekvationssystem Anonyma funktioner KPP053, HT2016 MATLAB, Föreläsning 1 Introduktion till MATLAB Skript Inläsning och utskrift av variabler Ekvationssystem Anonyma funktioner MATLAB Väletablerat Mycket omfattande program GNU OCTAVE Öppen

Läs mer

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

Komponentvisa operationer,.-notation Multiplikation (*), division (/) och upphöj till (ˆ) av vektorer följer vanliga vektoralgebraiska Matlab-föreläsning 3 (4), 17 september, 2015 Innehåll Sekvenser (från förra föreläsningen) Upprepning med for-slingor och while-slingor Villkorssatser med if - then -else - Logik Sekvenser - repetion från

Läs mer

Matriser och vektorer i Matlab

Matriser och vektorer i Matlab CTH/GU LABORATION 2 TMV157-2014/2015 Matematiska vetenskaper Matriser och vektorer i Matlab 1 Inledning Först skall vi se lite på matriser, vilket är den grundläggande datatypen i Matlab, sedan skall vi

Läs mer

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

Tentamen TAIU07 Matematiska beräkningar med MATLAB för MI TEKNISKA HÖGSKOLAN I LINKÖPING Matematiska institutionen Beräkningsmatematik/Fredrik Berntsson Tentamen TAIU07 Matematiska beräkningar med MATLAB för MI Tid: 8-12, 20 Mars, 2015 Provkod: TEN1 Hjälpmedel:

Läs mer

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

Tentamen TANA17 Matematiska beräkningar Provkod: DAT1 Godkänd: 8p av totalt 20p Tid: 18:e augusti klockan MAI/Linköpings universitet Fredrik Berntsson Tentamen TANA17 Matematiska beräkningar Provkod: DAT1 Godkänd: 8p av totalt 20p Tid: 18:e augusti klockan 8.00-12.00 Redovisning Lös först uppgifterna i Matlab.

Läs mer

3 Man kan derivera i Matlab genom att approximera derivator med differenskvoter. Funktionen cosinus deriveras för x-värdena på följande sätt.

3 Man kan derivera i Matlab genom att approximera derivator med differenskvoter. Funktionen cosinus deriveras för x-värdena på följande sätt. Kontrolluppgifter 1 Gör en funktion som anropas med där är den siffra i som står på plats 10 k Funktionen skall fungera även för negativa Glöm inte dokumentationen! Kontrollera genom att skriva!"#$ &%

Läs mer

Tentamen i Beräkningsvetenskap I/KF, 5.0 hp,

Tentamen i Beräkningsvetenskap I/KF, 5.0 hp, Uppsala universitet Institutionen för informationsteknologi Teknisk databehandling Tentamen i Beräkningsvetenskap I/KF, 5. hp, 215-3-17 Skrivtid: 14 17 (OBS! Tre timmars skrivtid!) Hjälpmedel: Bifogat

Läs mer

DN1240, Numeriska metoder. Laboration 0 (frivilliga delar) (dvs uppgifterna behöver inte redovisas) Introduktion till UNIX och MATLAB

DN1240, Numeriska metoder. Laboration 0 (frivilliga delar) (dvs uppgifterna behöver inte redovisas) Introduktion till UNIX och MATLAB DN1240, Numeriska metoder för O1. Laboration 0 (frivilliga delar) (dvs uppgifterna behöver inte redovisas) Introduktion till UNIX och MATLAB Del 1: UNIX och kontoadministration Uppgift 1.1 Ni bör jobba

Läs mer

Introduktion till Matlab

Introduktion till Matlab CTH/GU LABORATION 1 MVE011-2012/2013 Matematiska vetenskaper 1 Inledning Introduktion till Matlab Matlab är både en interaktiv matematikmiljö och ett programspråk, som används på de flesta tekniska högskolor

Läs mer

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

MATLAB the Matrix Laboratory. Introduktion till MATLAB. Martin Nilsson. Enkel användning: Variabler i MATLAB. utvecklat av MathWorks, Inc. Introduktion till MATLAB Martin Nilsson Avdelningen för teknisk databehandling Institutionen för informationsteknologi Uppsala universitet MATLAB the Matrix Laboratory utvecklat av MathWorks, Inc. Matematisk

Läs mer

TANA17 Matematiska beräkningar med Matlab

TANA17 Matematiska beräkningar med Matlab TANA17 Matematiska beräkningar med Matlab Laboration 1. Linjär Algebra och Avbildningar Namn: Personnummer: Epost: Namn: Personnummer: Epost: Godkänd den: Sign: Retur: 1 Introduktion I denna övning skall

Läs mer

Ickelinjära ekvationer

Ickelinjära ekvationer Löpsedel: Icke-linjära ekvationer Ickelinjära ekvationer Beräkningsvetenskap I Varför är det svårt att lösa icke-linjära ekvationer? Iterativa metoder Bisektion/intervallhalvering Newton-Raphsons metod

Läs mer

Laboration: Vektorer och matriser

Laboration: Vektorer och matriser Laboration: Vektorer och matriser Grundläggande om matriser Begreppet matris är en utvidgning av vektorbegreppet, och det används bl a när man löser linjära ekvationssystem. Namnet Matlab står för MATrix

Läs mer

Alla filer som bearbetar PHP script ska avslutas med ändelsen.php, exempelvis ska en indexsida till en hemsida heta index.php

Alla filer som bearbetar PHP script ska avslutas med ändelsen.php, exempelvis ska en indexsida till en hemsida heta index.php Introlektion PHP är ett av de enklare språken att lära sig just pga. dess dynamiska struktur. Det används för att bygga upp båda stora och mindre system. Några vanliga system som använder sig av PHP är

Läs mer

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

TANA17 Matematiska beräkningar med MATLAB för M, DPU. Fredrik Berntsson, Linköpings Universitet. 9 november 2015 Sida 1 / 28 TANA17 Matematiska beräkningar med MATLAB för M, DPU Fredrik Berntsson, Linköpings Universitet 9 november 2015 Sida 1 / 28 Föreläsning 3 Linjära ekvationssystem. Invers. Rotationsmatriser. Tillämpning:

Läs mer

TANA17 Matematiska beräkningar med Matlab

TANA17 Matematiska beräkningar med Matlab TANA17 Matematiska beräkningar med Matlab Datorlektion 4. Funktioner 1 Egna Funktioner Uppgift 1.1 En funktion f(x) ges av uttrycket 0, x 0, f(x)= sin(x), 0 < x π 2, 1, x > π 2 a) Skriv en Matlab funktion

Läs mer

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

Tentamen TANA17 Matematiska beräkningar Provkod: DAT1 Godkänd: 8p av totalt 20p Tid: 13:e januari klockan MAI/Linköpings universitet Fredrik Berntsson Tentamen TANA17 Matematiska beräkningar Provkod: DAT1 Godkänd: 8p av totalt 20p Tid: 13:e januari klockan 8.00-12.00 Redovisning Lös först uppgifterna i Matlab.

Läs mer

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

Innehåll. Vad är MATLAB? Grunderna i MATLAB. Informationsteknologi. Informationsteknologi. Grunderna i MATLAB eva@it.uu.se Innehåll Vad är MATLAB? Användningsområden MATLAB-miljön Variabler i MATLAB Funktioner i MATLAB Eempel och smakprov: Grafik Beräkningar Bilder GUI Vad är MATLAB? Utvecklat

Läs mer

TMV156/TMV155E Inledande matematik E, 2009

TMV156/TMV155E Inledande matematik E, 2009 TMV156/TMV155E Inledande matematik E, 2009 DATORÖVNING 2 PÅ VÄG MOT PROGRAMMERING Instruktioner Skapa en ny filkatalog ( directory ) Lab2 för denna övning. Gör alltid uppgifterna i script-filer eller funktionsfiler.

Läs mer

TAIU07 Matematiska beräkningar med Matlab

TAIU07 Matematiska beräkningar med Matlab TAIU07 Matematiska beräkningar med Matlab Laboration 3. Linjär algebra Namn: Personnummer: Epost: Namn: Personnummer: Epost: Godkänd den: Sign: Retur: 1 Introduktion 2 En Komet Kometer rör sig enligt ellipsformade

Läs mer

LABORATION cos (3x 2 ) dx I =

LABORATION cos (3x 2 ) dx I = SF1518,SF1519,numpbd14 LABORATION 2 Trapetsregeln, ekvationer, ekvationssystem, MATLAB-funktioner Studera kapitel 6 och avsnitt 5.2.1, 1.3 och 3.8 i NAM parallellt med arbetet på denna laboration. Genomför

Läs mer

Datorlaboration :: 1 Problembeskrivning ::

Datorlaboration :: 1 Problembeskrivning :: Datorlaboration :: Ett hyrbilsföretags problem Laborationen går ut på att lösa Labbuppgift 1 till 5. Laborationen redovisas individuellt genom att skicka laborationens Mathematicafil till Mikael Forsberg

Läs mer

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

Newtons metod. 1 Inledning. CTH/GU LABORATION 3 MVE /2014 Matematiska vetenskaper CTH/GU LABORATION 3 MVE270-2013/2014 Matematiska vetenskaper Newtons metod 1 Inledning Vi skall lösa system av icke-linjära ekvationer. Som exempel kan vi ta, { x1 (1 + x 2 2) 1 = 0 x 2 (1 + x 2 1 ) 2

Läs mer

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

Newtons metod. 1 Inledning. 2 Newtons metod. CTH/GU LABORATION 6 MVE /2013 Matematiska vetenskaper CTH/GU LABORATION 6 MVE011-2012/2013 Matematiska vetenskaper 1 Inledning Newtons metod Vi skall fortsätta med att lösa ekvationer. I förra veckan såg vi på intervallhalveringsmetoden. Den är pålitlig men

Läs mer

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

a = a a a a a a ± ± ± ±500 4.1 Felanalys Vill man hårddra det hela, kan man påstå att det inte finns några tal i den tillämpade matematiken, bara intervall. Man anger till exempel inte ett uppmätt värde till 134.78 meter utan att

Läs mer

Matematisk Modellering

Matematisk Modellering Matematisk Modellering Föreläsning läsvecka 4 Magnus oskarsson Matematikcentrum Lunds Universitet Matematisk Modellering p.1/17 Denna föreläsning (läsvecka 4) Kursadministration (redovisning projekt 2,

Läs mer

2 februari 2016 Sida 1 / 23

2 februari 2016 Sida 1 / 23 TAIU07 Föreläsning 4 Repetitonssatsen while. Avbrott med break. Exempel: En Talföljd och en enkel simulering. Egna funktioner. Skalärprodukt. Lösning av Triangulära Ekvationssystem. Programmeringstips.

Läs mer

Instruktion för laboration 1

Instruktion för laboration 1 STOCKHOLMS UNIVERSITET MATEMATISKA INSTITUTIONEN Avd. för matematisk statistik MD, ANL, TB (rev. JM, OE) SANNOLIKHETSTEORI I Instruktion för laboration 1 De skriftliga laborationsrapporterna skall vara

Läs mer

MATLAB handbok Introduktion

MATLAB handbok Introduktion Department of Physics Umeå University 30 juni 2014 MATLAB handbok Introduktion Marina Wallin Martin Hansson Per Sundholm 1 INTRODUKTION TILL MATLAB 1 1 Introduktion till Matlab Något man som Teknisk fysiker

Läs mer

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

STOCKHOLMS UNIVERSITET VT 2011 Avd. Matematisk statistik GB DATORLABORATION 1: TIDSSERIER. MATEMATISKA INSTITUTIONEN Tillämpad statistisk analys, GN STOCKHOLMS UNIVERSITET VT 2011 Avd. Matematisk statistik GB 2011-03-24 DATORLABORATION 1: TIDSSERIER. I Tarfala har man under en lång följd av

Läs mer

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

DN1212/numpp Numeriska metoder och grundläggande programmering Laboration 1 Introduktion Staffan Romberger 2011-12-19 DN1212/numpp Numeriska metoder och grundläggande programmering Laboration 1 Introduktion Efter den här laborationen ska du kunna använda de datorer som vi använder på labbarna,

Läs mer

TANA17 Matematiska beräkningar med Matlab

TANA17 Matematiska beräkningar med Matlab TANA17 Matematiska beräkningar med Matlab Datorlektion 3. Repetitionssatser och Programmering 1 Introduktion Denna övning syftar till att träna programmering med repetitionssatser och villkorssatser. Undvik

Läs mer

Gruppuppgifter 1 MMA132, Numeriska metoder, distans

Gruppuppgifter 1 MMA132, Numeriska metoder, distans Gruppuppgifter 1 MMA132, Numeriska metoder, distans Uppgifter märkta med redovisas 1. Läs om felkalkyl i enkla fall sidan 1.2-1.3. Givet a = 1,23, E a = 0,005 c = 0,00438 ± 0,5 10 5 b = 23,71, E b = 0,003

Läs mer

SF1520, Numeriska Metoder och Grundläggande Programmering för K2 Lab1.

SF1520, Numeriska Metoder och Grundläggande Programmering för K2 Lab1. SF1520, Numeriska Metoder och Grundläggande Programmering för K2 Lab1. Denna labb är tänkt att öva datorhantering och öva inledande Matlab. Eftersom förkunskaperna varierar finns en del frivilliga uppgifter

Läs mer

Linjära ekvationssystem i Matlab

Linjära ekvationssystem i Matlab CTH/GU LABORATION 2 MVE11-212/213 Matematiska vetenskaper Linjära ekvationssystem i Matlab 1 Inledning Först skall vi se lite på matriser, vilket är den grundläggande datatypen i Matlab, sedan skall vi

Läs mer

Matematisk Modellering

Matematisk Modellering Matematisk Modellering Föreläsning 1 Anders Heyden Matematikcentrum Lunds Universitet Matematisk Modellering p.1/37 Denna föreläsning (läsvecka 1) Vad handlar kursen om, mål, kurskrav, ide. Matematisk

Läs mer

OBS! Snabbinsatt Matlab-intro vissa fönsterhanteringsdetaljer kan vara fel men gör gärna Matlab-uppgifterna. DN1240, Numeriska metoder för OPEN1.

OBS! Snabbinsatt Matlab-intro vissa fönsterhanteringsdetaljer kan vara fel men gör gärna Matlab-uppgifterna. DN1240, Numeriska metoder för OPEN1. OBS! Snabbinsatt Matlab-intro vissa fönsterhanteringsdetaljer kan vara fel men gör gärna Matlab-uppgifterna. DN1240, Numeriska metoder för OPEN1. Laboration 0 del 1-3 (frivilliga delar) Del 1-3 (dvs upg

Läs mer

Tentamen i Beräkningsvetenskap I och KF, 5.0 hp,

Tentamen i Beräkningsvetenskap I och KF, 5.0 hp, Uppsala universitet Institutionen för informationsteknologi Avdelningen för beräkningsvetenskap Tentamen i Beräkningsvetenskap I och KF, 5.0 hp, 2015-12-17 Skrivtid: 14 00 17 00 (OBS! Tre timmars skrivtid!)

Läs mer

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

Logik och Jämförelser. Styrsatser: Villkorssatsen if och repetitonssatsen for. Scriptfiler. Kommentarer. Tillämpningar: Ett enkelt filter. TAIU07 Föreläsning 3 Logik och Jämförelser. Styrsatser: Villkorssatsen if och repetitonssatsen for. Scriptfiler. Kommentarer. Tillämpningar: Ett enkelt filter. 27 januari 2016 Sida 1 / 21 Logiska variabler

Läs mer

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

DN1212, Numeriska metoder & grundläggande programmering. Laboration 1 del 1-3 (frivilliga delar) Del 1-3 (dvs upg 1.1-1.17) behöver inte redovisas DN1212, Numeriska metoder & grundläggande programmering för P1. Laboration 1 del 1-3 (frivilliga delar) Del 1-3 (dvs upg 1.1-1.17) behöver inte redovisas Introduktion till UNIX och MATLAB Del 1: UNIX och

Läs mer

Akademin för utbildning, kultur och kommunikation MMA132 Numeriska Metoder Avdelningen för tillämpad matematik Datum: 2 juni 2014

Akademin för utbildning, kultur och kommunikation MMA132 Numeriska Metoder Avdelningen för tillämpad matematik Datum: 2 juni 2014 MÄLARDALENS HÖGSKOLA TENTAMEN I MATEMATIK Akademin för utbildning, kultur och kommunikation MMA32 Numeriska Metoder Avdelningen för tillämpad matematik Datum: 2 juni 204 Examinator: Karl Lundengård Skrivtid:

Läs mer

SF1520, Numeriska Metoder och Grundläggande Programmering för K2 Lab1.

SF1520, Numeriska Metoder och Grundläggande Programmering för K2 Lab1. SF1520, Numeriska Metoder och Grundläggande Programmering för K2 Lab1. Denna labb är tänkt att öva datorhantering och öva inledande Matlab. Eftersom förkunskaperna varierar finns en del frivilliga uppgifter

Läs mer

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

När man vill definiera en matris i MATLAB kan man skriva på flera olika sätt. "!$#"%'&)(*,&.-0/ 177 Syftet med denna övning är att ge en introduktion till hur man arbetar med programsystemet MATLAB så att du kan använda det i andra kurser. Det blir således inga matematiska djupdykningar,

Läs mer

Matriser och Inbyggda funktioner i Matlab

Matriser och Inbyggda funktioner i Matlab Matematiska vetenskaper 2010/2011 Matriser och Inbyggda funktioner i Matlab 1 Inledning Vi skall denna vecka se på matriser och funktioner som är inbyggda i Matlab, dels (elementära) matematiska funktioner

Läs mer

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

Tentamen TAIU07 Matematiska beräkningar med MATLAB för MI TEKNISKA HÖGSKOLAN I LINKÖPING Matematiska institutionen Beräkningsmatematik/Fredrik Berntsson Tentamen TAIU07 Matematiska beräkningar med MATLAB för MI Tid: 8-12, 11 Juni, 2015 Provkod: TEN1 Hjälpmedel:

Läs mer

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

LAB 1. FELANALYS. 1 Inledning. 2 Flyttal. 1.1 Innehåll. 2.1 Avrundningsenheten, µ, och maskinepsilon, ε M TANA21+22/ 5 juli 2016 LAB 1. FELANALYS 1 Inledning I laborationerna används matrishanteringsprogrammet MATLAB. som genomgående använder dubbel precision vid beräkningarna. 1.1 Innehåll Du ska 1. bestämma

Läs mer

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

SF1900 Sannolikhetsteori och statistik, HT 2017 Laboration 1 för CINEK2 Matematisk Statistik SF1900 Sannolikhetsteori och statistik, HT 2017 Laboration 1 för CINEK2 1 Introduktion Denna laboration är inte poänggivande utan är till för den som vill bekanta sig med MATLAB. Fokusera

Läs mer

Introduktion till Matlab

Introduktion till Matlab Inledande matematik, I1 2011/2012 Matematiska vetenskaper 1 Inledning Introduktion till Matlab Matlab är både en interaktiv matematikmiljö och ett programspråk, som används på de flesta tekniska högskolor

Läs mer

Datorövning 1 Fördelningar

Datorövning 1 Fördelningar Lunds tekniska högskola Matematikcentrum Matematisk statistik FMSF20: MATEMATISK STATISTIK, ALLMÄN KURS, 7.5HP FÖR E, HT-15 Datorövning 1 Fördelningar I denna datorövning ska du utforska begreppen sannolikhet

Läs mer

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

Syftet med den här laborationen är att du skall bli mer förtrogen med följande viktiga områden inom matematisk statistik LUNDS TEKNISKA HÖGSKOLA MATEMATIKCENTRUM MATEMATISK STATISTIK DATORLABORATION 4 MATEMATISK STATISTIK, AK FÖR I, FMS 01, HT-07 Laboration 4: Stora talens lag, Centrala gränsvärdessatsen, enkla punktskattningar

Läs mer

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

Index. Vektorer och Elementvisa operationer. Summor och Medelvärden. Grafik i två eller tre dimensioner. Ytor. 20 januari 2016 Sida 1 / 26 TAIU07 Föreläsning 2 Index. Vektorer och Elementvisa operationer. Summor och Medelvärden. Grafik i två eller tre dimensioner. Ytor. 20 januari 2016 Sida 1 / 26 Matriselement och Index För att manipulera

Läs mer

Numeriska metoder, grundkurs II. Dagens program. Hur skriver man en funktion? Administrativt. Hur var det man gjorde?

Numeriska metoder, grundkurs II. Dagens program. Hur skriver man en funktion? Administrativt. Hur var det man gjorde? Numeriska metoder, grundkurs II Övning 1 för I2 Dagens program Övningsgrupp 1 Johannes Hjorth hjorth@nada.kth.se Rum 163:006, Roslagstullsbacken 35 08-790 69 00 Kurshemsida: http://www.csc.kth.se/utbildning/kth/kurser/2d1240/numi07

Läs mer

Moment Viktiga exempel Övningsuppgifter

Moment Viktiga exempel Övningsuppgifter Moment Viktiga exempel Övningsuppgifter Inga Inga Inga Linjära ekvationssystem Vi har redan tidigare i kursen stött på linjära ekvationssystem. Nu är stunden kommen till en mera systematisk genomgång.

Läs mer

Laboration 3. Funktioner, vektorer, integraler och felskattning

Laboration 3. Funktioner, vektorer, integraler och felskattning 1 SF1520 K2 HT2014 NA 21 december 2015 Laboration 3 Funktioner, vektorer, integraler och felskattning Efter den här laborationen skall du kunna använda och skriva egna funktioner med flera in- och utparametrar,

Läs mer

Introduktion till Matlab

Introduktion till Matlab CTH/GU LABORATION 1 TMV216/MMGD20-2017/2018 Matematiska vetenskaper 1 Inledning Introduktion till Matlab Matlab är både en interaktiv matematikmiljö och ett programspråk, som används på många tekniska

Läs mer

Kort om programmering i Matlab

Kort om programmering i Matlab CTH/GU 25/26 Matematiska vetenskaper Kort om programmering i Matlab Inledning Redan första tillfället gjorde ni ett litet program. Ni skrev ett script eller en skriptfil som beräknade summan 5 i 2 = 2

Läs mer

Instruktion för laboration 1

Instruktion för laboration 1 STOCKHOLMS UNIVERSITET MATEMATISKA INSTITUTIONEN Avd. för matematisk statistik ANL/TB SANNOLIKHETSTEORI I, HT07. Instruktion för laboration 1 De skrifliga laborationsrapporterna skall vara skrivna så att

Läs mer

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

% Föreläsning 4 22/2. clear hold off. % Vi repeterar en liten del av förra föreläsningen: % Föreläsning 4 22/2 clear hold off % Vi repeterar en liten del av förra föreläsningen: % Vi kan definiera en egen funktion på följande sätt: f = @(x) 2*exp(-x/4) + x.^2-7*sin(x) f(2) % Detta ger nu funktionsvärdet

Läs mer

Matriser och Inbyggda funktioner i Matlab

Matriser och Inbyggda funktioner i Matlab CTH/GU STUDIO 1 TMV036a - 2012/2013 Matematiska vetenskaper Matriser och Inbyggda funktioner i Matlab Analys och Linjär Algebra, del A, K1/Kf1/Bt1 Moore: 2.3, 3.1-3.4, 3..1-3.., 4.1, 7.4 1 Inledning Nu

Läs mer

Beräkningsvetenskap och Matlab. Vad är MATLAB? Vad är MATLAB? Användningsområden. Vad är MATLAB? Grunderna i Matlab. Beräkningsvetenskap == Matlab?

Beräkningsvetenskap och Matlab. Vad är MATLAB? Vad är MATLAB? Användningsområden. Vad är MATLAB? Grunderna i Matlab. Beräkningsvetenskap == Matlab? Beräkningsvetenskap och Matlab Beräkningsvetenskap == Matlab? Grunderna i Matlab Beräkningsvetenskap I Institutionen för, Uppsala Universitet 1 november, 2011 Nej, Matlab är ett verktyg som används inom

Läs mer

Tillämpning: Bildinterpolation. Ekvationslösning. Integraler. Tillämpning: En båt. Räkning med polynom. Projekt. Tentamensinformation.

Tillämpning: Bildinterpolation. Ekvationslösning. Integraler. Tillämpning: En båt. Räkning med polynom. Projekt. Tentamensinformation. TAIU07 Föreläsning 6 Tillämpning: Bildinterpolation. Ekvationslösning. Integraler. Tillämpning: En båt. Räkning med polynom. Projekt. Tentamensinformation. 22 februari 2016 Sida 1 / 28 Interpolation i

Läs mer

Tentamen för kursen TME135 Programmering i Matlab för M1

Tentamen för kursen TME135 Programmering i Matlab för M1 Tentamen för kursen TME135 Programmering i Matlab för M1 Tid: 18 oktober 2011 kl 8:30-12:30 Lärare: Håkan Johansson, mobil: 0739-678 219, kontor: 772 8575 Tillåtna hjälpmedel: P. Jönsson: MATLAB-beräkningar

Läs mer

LABORATION 2. Trapetsregeln, MATLAB-funktioner, ekvationer, numerisk derivering

LABORATION 2. Trapetsregeln, MATLAB-funktioner, ekvationer, numerisk derivering SF1518,SF1519,numpbd15 LABORATION 2 Trapetsregeln, MATLAB-funktioner, ekvationer, numerisk derivering - Genomför laborationen genom att göra de handräkningar och MATLAB-program som begärs. Var noga med

Läs mer

Akademin för utbildning, kultur och kommunikation MMA132 Numeriska Metoder Avdelningen för tillämpad matematik Datum: 17 januari 2013

Akademin för utbildning, kultur och kommunikation MMA132 Numeriska Metoder Avdelningen för tillämpad matematik Datum: 17 januari 2013 MÄLARDALENS HÖGSKOLA TENTAMEN I MATEMATIK Akademin för utbildning, kultur och kommunikation MMA3 Numeriska Metoder Avdelningen för tillämpad matematik Datum: 7 januari 03 Examinator: Karl Lundengård Skrivtid:

Läs mer