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

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

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

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: 9p av totalt 20p Hjälpmedel: MATLAB

TANA17 Matematiska beräkningar med Matlab

TAIU07 Matematiska beräkningar med Matlab

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

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 TAIU07 Matematiska beräkningar med MATLAB för MI

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

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

Introduktion till MATLAB

TANA17 Matematiska beräkningar med Matlab

2 februari 2016 Sida 1 / 23

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

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

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 för M, DPU. Fredrik Berntsson, Linköpings Universitet. 2 november 2015 Sida 1 / 23

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

TANA17 Matematiska beräkningar med Matlab

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

MMA132: Laboration 2 Matriser i MATLAB

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

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

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

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

Mer om funktioner och grafik i Matlab

Laboration: Grunderna i MATLAB

15 februari 2016 Sida 1 / 32

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

MMA132: Laboration 1 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

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

Beräkningsverktyg HT07

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

TAIU07 Matematiska beräkningar med Matlab

Instruktion för laboration 1

Matriser och vektorer i Matlab

MMA132: Laboration 1 & 2 Introduktion till MATLAB

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

Kort om programmering i Matlab

TANA17 Matematiska beräkningar med Matlab

TANA17 Matematiska beräkningar med Matlab

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

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

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

Matriser och vektorer i Matlab

Mer om funktioner och grafik i Matlab

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

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

Matriser och Inbyggda funktioner i Matlab

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

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

TANA17 Matematiska beräkningar med Matlab

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

TANA81: Simuleringar med Matlab

Introduktion till Matlab

Matriser och Inbyggda funktioner i Matlab

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

Beräkningsvetenskap föreläsning 2

Linjära ekvationssystem 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

4.3. Programmering i MATLAB

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

Introduktion till Matlab

Matriser och linjära ekvationssystem

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

TSBB14 Laboration: Intro till Matlab 1D

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

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

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

TMV156/TMV155E Inledande matematik E, 2009

Tentamen del 1 SF1546, , , Numeriska metoder, grundkurs

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

Matlabövning 1 Funktioner och grafer i Matlab

1.1 MATLABs kommandon för matriser

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

2 Matrisfaktorisering och lösning till ekvationssystem

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

Linjär algebra med tillämpningar, lab 1

Matlabövning 1 Funktioner och grafer i Matlab

En introduktion till MatLab

Funktioner och grafritning i Matlab

Kort om programmering i Python

Rapportexempel, Datorer och datoranvändning

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

MATLAB handbok Introduktion

Introduktion till Matlab

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

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

Demonstration av laboration 2, SF1901

Transkript:

MAI/Linköpings universitet Fredrik Berntsson Tentamen TANA17 Matematiska beräkningar Provkod: DAT1 Godkänd: 8p av totalt 20p Tid: 14:e januari klockan 8.00-12.00 Redovisning Lös först uppgifterna i Matlab. 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 kolon-notation för att skapa en vektor som innehåller talen1,2,3,...,99,100. Använd sedan elementvisa operationer och kommandot sum för att beräkna summan S = 100 k=1 1 1+k. (2p) 2: Använd polyfit för att anpassa en rät linje till följande tabell x 0 1 2 3 y 1.2 1.5 1.9 2.1 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. (1p) 3: Beräkna lösningen till det linjära ekvationssystemet Ax = b där 1 2 2 2 A = 3 2 1, b = 1. 2 1 3 0 (2p) 4: Följande kommandon är tänkta att kontrollera ifall en vektor är sorterad i stigande ordning: for i=2:length(x) if x(i)>x(i-1) Stigande=1; else Stigande=0; 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) 5: Låt A vara en matris av storlek n m. Skriv ett Matlabscript som använder forloopar för att beräkna summan av de positiva talen i matrisen. Testa ditt program på matrisen 1 1 0 3 A = 3 2 1 0. 2 1 3 1 (2p) 6: Ofta vill man införa olika storleksmått för vektorer. Exempelvis definieras x 1 = n x k. k=1 Skriv en funktion Storlek med en vektor x inparametrar och med storleksmåttet S = x 1 som utparameter. Utnyttja funktionen för att beräkna storleken av vektorn x = (2, 3, 1) T. OBS I Matlab finns en inbyggd funktion norm som kan utföra 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. Du får heller inte använda kommandot sum. (3p) 7: I ett spel skall vi kasta tärningar i följd tills vi får en sexa. Skriv ett Matlab program som simularar en sådan spelomgång genom att slumpa fram heltal mellan 1 och 6 tills resultatet blev en sexa. Ditt program skall göra utskrifter enligt följande mönster Tärning 1: 2 Tärning 2: 3 Tärning 3: 1 Tärning 4: 6 Vi fick en sexa efter 4 tärningskast. (2p) 8: Vi vill undersöka funktionen f(x) = cos(x)e 2x 2x, 0 x 1. a) Rita en graf över funktionen f(x) på intervallet 0 x 1. b) Vi ser att ekvationen f(x) = 0 har en rot nära x = 0.3. För att kunna hitta roten skall du skriva en Matlab funktionfunk med en vektorxsom inparameter som beräknar en vektor y med motsvarande funktionsvärden. Din funktion skall vara skriven på ett sådant sätt att det går att beräkna roten med kommandot >> x = fzero( funk, 0.3 ) 2

(4p) 9: En magisk kvadrat har egenskapen att alla rader, kolumner, och bägge diagonalerna har samma summa. Exempelvis är 17 24 1 8 15 23 5 7 14 16 A= 4 6 13 20 22 10 12 19 21 3 11 18 25 2 9 en magisk kvadrat då summan av elementen på varje enskild rad är 65, och samma summa fås för varje kolumn, och även för de bägge diagonalerna. Du skall skriva en funktion magisk med en kvadratisk matris A som inparameter och en logisk variabel som utparameter. Utparametern skall ha värdet sant om A är en magisk kvadrat och värdet falskt annars. Tips I Matlab finns en funktion magic som kan användas för att skapa magiska kvadrater av godtycklig dimension. Dessa kan användas för att testa din funktion. 3

Lösningsförslag till tentan för TANA17 Januari 2016. 1: Vi beräknar summans värde med kommandona >> k=1:100; >> S=sum( 1./(1+k) ) S = 4.1973 2: Vi använder kommandona >> x=[0 1 2 3];y=[ 1.2 1.5 1.9 2.1]; >> P1 = polyfit(x,y,1); >> plot( [0 3],polyval( P1, [0 3] ), b- ) >> hold on >> plot( x,y, rx ) >> hold off Vi ser att linjen ligger nära punkterna. 3: Bilda matrisen och lös problemet med >> A=[ 1-2 2 ; 3 2-1 ; 2-1 3]; b=[ 2 1 0] ; >> x=a\b x = 1.0769-1.7692-1.3077 4: Problemet är att ast sista kontrollen räknas. Enklaste lösningen är att avbryta då vi hittar två element som inte ligger i stigande ordning med break. Vi får for i=2:length(x) if x(i)>x(i-1) Stigande=1; else Stigande=0; break Det finns flera alternativa lösningar som ger enklare kod. Exempelvis Stigande=1; for i=2:length(x) if x(i) < x(i-1) % Vänt på jämförelsen! 4

Stigande=0; break 5: Vi bildar matrisen och beräknar summan med A=[ 1-1 0 3 ; -3 2 1 0 ; 2-1 3-1]; [n,m]=size(a); S=0; for i=1:n for j=1:m if A(i,j)>0, S=S+A(i,j); disp(s) vilket ger värdet S = 12. 6: Funktionen blir function [E]=Storlek(x) n=length(x); E=0; for i=1:n E=E+abs( x(i) ); vilket get >> Storlek( [2-3 1] ) ans = 6 7: Vi simulerar spelomgången med SistaKast=-1; % Bara så att inte while-satsen avbryts direkt AntalKast=0; while SistaKast ~= 6 AntalKast=AntalKast+1; SistaKast=randi([1 6],1); fprintf(1, Tärning %i: %i\n,antalkast,sistakast); fprintf(1, Vi fick en sexa efter %i tärningskast.\n,antalkast); 5

Det går lika bra att göra utskeifterna med disp([ Tärning,num2str(AntalKast), :,num2str(sistakast)]); men fprintf är enklare. 8: Foljande kommandon plottar grafen >> x=0:0.01:1; >> f=cos(x).*exp(-2*x)-2*x; >> plot( x, f ; På filen funk.m skriver vi sedan function y=funk(x) y=cos(x).*exp(-2*x)-2*x; I Matlab kan vi sedan beräkna roten med >> x=fzero( funk,0.3) x = 0.2766 9: På filen Magisk.m skriver vi function [Test]=Magisk( A ) [n,m]=size(a) Test=1; % Antag sant och motbevisa D1=0;D2=0; for i=1:n % Diagonalsummor först D1=D1+A(i,i); D2=D2+A(i,n-i+1); if D1 ~= D2 Test=0; % Motbevisat! else for i=1:n, % kolla en rad eller kolumn i taget R=0; C=0; for j=1:n R=R+A(i,j); C=C+A(j,i); ; if ( R ~= D1 ) ( C ~= D1 ) Test=0; break 6