MMA132: Laboration 1 Introduktion till MATLAB

Save this PDF as:
 WORD  PNG  TXT  JPG

Storlek: px
Starta visningen från sidan:

Download "MMA132: Laboration 1 Introduktion till MATLAB"

Transkript

1 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 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. 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 6 innan du börjar med Exempel 1. Här och på sidan 6 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. Att anropa en funktion i MATLAB I Matlab finns många färdiga funktioner, både matematiska formler och andra typer av funktioner. Ordet funktion i MATLAB betyder inte riktigt samma sak i MATLAB som i matematiken (du läsa mer om funktioner på sidan 9) men vi går inte in på de tekniska detaljerna här. Funktioner i MATLAB används på följande sätt: Namn på variabel du vill spara resultatet i = namn på funktionen( variabler du vill skicka in ) Exempel: om vi vill räkna ut vad y = sin ( π 2 ) är så skriver vi y = sin(pi/2) i kommandofönstret och får svaret y = 1 Vissa funktioner skickar tillbaka mer än ett svar och då måste man ange en lista på variabler att spara resultatet i: [utvariabel 1, utvariabel 2 o.s.v.] = namn på funktionen( invariabel 1, invariabel 2 o.s.v. ) 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 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 6

7 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. 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 att skriva en funktion (se sidan 9). 7

8 Exempel 2: 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 en m-fil. Döp m-filen till något lämpligt och kör den för att få fram resultatet. 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. Övning 2 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. 8

9 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 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: 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. 9

10 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: 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 3 Skriv en MATLAB-funktion som tar en funktion och två värden som in-argument och sedan ritar upp funktionen mellan de två värdena och hittar ett nollställe mellan nollställena med hjälp av funktionen fzero. Kom ihåg att välja funktioner och intervall så att det verkligen finns ett nollställe när du testar funktionen, t.ex. kan du testa med funktionen f sin(x) och se om du kan hitta rätt nollställe mellan a = 1 och b = 1. 10

11 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; 11

12 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 12

13 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; 13

14 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 2x = 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. % 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. x_new = x; x = x_new + 2*eps; % Här använder vi Newton-Raphsons metod. % Vi avgör hur bra uppskattningen är % genom att jämföra de två senaste iterationerna. while abs(x_new-x) > eps % Vår 'nya lösning' blir vår 'gamla lösning' % inför nästa varv. x = x_new; % 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. x_new = x - f/f_p; 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. 3 Om du använder FreeMat så avbryter du skript och funktioner med ctrl-b 14

15 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 1 Intressanta m-filer) om du är intresserad. Övning 4 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. Extra utmaning om du vill: Funktionen skall rita upp f(x) över ett lämpligt intervall och markera alla gissningar som sekantmetoden har givit. 15

MMA132: Laboration 1 & 2 Introduktion till MATLAB

MMA132: Laboration 1 & 2 Introduktion till MATLAB 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

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

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

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

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

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

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

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

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

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

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

Föreläsning 6: Introduktion av listor

Föreläsning 6: Introduktion av listor Föreläsning 6: Introduktion av listor Med hjälp av pekare kan man bygga upp datastrukturer på olika sätt. Bland annat kan man bygga upp listor bestående av någon typ av data. Begreppet lista bör förklaras.

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

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

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

RödGrön-spelet Av: Jonas Hall. Högstadiet. Tid: 40-120 minuter beroende på variant Material: TI-82/83/84 samt tärningar

RödGrön-spelet Av: Jonas Hall. Högstadiet. Tid: 40-120 minuter beroende på variant Material: TI-82/83/84 samt tärningar Aktivitetsbeskrivning Denna aktivitet är utformat som ett spel som spelas av en grupp elever. En elev i taget agerar Gömmare och de andra är Gissare. Den som är gömmare lagrar (gömmer) tal i några av räknarens

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

Textsträngar från/till skärm eller fil

Textsträngar från/till skärm eller fil Textsträngar från/till skärm eller fil Textsträngar [Kapitel 8.1] In- och utmatning till skärm [Kapitel 8.2] Rekursion Gränssnitt Felhantering In- och utmatning till fil Histogram 2010-10-25 Datorlära,

Läs mer

Programmeringsteknik med C och Matlab

Programmeringsteknik med C och Matlab Programmeringsteknik med C och Matlab Kapitel 2: C-programmeringens grunder Henrik Björklund Umeå universitet Björklund (UmU) Programmeringsteknik 1 / 32 Mer organisatoriskt Imorgon: Datorintro i lab Logga

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

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

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

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

Grunderna i stegkodsprogrammering

Grunderna i stegkodsprogrammering Kapitel 1 Grunderna i stegkodsprogrammering Följande bilaga innehåller grunderna i stegkodsprogrammering i den form som används under kursen. Vi kommer att kort diskutera olika datatyper, villkor, operationer

Läs mer

Datorlära 3 Octave Workspace ovh mijlö Skriva text på skärmen Värdesiffror Variabler och typer Strängar Makro Vektorer

Datorlära 3 Octave Workspace ovh mijlö Skriva text på skärmen Värdesiffror Variabler och typer Strängar Makro Vektorer Datorlära 1 Introduktion till datasystemet, epost konto, afs hemkonto Introduktion till datorer och datasalar Open Office Calculator Beräkningar med Open Office Calc Diagram med OO Calc Datorlära 2 Utforma

Läs mer

Funktioner och grafritning i Matlab

Funktioner och grafritning i Matlab CTH/GU LABORATION 3 MVE11-212/213 Matematiska vetenskaper 1 Inledning Funktioner och grafritning i Matlab Först skall vi se lite på (elementära) matematiska funktioner i Matlab, som sinus och cosinus.

Läs mer

2D1210, Numeriska Metoder, GK I för V 2.

2D1210, Numeriska Metoder, GK I för V 2. Kursöversikt Numme för V, 2003. 1 Beatrice Frock NADA, KTH 030612 ANADA 2D1210, Numeriska Metoder, GK I för V 2. Kursprogram. Läsanvisningar. Om WWW: I World Wide Web på Internet finns aktuell information

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

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

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

KPP053, HT2015 MATLAB, Föreläsning 1. Introduktion till MATLAB Skript Inläsning och utskrift av variabler Ekvationssystem Anonyma funktioner KPP053, HT2015 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

MATLAB - en kompakt introduktion av Tore Gustafsson

MATLAB - en kompakt introduktion av Tore Gustafsson 6.1.7 1 ÅBO AKADEMI TEKNISKA FAKULTETEN MATLAB - en kompakt introduktion av Tore Gustafsson MATLAB 1 är ett interaktivt programpaket för numeriska beräkningar. Matlab står för matrix laboratory och är

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

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

Föreläsning 1 & 2 INTRODUKTION

Föreläsning 1 & 2 INTRODUKTION Föreläsning 1 & 2 INTRODUKTION Denna föreläsning Vad händer under kursen? praktisk information Kursens mål vad är programmering? Skriva små program i programspråket Java Skriva program som använder färdiga

Läs mer

16 Programmering TI -86 F1 F2 F3 F4 F5 M1 M2 M3 M4 M5

16 Programmering TI -86 F1 F2 F3 F4 F5 M1 M2 M3 M4 M5 16 Programmering Skriva program till TI-86... 214 Köra program... 221 Arbeta med program... 223 Hämta och köra assemblerprogram... 226 Arbeta med strängar... 227 TI -86 M1 M2 M3 M4 M5 F1 F2 F3 F4 F5 214

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

Föreläsning 3.1: Datastrukturer, en översikt

Föreläsning 3.1: Datastrukturer, en översikt Föreläsning.: Datastrukturer, en översikt Hittills har vi i kursen lagt mycket fokus på algoritmiskt tänkande. Vi har inte egentligen ägna så mycket uppmärksamhet åt det andra som datorprogram också består,

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

Facit till Några extra uppgifter inför tentan Matematik Baskurs. x 2 x 3 1 2.

Facit till Några extra uppgifter inför tentan Matematik Baskurs. x 2 x 3 1 2. KTH Matematik Lars Filipsson Facit till Några extra uppgifter inför tentan Matematik Baskurs 1. Låt f(x) = ln 2x + 4x 2 + 9 + ln 2x 4x 2 + 9. Bestäm definitionsmängd och värdemängd till f och rita kurvan

Läs mer

TNM011 Grafisk teknik Laboration 3 - Färg

TNM011 Grafisk teknik Laboration 3 - Färg TNM011 Grafisk teknik Laboration 3 - Färg Martin Solli marso@itn.liu.se ITN, Linköpings Universitet HT 2006 Introduktion Laborationen handlar om sambandet mellan reflektansspektran, belysningar och den

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

Sidor i boken 110-113, 68-69 2, 3, 5, 7, 11,13,17 19, 23. Ett andragradspolynom Ett tiogradspolynom Ett tredjegradspolynom

Sidor i boken 110-113, 68-69 2, 3, 5, 7, 11,13,17 19, 23. Ett andragradspolynom Ett tiogradspolynom Ett tredjegradspolynom Sidor i boken 110-113, 68-69 Räkning med polynom Faktorisering av heltal. Att primtalsfaktorisera ett heltal innebär att uppdela heltalet i faktorer, där varje faktor är ett primtal. Ett primtal är ett

Läs mer

Inlämningsuppgift 4 NUM131

Inlämningsuppgift 4 NUM131 Inlämningsuppgift 4 NUM131 Modell Denna inlämningsuppgift går ut på att simulera ett modellflygplans rörelse i luften. Vi bortser ifrån rörelser i sidled och studerar enbart rörelsen i ett plan. De krafter

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

3.3. Symboliska matematikprogram

3.3. Symboliska matematikprogram 3.3. Symboliska matematikprogram Vi skall nu övergå till att behandla de vanligaste matematikprogrammen, och börja med de symboliska. Av dessa kan både Mathematica och Maple användas på flere UNIX-datorer.

Läs mer

4.3. Programmering i MATLAB

4.3. Programmering i MATLAB 4.3. Programmering i MATLAB MATLAB används ofta interaktivt, dvs ett kommando som man skriver, kommer genast att utföras, och resultatet visas. Men MATLAB kan också utföra kommandon som lagrats i filer,

Läs mer

Prova på-laboration i PHP Johan Sjöholm johsj@ida.liu.se Institutionen för datavetenskap, Linköpings universitet 2009-08-09

Prova på-laboration i PHP Johan Sjöholm johsj@ida.liu.se Institutionen för datavetenskap, Linköpings universitet 2009-08-09 Prova på-laboration i PHP Johan Sjöholm johsj@ida.liu.se Institutionen för datavetenskap, Linköpings universitet 2009-08-09 1. Introduktion till webbprogrammering Webbprogrammering består av ett antal

Läs mer

4.4. Mera om grafiken i MATLAB

4.4. Mera om grafiken i MATLAB 4.4. Mera om grafiken i MATLAB Larry Smarr, ledare för NCSA (National Center for Supercomputing Applications i University of Illinois, brukar i sina föredrag betona betydelsen av visualisering inom den

Läs mer

Repetitionsuppgifter i Matematik inför Basår. Matematiska institutionen Linköpings universitet 2014

Repetitionsuppgifter i Matematik inför Basår. Matematiska institutionen Linköpings universitet 2014 Repetitionsuppgifter i Matematik inför Basår Matematiska institutionen Linköpings universitet 04 Innehåll De fyra räknesätten Potenser och rötter 7 Algebra 0 4 Funktioner 7 Logaritmer 9 6 Facit 0 Repetitionsuppgifter

Läs mer

( ) i xy-planet. Vi skapar ( ) med alla x koordinater och en ( ) med alla y koordinater. Sedan plottar vi punkterna med kommandot. , x 2, x 3.

( ) i xy-planet. Vi skapar ( ) med alla x koordinater och en ( ) med alla y koordinater. Sedan plottar vi punkterna med kommandot. , x 2, x 3. Envariabelanalys med Matlab Under denna kurs kommer vi framförallt att använda Matlab som verktyg i Envariabelanalys. Bl.a skall vi se hur man mha Matlab kan vi rita kurvor i xy-planet, rita grafer till

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

Försättsblad till skriftlig tentamen vid Linköpings Universitet

Försättsblad till skriftlig tentamen vid Linköpings Universitet Försättsblad till skriftlig tentamen vid Linköpings Universitet Datum för tentamen 2016-03-21 Sal Tid 08:00 12:00 Kurskod Provkod Kursnamn/benämning Institution Antal uppgifter som ingår i tentamen Antal

Läs mer

725G61 - Laboration 7 Implementation av ett API. Johan Falkenjack

725G61 - Laboration 7 Implementation av ett API. Johan Falkenjack 725G61 - Laboration 7 Implementation av ett API Johan Falkenjack December 13, 2013 1 Inledning Hittills i kursen har vi tittat på grundläggande programmering och grundläggande objektorientering. I den

Läs mer

Objektorienterad programmering i Java

Objektorienterad programmering i Java Objektorienterad programmering i Java Föreläsning 4 Täcker i stort sett kapitel 6 i kursboken Java Software Solutions 1 Läsanvisningar Den här föreläsningen är uppbyggd som en fortsättning av exemplet

Läs mer

Omtentamen i DV & TDV

Omtentamen i DV & TDV Umeå Universitet Institutionen för Datavetenskap Gunilla Wikström (e-post wikstrom) Omtentamen i Teknisk-Vetenskapliga Beräkningar för DV & TDV Tentamensdatum: 2005-06-07 Skrivtid: 9-15 Hjälpmedel: inga

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

Laborationer i kursmomentet Datoranvändning E1. Laboration nr 5: Mer om FrameMaker

Laborationer i kursmomentet Datoranvändning E1. Laboration nr 5: Mer om FrameMaker Sid 1 Laborationer i kursmomentet Datoranvändning E1 http://www.etek.chalmers.se/~hallgren/eda/ : Mer om FrameMaker 1996, 1997 Magnus Bondesson 1998 och 99-09-22 Thomas Hallgren 1 Introduktion I Laboration

Läs mer

Datorövning Matlab/Simulink. Styr- och Reglerteknik för U3/EI2

Datorövning Matlab/Simulink. Styr- och Reglerteknik för U3/EI2 Högskolan i Halmstad Sektionen för Informationsvetenskap, Dator- och Elektroteknik 0803/ Thomas Munther Datorövning Matlab/Simulink i Styr- och Reglerteknik för U3/EI Laborationen förutsätter en del förberedelser

Läs mer

TNM059 Grafisk teknik Laboration 4 - Färg

TNM059 Grafisk teknik Laboration 4 - Färg TNM059 Grafisk teknik Laboration 4 - Färg Martin Solli Martin.Solli@itn.liu.se ITN, Linköpings Universitet Introduktion Laborationen handlar om sambandet mellan reflektansspektran, belysningar och den

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

Lab 1, Funktioner, funktionsfiler och grafer.

Lab 1, Funktioner, funktionsfiler och grafer. Lab 1, Funktioner, funktionsfiler och grafer. Starta gärna en dagbok genom att ge kommandot diary lab1. Skriv in alla beräkningar som efterfrågas i uppgifterna i dagboken. Glöm inte diary off om det skrivna

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

Laboration: Att inhägna ett rektangulärt område

Laboration: Att inhägna ett rektangulärt område Laboration: Att inhägna ett rektangulärt område Du har tillgång till ett hoprullat staket som är 30 m långt. Med detta vill du inhägna ett område och använda allt staket. Du vill göra inhägnaden rektangelformad.

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

varandra. Vi börjar med att behandla en linjes ekvation med hjälp av figur 7 och dess bildtext.

varandra. Vi börjar med att behandla en linjes ekvation med hjälp av figur 7 och dess bildtext. PASS 8 EKVATIONSSYSTEM OCH EN LINJES EKVATION 8 En linjes ekvation En linjes ekvation kan framställas i koordinatsystemet Koordinatsystemet består av x-axeln och yaxeln X-axeln är vågrät och y-axeln lodrät

Läs mer

8-1 Formler och uttryck. Namn:.

8-1 Formler och uttryck. Namn:. 8-1 Formler och uttryck. Namn:. Inledning Ibland vill du lösa lite mer komplexa problem. Till exempel: Kalle är dubbelt så gammal som Stina, och tillsammans är de 33 år. Hur gammal är Kalle och Stina?

Läs mer

Programmering, grundkurs, 8.0 hp, Elektro, KTH, hösten 2010

Programmering, grundkurs, 8.0 hp, Elektro, KTH, hösten 2010 Föreläsning 6 Kapitel 5 5.1 switch-satsen Vi ser på ett par exempel ur boken: int a; srand(time(0)); a=rand()%6+1; if(a==1) printf("hej Du glade\n"); else if(a==2) printf("god dag\n"); else if(a==3) printf("är

Läs mer

Grundläggande programmering med C# 7,5 högskolepoäng

Grundläggande programmering med C# 7,5 högskolepoäng Grundläggande programmering med C# 7,5 högskolepoäng Provmoment: TEN1 Ladokkod: NGC011 Tentamen ges för: Omtentamen DE13, IMIT13 och SYST13 samt öppen för alla (Ifylles av student) (Ifylles av student)

Läs mer

TANA17 Matematiska beräkningar med Matlab

TANA17 Matematiska beräkningar med Matlab TANA17 Matematiska beräkningar med Matlab Datorlektion 1. Vektorer och Matriser 1 Inledning I denna övning skall du träna på att använda Matlab för enklare beräkningar och grafik. För att lösa uppgifterna

Läs mer

Frågorna 1 till 6 ska svaras med sant eller falskt och ger vardera 1

Frågorna 1 till 6 ska svaras med sant eller falskt och ger vardera 1 ATM-Matematik Mikael Forsberg 6-64 89 6 Matematik med datalogi, mfl. Skrivtid:. Inga hjälpmedel. Lösningarna skall vara fullständiga och lätta att följa. Börja varje ny uppgift på ny sida. Använd ej baksidor.

Läs mer

FÖRELÄSNING 1 ANALYS MN1 DISTANS HT06

FÖRELÄSNING 1 ANALYS MN1 DISTANS HT06 FÖRELÄSNING ANALYS MN DISTANS HT06 JONAS ELIASSON Detta är föreläsningsanteckningar för distanskursen Matematik A - analysdelen vid Uppsala universitet höstterminen 2006. Förberedande material Här har

Läs mer

ATT RITA GRAFER MED KOMMANDOT "PLOT"

ATT RITA GRAFER MED KOMMANDOT PLOT MATLAB, D-plot ATT RITA GRAFER MED KOMMANDOT "PLOT" Syntax: Vi börjar med det enklaste plot-kommandot i matlab,,där x är en vektor x- värden och y en vektor med LIKA MÅNGA motsvarande y-värden. Anta att

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

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

Dagens föreläsning. Repetition. Repetition - Programmering i C. Repetition - Vad C består av. Repetition Ett första C-program

Dagens föreläsning. Repetition. Repetition - Programmering i C. Repetition - Vad C består av. Repetition Ett första C-program Dagens föreläsning Programmeringsteknik för Ingenjörer VT05 Föreläsning 3-4 Repetition Datatyper Uttryck Operatorer Satser Algoritmer Programmeringsteknik VT05 2 Repetition Repetition - Programmering i

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

LABORATIONSHÄFTE NUMERISKA METODER GRUNDKURS 1, 2D1210 LÄSÅRET 03/04. Laboration 3 3. Torsionssvängningar i en drivaxel

LABORATIONSHÄFTE NUMERISKA METODER GRUNDKURS 1, 2D1210 LÄSÅRET 03/04. Laboration 3 3. Torsionssvängningar i en drivaxel Lennart Edsberg Nada, KTH December 2003 LABORATIONSHÄFTE NUMERISKA METODER GRUNDKURS 1, 2D1210 M2 LÄSÅRET 03/04 Laboration 3 3. Torsionssvängningar i en drivaxel 1 Laboration 3. Differentialekvationer

Läs mer

Tentamen TEN1 HI1029 2014-05-22

Tentamen TEN1 HI1029 2014-05-22 Tentamen TEN1 HI1029 2014-05-22 Skrivtid: 8.15-13.00 Hjälpmedel: Referensblad (utdelas), papper (tomma), penna Logga in med tentamenskontot ni får av skrivvakten. Det kommer att ta tid att logga in ha

Läs mer

Matematisk Modellering

Matematisk Modellering Matematisk Modellering Föreläsning läsvecka 3 Anders Heyden Matematikcentrum Lunds Universitet Matematisk Modellering p.1/39 Denna föreläsning (läsvecka 3) Matematisk modellering - fördjupning Modelleringsexempel

Läs mer

Block 5: Ickelineära. ekvationer? Läroboken. Löpsedel: Icke-lineära. ekvationer. Vad visade laborationen? Vad visade laborationen?

Block 5: Ickelineära. ekvationer? Läroboken. Löpsedel: Icke-lineära. ekvationer. Vad visade laborationen? Vad visade laborationen? Block 5: Ickelineära ekvationer Löpsedel: Icke-lineära ekvationer Varför är det svårt att lösa ickelineära ekvationer? Iterativa metoder Bisektion/intervallhalvering Newton-Raphsons metod Noggrannhet/stoppvillkor

Läs mer

Uppgift 1 ( Betyg 3 uppgift )

Uppgift 1 ( Betyg 3 uppgift ) 2005-06-09.kl.08-13 Uppgift 1 ( Betyg 3 uppgift ) Ett plustecken kan se ut på många sätt. En variant är den som ses nedan. Skriv ett program som låter användaren mata in storleken på plusset enligt exemplen

Läs mer

Processidentifiering och Polplacerad Reglering

Processidentifiering och Polplacerad Reglering UmU/TFE Laboration Processidentifiering och Polplacerad Reglering Introduktion Referenser till teoriavsnitt följer här. Processidentifiering: Kursbok kap 17.3-17.4. Jämför med det sista exemplet i kap

Läs mer

Peter Ottosson 31/8-2012 petott@kth.se Introduktionskurs i datateknik II1310

Peter Ottosson 31/8-2012 petott@kth.se Introduktionskurs i datateknik II1310 KUNGLIGA TEKNISKA HÖGSKOLAN Robotlabb En introduktion till Datateknik 31/8-2012 petott@kth.se Introduktionskurs i datateknik II1310 1 Innehållsförteckning 1. Inledning... 3 1.1 Bakgrund... 3 1.2 Syfte

Läs mer

Studiehandledning till. MMA121 Matematisk grundkurs. Version 2012-09-03

Studiehandledning till. MMA121 Matematisk grundkurs. Version 2012-09-03 Studiehandledning till MMA Matematisk grundkurs läsåret 0/ Version 0-09-0 Kursinformation för MMA Mål Avsikten med kursen MMA Matematisk grundkurs är att ge grundläggande kunskaper i matematik, av betydelse

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

Björn Abelli Programmeringens grunder med exempel i C#

Björn Abelli Programmeringens grunder med exempel i C# Björn Abelli Programmeringens grunder med exempel i C# Övningshäfte (bearbetning pågår) Senaste uppdatering: 2004-12-12 I denna version finns övningar för de mest centrala avsnitten. Häftet kommer att

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

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

Algoritmanalys. Genomsnittligen behövs n/2 jämförelser vilket är proportionellt mot n, vi säger att vi har en O(n) algoritm.

Algoritmanalys. Genomsnittligen behövs n/2 jämförelser vilket är proportionellt mot n, vi säger att vi har en O(n) algoritm. Algoritmanalys Analys av algoritmer används för att uppskatta effektivitet. Om vi t. ex. har n stycken tal lagrat i en array och vi vill linjärsöka i denna. Det betyder att vi måste leta i arrayen tills

Läs mer

Matematik 2 Digitala övningar med TI-82 Stats, TI-84 Plus och TI-Nspire CAS

Matematik 2 Digitala övningar med TI-82 Stats, TI-84 Plus och TI-Nspire CAS Matematik 2 Digitala övningar med TI-82 Stats, TI-84 Plus och TI-Nspire CAS Matematik 2 digitala övningar med TI 82 Stat, TI 84 Plus och TI Nspire CAS Vi ger här korta instruktioner där man med fördel

Läs mer

Anders Logg. Människor och matematik läsebok för nyfikna 95

Anders Logg. Människor och matematik läsebok för nyfikna 95 Anders Logg Slutsatsen är att vi visserligen inte kan beräkna lösningen till en differentialekvation exakt, men att detta inte spelar någon roll eftersom vi kan beräkna lösningen med precis den noggrannhet

Läs mer

Lösningar till tentauppgifterna sätts ut på kurssidan på nätet idag kl 19. Omtentamen i Programmering C, 5p, fristående, kväll, 040110.

Lösningar till tentauppgifterna sätts ut på kurssidan på nätet idag kl 19. Omtentamen i Programmering C, 5p, fristående, kväll, 040110. 1(8) ÖREBRO UNIVERSITET INSTITUTIONEN FÖR TEKNIK Lösningar till tentauppgifterna sätts ut på kurssidan på nätet idag kl 19. Denna tenta kommer att vara färdigrättad On 14/1-04 och kan då hämtas på mitt

Läs mer

Migrera till Word 2010

Migrera till Word 2010 I den här guiden Microsoft Microsoft Word 2010 skiljer sig rent utseendemässigt mycket, så vi har skapat den här guiden för att hjälpa dig att snabbare lära dig programmet. Här kan du läsa om de viktigaste

Läs mer

Matematisk Modellering

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

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

Sätt att skriva ut binärträd

Sätt att skriva ut binärträd Tilpro Övning 3 På programmet idag: Genomgång av Hemtalet samt rättning Begreppet Stabil sortering Hur man kodar olika sorteringsvilkor Inkapsling av data Länkade listor Användning av stackar och köer

Läs mer

DOPmatematik. Ett dataprogram för lärare. som undervisar i matematik. (Lågstadiet) Mellanstadiet. Högstadiet. Gymnasiet. Vuxenutbildning.

DOPmatematik. Ett dataprogram för lärare. som undervisar i matematik. (Lågstadiet) Mellanstadiet. Högstadiet. Gymnasiet. Vuxenutbildning. DOPmatematik Ett dataprogram för lärare som undervisar i matematik (Lågstadiet) Mellanstadiet Högstadiet Gymnasiet Vuxenutbildning Folkhögskola m.fl. 1 Koefficienterna beräknade av DOP-programmet Graferna

Läs mer

TANA17 Matematiska beräkningar med MATLAB för M, DPU. Fredrik Berntsson, Linköpings Universitet. 8 december 2015 Sida 1 / 22

TANA17 Matematiska beräkningar med MATLAB för M, DPU. Fredrik Berntsson, Linköpings Universitet. 8 december 2015 Sida 1 / 22 TANA17 Matematiska beräkningar med MATLAB för M, DPU Fredrik Berntsson, Linköpings Universitet 8 december 2015 Sida 1 / 22 Föreläsning 8 God programmeringsstil. Sammansatta datatyper: Poster. Cell-matriser.

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