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

Relevanta dokument
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: 14:e januari klockan

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

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

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

TANA17 Matematiska beräkningar med Matlab

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

TANA81: Simuleringar med Matlab

Introduktion till MATLAB

TANA17 Matematiska beräkningar med Matlab

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:

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

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. 26 november 2015 Sida 1 / 28

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

TAIU07 Matematiska beräkningar med Matlab

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

2 februari 2016 Sida 1 / 23

MMA132: Laboration 1 Introduktion till MATLAB

TANA17 Matematiska beräkningar med Matlab

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

TAIU07 Matematiska beräkningar med Matlab

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

Tentamen del 1 SF1546, , , Numeriska metoder, grundkurs

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

TAIU07 Matematiska beräkningar med Matlab

MMA132: Laboration 1 & 2 Introduktion till MATLAB

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

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

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

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

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

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

TANA17 Matematiska beräkningar med Matlab

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

Laboration: Grunderna i MATLAB

15 februari 2016 Sida 1 / 32

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

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

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

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

HI1024 Programmering, grundkurs TEN

1.1 MATLABs kommandon för matriser

5B1146 med Matlab. Laborationsr. Laborationsgrupp: Sebastian Johnson Erik Lundberg, Ann-Sofi Åhn ( endst tal1-3

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

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

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

Laboration: Vektorer och matriser

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

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

Introduktion till Matlab

Mer om funktioner och grafik i Matlab

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

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

Matriser och vektorer i Matlab

Ickelinjära ekvationer

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

Instruktion för laboration 1

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

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

LABORATION cos (3x 2 ) dx I =

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

Linjär algebra med tillämpningar, lab 1

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

Variabler och konstanter

2 Matrisfaktorisering och lösning till ekvationssystem

Introduktion till Matlab

Labb 3: Ekvationslösning med Matlab (v2)

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

TMV156/TMV155E Inledande matematik E, 2009

FMNF15 HT18: Beräkningsprogrammering Numerisk Analys, Matematikcentrum

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

MMA132: Laboration 2 Matriser i MATLAB

Lösningsförslag till inlämningsuppgift 3 i Beräkningsprogrammering Problem 1) function condtest format compact format long

En introduktion till MatLab

Moment 1.15, 2.1, 2.4 Viktiga exempel 2.2, 2.3, 2.4 Övningsuppgifter Ö2.2ab, Ö2.3. Polynomekvationer. p 2 (x) = x 7 +1.

TMV225 Inledande Matematik M

Matriser och vektorer i Matlab

Instruktion för laboration 1

TENTAMEN I GRUNDKURS I NUMERISKA METODER - DEL 20

Tentamen, del 2 DN1240 Numeriska metoder gk II för F

NUMPROG, 2D1212, vt Föreläsning 1, Numme-delen. Linjära ekvationssystem Interpolation, Minstakvadratmetoden

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

Miniprojektuppgift i TSRT04: Femtal i Yatzy

Grundläggande kommandon

Matlabövning 1 Funktioner och grafer i Matlab

Interpolation. 8 december 2014 Sida 1 / 20

Lösningar och kommentarer till uppgifter i 3.1

Transkript:

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. 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: Skapa en vektor som innehåller de positiva talen 1,2,3,...,50. Använd sedan elementvisa operationer och kommandot sum för att beräkna summan S = 1+ 1 2 2 + 1 3 2 +...+ 1 50 2. (2p) 2: Skapa ett tredjegradspolynom p(x) med rötter x 1 = 0.3, x 2 = 1.5 och x 3 = 2.9 genom att använda polyfit för att hitta det polynom av grad 3 som interpolerar tabellen x 0 0.3 1.5 2.9 y 1.0 0.0 0.0 0.0 Plotta även polynomet 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 så att det tydligt syns att polynomet får rätt rötter. (2p) 3: Följande kommandon är tänkta att kontrollera ifall en vektor är sorterad i växande ordning n=length(y); for i=2:n if y(i-1)>y(i) test=0; else test=1; Förklara vad som går fel och gör de ändringar som krävs för att programmet skall fungera som det är tänkt.

(2p) 4: 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 Matlabscript 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. (2p) 5: I ett tärningsspel skall vi slå tärningar ända tills totalsumman blir större än eller lika med 10. Skriv ett Matlabscript som simulerar en spelomgång och använder randi eller rand för att simulera tärningskast ända tills total summan blivit åtminstone 10. Programmet skall göra utskrifter enligt mönstret Kast 1 gav 5 Kast 2 gav 1 Kast 3 gav 3 Kast 4 gav 4 Efter 4 kast har vi summan 13. (3p) 6: En bakteriepopulation förökar sig snabbt ifall näring tillförs. Vid varje tidssteg delar sig hälften av bakterierna. Dessutom räcker den näring som tillförs ast för 10 5 bakterier. Blir populationen större än så gör konkurrens om näring att ett stort antal inte får tillräckligt med energi och dör. Detta ger en modell för populationens utveckling P k = 1.5P k 1 2max(P k 1 10 5,0) där P k är populationens storlek vid tidssteg k. a) Skriv en funktion som simulerar hur bakteriepopulationen utvecklas under N tidssteg. Funktionen skall kunna anropas enligt >> N = 4; P0=100; P = Bakterier( N, P0 ) P = 100.0000 150.0000 225.0000 337.5000 där P0 är bakteriepopulationens storlek då simuleringen startar. b) Använd funktionen för att genomföra N = 20 tidssteg med startpopulationen P 0 = 5000. Plotta en graf som visar P k som funktion av tidssteget k. Du skall även lägga till lämplig text på koordinataxlarna. 2

(3p) 7: Vi vill lösa en ekvation f(x) = x 0 cos(t)e 2t dt 2 = 0 a) Skriv en funktion IntegralFunktion som beräknar f(x) ovan. Funktionen skall ta x som inparameter och returnera värdet f(x). Använd integral för att beräkna integralens värde inne i funktionen. b) För att bilda oss en uppfattning av var roten finns skall vi plotta f(x) på intervallet 0 x 2. Bilda därför en vektor xvals som innehåller n = 50 jämt utspridda punkter på intervallet 0 x 2 och beräkna en vektor fvals med motsvarande funktionsvärden. Plotta sedan en graf över funktionen f(x) på aktuellt intervall. c) Vi ser att en rot finns runt x = 0.9. Använd nu fzero för att lösa ekvationen f(x) = 0. (4p) 8: Tecken- och stränghantering är ibland nödvändigt för att presentera beräkningsuppgifter för användare. Lös följande uppgifter: a) Skriv en funktion CountLetters med en sträng som inparameter som räknar hur många bokstäver en given sträng innehåller. Använd Matlabfunktionen isletter. Funktionen skall ge utskriften Strangen innehaller <antal> bokstaver. b) En vektor kan skrivas ut till skärmen med kommandot disp. Det blir inte särskilt snyggt om elementen i vektorn har väldigt olika storleksordning. Vi vill därför förbättra utskriften genom att skriva en funktion displayvector som skriver ut vektorn på följande sätt >> displayvector( x, [-2.845 0.323 12.3*10^-6 1002.4] ) x=( -2.85e+00, 3.23e-01, 1.23e-05, 1.00e+03 ) Vi vill alltså skriva varje element på exponentform med två decimaler. 3

Lösningsförslag till tentan för TANA17 Augusti 2016. 1: Skriv 2: Skriv >> x=1:50; >> S=sum(1./(x.^2)) S = 1.6251 >> x=[ 0 0.3 1.5 2.9]; y=[1 0 0 0]; >> p=polyfit(x,y,3) p = -0.7663 3.6015-4.3448 1.0000 >> xx=0:0.01:3; >> plot(xx,polyval(p,xx), b-,x,y, rx ) Man ser tydligt att polynomet får rätt nollställen. 3: Problemet är att ast sista kontrollen räknas. Alltså n=length(y); test=1; for i=2:n if y(i-1)>y(i) test=0; Det går även att avbryta med break ifall vi hittar ett exempel på element i avtagande ordning. 4: Matrisen skapas med programmet N=4; A=zeros(N,N); for i=1:n for j=1:n A(i,j)=1/(i+j); Vi skapar sedan högerledet och löser ekvationssystemet med b=ones(n,1); x=a\b; x ans = -20.0000 180.0000-420.0000 280.0000 4

5: Vi kan använda programmet summa=0;antal=0; while summa<10 antal=antal+1; kast=randi([1 6],1); summa=summa+kast; disp([ Kast,num2str(antal), gav,num2str(kast)]); disp([ Efter,num2str(antal), har vi summan,num2str(summa)]); 6: Funktionen blir function P=Bakterie( N, P0 ) P=zeros(1,N); P(1)=P0; for k=2:n P(k)=1.5*P(k-1)-2*max( P(k-1)-10^5, 0 ); ; Vi använder den för att plotta grafen med N=20;P0=5000; P=Bakterie(N,P0); plot(p); ylabel( Population: P_k ); xlabel( Tid: k ) 7: På filen IntegralFunktion.m skriver vi function [f]=integralfunktion(x) g=@(t)cos(t).*exp(2*t); f=integral( g, 0, x )-2; Vi plottar sedan funktionen och löser ekvationen med n=50; xvals=2*(0:n-1)/(n-1);fvals=zeros(1,n); for i=1:n,fvals(i)=integralfunktion(xvals(i));, plot(xvals,fvals) x0=fzero(@integralfunktion,0.9) 8: Funktionerna blir 5

och function [Antal]=CountLetters( str ) n=length(str); Antal=0; for i=1:n if isletter( str(i) ) Antal=Antal+1; fprintf(1, Strängen innehåller %i bokstäver\n,antal) function displayvector( name, vector ) n=length(vector); % skriv först ut början: <name>=( fprintf(1, %s=(,name); % skriv nu ut ett elemnt i taget med, och mellanslag. for i=1:n-1 fprintf(1, %7.2e,,vector(i)); % skriv nu ut sista elementet utan, efter. fprintf(1, %7.2e )\n,vector(n) ); 6