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

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

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

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

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

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: 8p av totalt 20p Tid: 14:e januari klockan

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

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 Hjälpmedel: MATLAB

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: 13:e januari klockan

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

TAIU07 Matematiska beräkningar med Matlab

TAIU07 Matematiska beräkningar med Matlab

TANA17 Matematiska beräkningar med Matlab

TANA17 Matematiska beräkningar med Matlab

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

2 februari 2016 Sida 1 / 23

Introduktion till MATLAB

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

TANA17 Matematiska beräkningar med Matlab

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

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

TAIU07 Matematiska beräkningar med Matlab

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

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

TANA81: Simuleringar med Matlab

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

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

HI1024 Programmering, grundkurs TEN

MMA132: Laboration 1 Introduktion till MATLAB

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

TAIU07 Matematiska beräkningar med Matlab

Miniprojektuppgift i TSRT04: Femtal i Yatzy

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

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

Börja programmera. Kapitel 4 i kompendiet Jämförande uttryck Villkorssatser Loopar (slingor) Funktioner. Läs inte avsnitt 4.2.3

TAIU07 Matematiska beräkningar med Matlab

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

HI1024 Programmering, grundkurs TEN

TMV156/TMV155E Inledande matematik E, 2009

Föreläsning 8 SLUMPTAL, SIMULERING + INTRODUKTION TILL VEKTORER

TANA17 Matematiska beräkningar med Matlab

MMA132: Laboration 1 & 2 Introduktion till MATLAB

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

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

KPP053, HT2016 MATLAB, Föreläsning 2. Vektorer Matriser Plotta i 2D Teckensträngar

Lösningar till uppgifterna sätts ut på kurssidan på nätet i dag kl Tentamen i Programmering C, Fri, Kväll,

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

Lösningsförslag Tentamen i Beräkningsvetenskap I, 5.0 hp,

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

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

Programexempel: tärningsspel. Programexempel: tärningsspel Kasta tärning tills etta. Klassen Die Specifikation. Slumptalsgenerator Klassen Random

Laboration: Grunderna i MATLAB

TMV225 Inledande Matematik M

Laboration 2: 1 Syfte. 2 Väntevärde och varians hos en s.v. X med fördelningen F X (x) MATEMATISK STATISTIK, AK FÖR BYGG, FMS 601, HT-08

Programmering, grundkurs, 8.0 hp, Elektro, KTH, hösten Detta är andra problemlösningsföreläsningen, vi diskuterar problemen ur Problem II.

Laboration 4: Stora talens lag, Centrala gränsvärdessatsen och enkla punktskattningar

Tentamen i Beräkningsvetenskap I (nya versionen), 5.0 hp, Del A

MMA132: Laboration 2 Matriser i MATLAB

SF1625 Envariabelanalys Lösningsförslag till tentamen DEL A

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

Preliminärt lösningsförslag till del I, v1.0

Skriv väl, motivera och förklara vad du gör. Betygsgränser: p. ger betyget 3, p. ger betyget 4 och 40 p. eller mer ger betyget

15 februari 2016 Sida 1 / 32

Tentamen i Linjär algebra (TATA31/TEN1) ,

TSBB14 Laboration: Intro till Matlab 1D

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

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

Laboration 3: Stora talens lag, centrala gränsvärdessatsen och enkla punktskattningar

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

LÖSNINGSFÖRSLAG TILL TENTAMEN 2 SF1664

Matematisk Modellering

Vetenskapsdagen 2016 SciLab för laborativa inslag i matematik eller fysik

Mer om funktioner och grafik i Matlab

Mer om funktioner och grafik i Matlab

MATLAB handbok Introduktion

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

Tentamen del 1 SF1546, , , Numeriska metoder, grundkurs

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övning 1 Funktioner och grafer i Matlab

Från labben: if, for och while. Från labben: if, for och while. Från labben: if, for och while. Från labben: if, for och while

Grundläggande kommandon

En introduktion till MatLab

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

Tentamen i Programmering

Variabler och konstanter

Instruktion för laboration 1

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.

2. (a) Skissa grafen till funktionen f(x) = e x 2 x. Ange eventuella extremvärden, inflektionspunkter

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

Tekniska Högskolan i Linköping Institutionen för Datavetenskap (IDA) Torbjörn Jonsson Plot och rekursion

Förkortning och förlängning av rationella uttryck (s. 29 Origo 3b)

Datorövning 1 Fördelningar

Exempel att testa. Stora problem och m-filer. Grundläggande programmering 4. Informationsteknologi. Informationsteknologi.

Matriser och vektorer i Matlab

Matlabövning 1 Funktioner och grafer i Matlab

Slump och statistik med Scratch

Matematisk Modellering

TANA17 Matematiska beräkningar med Matlab

Transkript:

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: Inga. Examinator: Fredrik Berntsson Maximalt antal poäng: 18 poäng. För godkänt krävs 8 poäng. Jourhavandelärare Fredrik Berntsson (telefon 282860) Besök av jourhavande lärare sker ungefär 15.15 och 16.45. Lösningsförslag finns på kurshemsidan efter tentans slut. Visning av tentamen sker på Examinators kontor Måndag den 27:e Mars, klockan 12.15-13.00 (Hus B, Ing. 23-25, Plan-3, A-korr). Lycka till!

Redovisning Lös först uppgifterna i Matlab. När du har en färdig lösning skriv ner de kommandon du använde på papper. Redovisa även eventuella resultat då du körde dina Matlabkommadon. Grafer behöver inte redovisas. (2p) 1: Följande funktion är tänkt att kontrollera om en vektor x är sorterad i stigande ordning function s = sorterade(x) for i = 1:length(x)-1 if x(i) > x(i+1) s = 0; else s = 1; Förklara tydligt vad som går fel och gör lämpliga ändringar så att funktionen ger förväntat resultat. (2p) 2: Vi vill beräkna en integral Gör därför följande: I = 1 0 f(x)dx, f(x) = cos(x)e 2x 2x. a) Skapa ett funktionshandtag som motsvarar funktionen ovan. Din funktion skall klara att inargumentet x är en vektor. Skapa även en vektor x med 100 jämt utspridda tal på intervallet[0,1] och utnyttja den för att plottaf(x) på aktuellt intervall. b) Använd kommandot integral för att beräkna integralen ovan. (3p) 3: Vi vill slå tärningar tills summan av tärningskasten överstiger 20. Skriv ett program som simulerar detta genom att beräkna slumptal mellan 1 och 6 med randi ända tills summan överstiger 20. Programmet skall även göra utskrifter så att det tydligt syns vad som händer. Den totala summan och det antal tärningskast som krävdes skall sparas och redovisas på slutet. Utskrift skall ske enligt följande mönster: Tärningskast: 3 Tärningskast: 6 Tärningskast: 3 Tärningskast: 1 Tärningskast: 5 Tärningskast: 3 Summan blev 21 efter 6 kast. Tips Utskriften kan göras med hjälp av att kombinera num2str med textbitar. Sista raden kan exempelvis skapas med >>disp([ Summan blev,num2str(summan), efter,num2str(antalet), kast ]) 2

(3p) 4: Vi vill skriva en funktion som kan derivera polynom. Vi vill dessutom att vår funktion skall kunna användas tillsammans med den inbyggda funktionen polyval. Vi påminner oss därför om att ett polynom p n (x) = c n x n +c n 1 x n 1 +...+c 0, i Matlab skall representeras av vektorn c = (c n,c n 1,...,c 0 ). Vi sparar alltså den högsta ordningens koefficient först. Skriver vi >> c = [2-3 0 1 0]; >> polyval( c, 2.1 ) ans = 13.2132 så beräknas värdet av polynomet p(x) = 2x 4 3x 3 +x för x = 2.1. Gör följande a) Skriv en funktion PolynomDerivata med en vektor c, som innehåller polynomets koefficienter, som inparameter, och som beräknar en vektor d med koefficienterna för derivatan p (x) = nc n x n 1 +(n 1)c n 1 x n 2 +...+c 1. b) Utnyttja funktionen från a) för att beräkna derivatan av polynomet p(x) = 2x 4 3x 3 + x. Använd sedan polyval för att plotta derivatan på intervallet 0.3 x 1.2. Tips I Matlab finns en inbyggd funktion polyder som utför precis denna beräkning. Du kan använda den för att kontrollera att du gjort rätt men får inte utnyttja den för att lösa uppgiften. (4p) 5: Vi vill pröva två olika sätt att beräkna summan S = 100 k=1 1+k 2 1+k 3. och verifiera att resultatet blir detsamma. Gör följande: a) Utnyttja elementvisa operationer och kommandot sum för att beräkna summan. Du får inte använda for eller while loopar. b) Utnyttja en for-loop för att beräkna summan. Här får ditt program istället inte innehålla några vektorer. 3

(4p) 6: Vi vill skriva ett simuleringssystem som kan användas för att undersöka tärningsspelet Yatzy. Systemet skall kunna simulera ett stort antal spelomgångar och bestämma sannolikheten för att olika kombinationer dyker upp. Som en del i projektet att utveckla systemet skall följande uppgifter lösas. a) Skriv en Matlabfunktion som simulerar en spelomgång. Funktionen skall returnera en vektor innehållande resultatet från fem tärningskast. Funktionen skall kunna användas på följande sätt >> x = YatzyOmgang x = 4 6 1 3 1 där alltså vektorn x tilldelas 5st slumpmässiga heltal mellan 1 och 6. Använd antigen rand eller randi för att skapa slumptalen. b) Att få Kåk innebär att två av tärningarna ger samma resultat och att dessutom de övriga tre tärningarna ger samma resultat. Exempelvis har vi Kåk om >> x = YatzyOmgang x = 4 3 3 4 3 Ger alla tärningar samma resultat är det istället Yatzy och det räknas inte som kåk. Skriv en funktion KontrolleraYatzy, med en vektor som representerar en spelomgång som inparameter, som kontrollerar om vi har fått Kåk. Funktionen skall ha en utparameter som ges värdet sant om vi har Kåk och falskt annars 4

Lösningsförslag till tentan 20:e Mars 2015. 1: Problemet är att om sista två elementen ligger i rätt ordning så blir s = 1 oavsett vad som hänt tidigare. Enklast är att ändra alltså till. function s = sorterade(x) s=1; for i = 1:length(x)-1 if x(i) > x(i+1) s = 0;break; Då avbryts loopen så snart vi hittat ett par av tal som ligger i fel ordning. 2: Vi skapar först funktionen och plottar med >> f=@(x)cos(x).*exp(-2*x)-2*x; >> n=100;x=linspace(0,1,n); >> plot(x,f(x)) Integralen beräknas sedan med >> I=integral( f,0,1 ) I = -0.6065 3: Programmet blir summan=0;antalet=0; while summan<20 kast=randi([1 6],1); disp([ Tärningskast:,num2str(kast)]); antalet=antalet+1; summan=summan+kast; disp([ Summan blev,num2str(summan), efter,num2str(antalet), kast ]) 4: Funktionen blir function [d]=polynomderivata(c) n=length(c);d=zeros(1,n-1); for i=1:n-1 d(i)=c(i)*(n-i); 5

vilket ger >> d = PolynomDerivata( c ) d = 8-9 0 1 >> x=-0.3:0.01:1.2; >> plot( x, polyval( d, x)) 5: Vi skapar först en vektor med heltalen 1,2,...,n och beräknar sedan summan med >> n = 100; k = 1:n; >> S = sum( (1+k.^2)./(1+k.^3) ) S = 5.2990 För att göra samma beräkning med en for-loop skriver vi n = 100; S=0; for k=1:n S=S+(1+k^2)/(1+k^3); disp(s) Detta ger även det resultatet S = 5.2990. 6: Använder vi funktionen randi blir Yatzy funktionen function [ Kast ]=YatzyOmgang() Kast = randi( [1 6],5,1); För att kontrollera om vi fått kåk räknas vi antal förekomster av utfallen 1,2,...,6 och kontrollerar ifall ett utfall förekommer 2ggr och ett annat 3ggr. function [Test]=KontrolleraYatzy( Kast ) % Börja med att räkna efter hur många vi fick av varje typ. AntalAvVarje=zeros(6,1); for i=1:5 AntalAvVarje(Kast(i))=AntalAvVarje(Kast(i))+1; % Kåk betyder att ett resultat komm upp två gånger och % ett annat tre gånger. Det finns alltså både en tvåa % och en trea i vektorn AntalAvVarje FinnsTvaa=0;FinnsTrea=0; for i=1:6 if AntalAvVarje(i)==2,FinnsTvaa=1;, 6

if AntalAvVarje(i)==3,FinnsTrea=1;, ; Test=0; if FinnsTvaa & FinnsTrea Test=1; 7