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

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

TAIU07 Matematiska beräkningar med Matlab

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

TANA17 Matematiska beräkningar med Matlab

TANA17 Matematiska beräkningar med Matlab

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

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

TAIU07 Matematiska beräkningar med Matlab

Introduktion till MATLAB

2 februari 2016 Sida 1 / 23

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

TANA17 Matematiska beräkningar med Matlab

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

TANA17 Matematiska beräkningar med Matlab

TAIU07 Matematiska beräkningar med Matlab

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

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

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

15 februari 2016 Sida 1 / 32

TAIU07 Matematiska beräkningar med Matlab

1.1 MATLABs kommandon för matriser

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

Laboration: Grunderna i 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

Tentamen del 1 SF1546, , , Numeriska metoder, grundkurs

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

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

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

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

MMA132: Laboration 1 Introduktion till MATLAB

TANA09 Föreläsning 8. Kubiska splines. B-Splines. Approximerande Splines. B-splines. Minsta kvadrat anpassning. Design av kurvor och ytor.

TANA81: Simuleringar med Matlab

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

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

Miniprojektuppgift i TSRT04: Femtal i Yatzy

TENTAMEN I GRUNDKURS I NUMERISKA METODER - DEL 20

Approximerande Splines. B-splines. Minsta kvadrat anpassning. Design av kurvor och ytor.

Minsta kvadratmetoden

TANA17 Matematiska beräkningar med Matlab

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

Kort om programmering i Matlab

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

Mer om funktioner och grafik i Matlab

FÖRSÄTTSBLAD TILL TENTAMEN. ELLER (fyll bara i om du saknar tentamenskod): Datum: 16 januari Bordsnummer:

Mer om funktioner och grafik i Matlab

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

MMA132: Laboration 2 Matriser i MATLAB

MMA132: Laboration 1 & 2 Introduktion till MATLAB

Matriser och linjära ekvationssystem

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

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

Fö4: Kondition och approximation. Andrea Alessandro Ruggiu

Interpolation Modellfunktioner som satisfierar givna punkter

Kort om programmering i Python

Laborationstillfälle 1 Lite mer om Matlab och matematik

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

TMA226 datorlaboration

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

Tentamen, del 2 Lösningar DN1240 Numeriska metoder gk II F och CL

x 2 x 1 W 24 november, 2016, Föreläsning 20 Tillämpad linjär algebra Innehåll: Projektionssatsen Minsta-kvadratmetoden

Matlabövning 1 Funktioner och grafer i Matlab

Matlabövning 1 Funktioner och grafer i Matlab

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

Rapportexempel, Datorer och datoranvändning

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

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

Laboration: Vektorer och matriser

Funktioner och grafritning i Matlab

Linjärisering, Jacobimatris och Newtons metod.

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

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

Beräkningsvetenskap föreläsning 2

TSBB14 Laboration: Intro till Matlab 1D

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

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

Lab 1, Funktioner, funktionsfiler och grafer.

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

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

LAB 3. INTERPOLATION. 1 Inledning. 2 Interpolation med polynom. 3 Splineinterpolation. 1.1 Innehåll. 3.1 Problembeskrivning

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.

En introduktion till MatLab

Tentamen del 2 SF1511, , kl , Numeriska metoder och grundläggande programmering

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

Talmängder. Målet med första föreläsningen:

TMV225 Inledande Matematik M

Föreläsning 14: Exempel på randvärdesproblem. LU-faktorisering för att lösa linjära ekvationssystem.

Laboration 5: Regressionsanalys. 1 Förberedelseuppgifter. 2 Enkel linjär regression DATORLABORATION 5 MATEMATISK STATISTIK FÖR I, FMS 012, HT-08

Transkript:

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 färdig lösning skriv då ner de kommandon du använde på papper. Redovisa även eventuella resultat du fick då körde dina Matlab kommadon. Grafer behöver inte redovisas. (2p) 1: Använd polyfit för att anpassa en rät linje till följande tabell x 1.0 1.5 2.0 2.5 y 1.76 2.04 2.21 2.44 Plotta även den räta linjen på intervallet 0 x 3 som en blå heldragen linje. Rita även in punkterna (x i,y i ) i samma graf med röda x. (2p) 2: Följande MATLAB script är tänkt att kontrollera om alla element i en vektor är positiva n = length(x); for i = 1:n if x(i)<0 allapositiva=0; else allapositiva=1; ; Förklara vad som går fel och gör de förändriningar som behövs för att få förväntat resultat. (3p) 3: Vi vill bilda en kvadratisk matrisadär elementen ges ava ij = 1/(i+j),1 i,j n. Exempelvis, för n = 3, är alltså 1/2 1/3 1/4 A = 1/3 1/4 1/5 1/4 1/5 1/6 Skriv ett Matlab script som skapar en sådan matris för en given dimension n. Scriptet skall dessutom lösa ekvationssystsmet Ax = b för fallet n = 4 och b = (1, 1, 1, 1) T.

(3p) 4: Vi vill studera funktionen f(x) = e x/5 cos(4x), på intervallet 0 x 1, och undersöka var dess minimum inträffar. a) Skapa en vektor x som innehåller N = 50 jämnt utspridda tal på intervallet [0, 1]. Beräkna även en vektor f med motsvarande funktionsvärden och utnyttja dessa vektorer för att plotta funktionen på aktuellt intervall. b) Använd Matlab kommandot min för att hitta det minsta värdet i vektorn f. Detta approximerar funktionens minsta värde på intervallet. Hitta även det x-värde där funktionen antar sitt minsta värde. c) Markera punkten (x min,f min ) du hittat i b) uppgiften i den graf du ritat upp i a) uppgiften med ett rött +. (3p) 5: För att beräkna kvadratroten av ett positivt tal a kan vi använda iterationen, x k+1 = 1 2 (x k +a/x k ), x 0 = 1; a) Skriv ett Matlab program som beräknar a för ett givet positivt tal a genom att utnyttja iterationsformeln ovan. Du skall avbryta iterationerna då två på varandra följande approximationer uppfyller x k+1 x k < 10 8. b) Gör om ditt program från a) till en funktion med namnet KvadratRot. Talet a skall vara inparameter och den beräknade kvadratroten skall vara utparameter. Du skall kunna använda funktionen på följande sätt >> y = KvadratRot( 5 ) y = 2.2361 Tips Svarar du på b) så behöver du inte svara på a) eftersom Matlab raderna som utför iterationen även kommer att ingå i funktionen. 2

(3p) 6: Vi är intresserade av att undersöka storleken på en insektspopulation. Vi gör en serie mätningar och får en vektor, F = (F 1,F 2,...,F n ) T, där F i är det uppmätta antalet insekter vid tiden t i. För att analysera mätningarna antar vi att dessa kan beskrivas med modellen F(t) c 1 +c 2 cos(t)+c 3 sin(t), där c 0, c 1, och c 2 är okända parametrar vi önskar bestämma. a) Modellen ovan leder till ett överbestämt ekvationssystem Ax = b som kan lösas med minsta kvadratmetoden. Antag att följande mätningar är givna t k 0 1 2 3 4 F(t k ) 1.14 2.11 2.79 2.40 1.43 Skriv de Matlab kommandon som krävs för att bilda både matrisen A och högerledet b. Lös dessutom minsta kvadrat problemet och hitta koefficienterna c 1, c 2 och c 3. b) Plotta den funktionskurva F(t) som du hittade i Uppgift a). Rita även upp de givna mätvärdena (t k,f k ) i samma Figur (som svarta o). (4p) 7: Vi vill skriva ett simuleringssystem som kan användas för att undersöka tärningsspelet spelet 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 Matlab funktion som simulerar en spelomgång. Funktionen skall returnera en vektor innehållande resultatet från 5st 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 till 6. Använd antigen rand eller randi för att skapa slumptalen. b) Att få Yatzy innebär att alla tärningskasten ger samma resultat. Skriv en funktion KontrolleraYatzy, med en vektor som representerar en spelomgång som inparameter, som kontrollerar om vi har fått Yatzy. Funktionen skall ha en utparameter som getts värdet sant om vi har Yatzy och falskt annars c) Kontrollera hur vanligt det är att få Yatzy genom att skriva ett script som simulerar N = 10000 spelomgångar. Räkna efter hur många spelomgångar som ger Yatzy. Du skall använda dina två funktioner från uppgifterna a) och b). 3

Lösningsförslag till tentan för TANA17 Augusti 2015. 1: Vi ritar grafen med kommandona x = [1.0 1.5 2.0 2.5]; y=[1.76 2.04 2.21 2.44]; p1=polyfit(x,y,1); xx=0:0.1:3.0; plot( xx, polyval( p1,xx), b-,x,y, rx ) 2: Problemet är att ast den sista jämförelsen då i = n påverkar resultatet. Sätt allapositiva=1 först och ändra till noll och avbryt loopen ifall ett negativt hittas. n = length(x); allapositiva=1; for i = 1:n if x(i)<0 allapositiva=0; break ; 3: Vi skapar matrisen och löser Ax = b med kommandona: n=4; A=zeros(n,1); for i=1:n for j=1:n A(i,j)=1/(i+j); b=ones(n,1); x=a\b; x ans = -20.0000 180.0000-420.0000 280.0000 4

4: Vi plottar funktionen med N=50; x=(0:n-1)/(n-1); % Precis 50 x-värden f=exp(-x/5).*cos(4*x); plot(x,f) vi hittar sedan minimum och markerar det i grafen med [m,k]=min(f);disp( m ),disp( x(k) ) hold on plot( x(k),f(k), r+ ) hold off 5: Vi inför variabler x0 och x1 för två på varandra följande x-värden. function [x1]=kvadratrot( a ) x0=1;x1=(x0+a/x0)/2; while abs(x0-x1)>10^-8 x0=x1; x1=(x0+a/x0)/2; Vi behöver ingen räknare som håller reda på antalet termer. 6: Vi löser minsta kvadrat problemet med t = [0 1 2 3 4] ; % Måste vara kolumnvektor F=[1.14 2.11 2.79 2.40 1.43] ; b=f; A=[ ones(size(t)) cos(t) sin(t) ]; % blir 5x3 matris c=a\b; c ans = 1.7128-0.5857 0.8823 Vi plottar sedan modellen och punkterna med tt = 0:0.1:4; FF = c(1)+c(2)*cos(tt)+c(3)*sin(tt); plot( tt, FF, b-,t,f, ko ) Ger helt ok överensstämmelse. 5

7: Använder vi funktionen randi blir Yatzy funktionen function [ Kast ]=YatzyOmgang() Kast = randi( [1 6],5,1); För att kontrollera om alla tal är lika jämför vi de övriga med det först kastet. function [Test]=KontrolleraYatzy( Kast ) Test=1; % Utgå ifrån sant for i=2:5 % Testa ifall Kast(i) är samma som Kast(1) för i=2,3,4,5 if Kast(i) ~= Kast(1) % Olika så Test blir falskt och vi avbryter Test=0; break Huvudprogrammet blir nu N=10000; % Antalet omgångar totalt AntalYatzy=0; for i=1:n Kast = YatzyOmgang(); if KontrolleraYatzy( Kast ) AntalYatzy=AntalYatzy+1; disp( AntalYatzy ) Omkring 10 Yatzy är rimligt på 10000 omgångar. 6