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

Tentamen TANA17 Matematiska beräkningar Provkod: DAT1 Godkänd: 8p av totalt 20p Tid: 21:a April klockan

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

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 Tid: 18:e augusti klockan

TAIU07 Matematiska beräkningar med Matlab

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

TANA17 Matematiska beräkningar med Matlab

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

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

2 februari 2016 Sida 1 / 23

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.

Introduktion till MATLAB

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

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

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

TANA17 Matematiska beräkningar med Matlab

TANA17 Matematiska beräkningar med Matlab

Introduktion till Matlab

TAIU07 Matematiska beräkningar med Matlab

Introduktion till Matlab

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

TAIU07 Matematiska beräkningar med Matlab

TMV225 Inledande Matematik M

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

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

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

TAIU07 Matematiska beräkningar med Matlab

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

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

TANA81: Simuleringar med Matlab

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

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

Laborationstillfälle 1 Lite mer om Matlab och matematik

15 februari 2016 Sida 1 / 32

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

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

Labb 3: Ekvationslösning med Matlab (v2)

Ickelinjära ekvationer

Linjärisering och Newtons metod

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

Mer om funktioner och grafik i Matlab

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

Matlabövning 1 Funktioner och grafer i Matlab

Facit Tentamen i Beräkningsvetenskap I (1TD393) STS ES W K1

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

Introduktion till Matlab

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

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

TANA17 Matematiska beräkningar med Matlab

Laboration: Grunderna i MATLAB

Newtons metod. 1 Inledning. 2 Newtons metod. CTH/GU LABORATION 6 MVE /2013 Matematiska vetenskaper

Kort om programmering i Python

Programmering C: Tentamen of 5 Prioritet och associativitet hos operatorerna i C De viktigaste operatorerna: Prioritet Kategori Operator

Kort om programmering i Matlab

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

Matlabövning 1 Funktioner och grafer i Matlab

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

Introduktion till Matlab

Introduktion till Matlab

Tentamen i. för D1 m fl, även distanskursen. lördag 26 februari 2011

HI1024 Programmering, grundkurs TEN

TSBB14 Laboration: Intro till Matlab 1D

HI1024 Programmering, grundkurs TEN

Rapportexempel, Datorer och datoranvändning

Tentamen i Grundläggande Programvaruutveckling, TDA548

Introduktion till Matlab

En introduktion till MatLab

Mer om funktioner och grafik i Matlab

MATLAB handbok Introduktion

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

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

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

Programmeringsuppgift Game of Life

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

2D1339 Programkonstruktion för F1, ht 2003

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

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

Tentamen TEN1 HI

Lösningar till uppgifterna sätts ut på kurssidan på nätet idag kl Omtentamen i Programmering C, 5p, A1, D1, E1, Fri, Pr1, Te/Ek1,

Tentamen i Programmering grundkurs och Programmering C

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

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

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

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

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

Tentamen i. för D1 m fl, även distanskursen. fredag 13 januari 2012

Tentamen i Digitalteknik, EITF65

TENTAMEN I GRUNDKURS I NUMERISKA METODER - DEL 20

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, 22 Mars, 2016 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. Resultat meddelas via epost senast onsdag 30:e April. Lösningsförslag finns på kurshemsidan efter tentans slut. Visning av tentamen sker på Examinators kontor måndag den 4:e April, klockan 12.15-13.00 (Hus B, Ing. 23-25, Plan-3, A-korr). Lycka till!

Redovisning Lös först uppgifterna i Matlab. Då du har en färdig lösning, skriv ner de kommandon du använde på papper. Redovisa även eventuella resultat du fick då du körde dina Matlab kommadon. Grafer behöver inte redovisas. (2p) 1: Följande kommandon är tänkta att kontrollera ifall alla element i en given vektor x är noll-skiljda: for i=1:length(x) if x(i) ~= 0 NollSkiljd=1; else NollSkiljd=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) 2: Använd polyfit för att anpassa en rät linje till följande tabell x 0 1 2 3 y 1.7 2.2 2.9 3.4 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. (3p) 3: Vi vill studera funktionen på intervallet 0 x 1. f(x) = 1+xcos(3x) a) Skapa ett funktionshandtag som motsvarar funktionen f(x) ovan. Din funktion skall klara av att x är en vektor. Skapa sedan en vektor x som innehåller N = 100 jämt utspridda tal på intervallet [0,1]. Beräkna även en vektor f med motsvarande funktionsvärden med hjälp av ditt funktionshandtag och utnyttja dessa vektorer för att plotta funktionen på aktuellt intervall. b) Vi ser ur grafen att funktionen f(x) har ett nollställe nära x = 0.5. Använd fzero för att beräkna ett bra värde på detta nollställe. c) Markera nollstället i grafen med ett rött +. 2

(3p) 4: Vi vill studera hur summan S N = N N(N k +1) k 2, k=1 beror på N. Vi skall därför göra följande: a) Skriv en funktion som beräknar summan för ett givet värde på N. Funktionen skall kunna anropas enligt >> N = 10; S = Summan( N ) S = 165 b) Skapa en vektor som innehåller heltalen N = 10,20,30,...,100. Beräkna sedan en ny vektor som innehåller motsvarande summor S N med hjälp av din funktion från a). Plotta en graf som visar S N som funktion av N. Använd semilogy istället för plot för att tydligare se hur S N beror på N. Du skall även lägga till lämplig text på koordinataxlarna. (4p) 5: I ett spel skall vi kasta tärningar i följd tills vi fått två sexor. Vi skall skriva ett Matlab program som simulerar en sådan spelomgång genom att slumpa fram heltal mellan 1 och 6 tills vi fått två sexor. Din funktion 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 första Tärning 5: 4 Tärning 6: 6 andra 3

(4p) 6: Ett instrument ger ibland underliga mätresultat. En viss storhet som vi vill mäta är nästan konstant men ibland ger mätinstrumentet en alldeldes för stor avvikelse ifrån det konstanta värdet. Vi antar att mätserien har lagrats i en vektor F och vi vill hitta konstiga mätvärden genom att göra följande Beräkna först medelvärdet m = 1 n n k=1 F k. Hitta de index k sådana att F k m > tol, där tol är en given tolerans. Skriv en funktion >> [ind]=hittaavvikelser( F, tol ) som utför ovanståe steg. Testa din funktion på fallet F = (2.1, 1.9, 0.1, 2.1, 2.2, 3.7, 1.9, 1.8, 2.1), och tol = 1.0. Du skall få ind = (3, 6) eftersom dessa platser i vektorn avviker mycket från medelvärdet. Plotta dessutom vektorn F som en blå linje och markera de punkter som avviker för mycket från medelvärdet med röda ringar. 4

Lösningsförslag till tentan 20:e Mars 2015. 1: 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=1:length(x) if x(i) ~= 0 NollSkiljd=1; else NollSkiljd=0; break Det finns flera alternativa lösningar som ger enklare kod. Exempelvis NollSkiljd=1; for i=1:length(x) if x(i) == 0 % Vänt på jämförelsen! NollSkiljd=0; break 2: Bilda vektorerna x och y samt utför polynomanpassningen med >> x=[ 0 1 2 3]; y=[1.7 2.2 2.9 3.4]; >> p1=polyfit(x,y,1) >> plot( x, polyval(p1,x), b-, x, y, r+ ); Notera att vi inte behöver bilda en tätate x-vektor innan vi plottar då vi skall rita upp en rät linje. 3: a) Vi skapar vektorn, beräknar funktionsvärden, och plottar med kommandona fun = @(x) sqrt(1+x).*cos(3*x); N=100; x=(0:n-1)/(n-1); f=fun(x); plot(x,f) b+c) Vi hittar roten och plottar med rot=fzero( fun, 0.5 ); hold on plot( rot, 0, r+ ) hold off 5

4: Funktionen blir function [S]=Summan(N) S=0; for k=1:n S=S+N*(N-k+1)-k^2; Vi använder den för att plotta grafen med N=10:10:100; S=zeros(size(N)); for k=1:length(n) S(k)=Summan(N(k)); semilogy(n,s) xlabel( N );ylabel( Summan: S_N ); 5: Följande program löser uppgiften k=0; % Antal kast n=0; % antal sexor while n<2 k=k+1; T=randi([1 6],1); str = [ Tärning,num2str(k), :,num2str(t)]; if T==6 n=n+1; if n==1 str = [str, första ]; else str = [str, andra ]; disp(str) 6

6: Funktionen HittaAvvikelser blir function [ind]=hittaavvikelser( F, tol ) m=mean(f); n=0; for k=1:length(f) if abs(f(k)-m)>tol n=n+1; ind(n)=k; Vi använder sedan funktionen för att skapa grafen med >> F=[2.1 1.9 0.1 2.1 2.2 3.7 1.9 1.8 2.1]; >> ind=hittaavvikelser( F, 1 ) >> ind = 3 6 >> plot(f); hold on, plot( ind, F(ind), ro ), hold off 7