Løsningsforslag. Innlevering i BYFE/EMFE 1000 Oppgavesett 1 Innleveringsfrist: 14. september klokka 14:00 Antall oppgaver: 3.

Like dokumenter
BYFE/EMFE 1000, 2012/2013. Numerikkoppgaver uke 35

Matematikk Øvingsoppgaver i numerikk leksjon 5. Løsningsforslag

Matematikk Øvingsoppgaver i numerikk leksjon 6 Løsningsforslag

Høgskolen i Oslo og Akershus. i=1

Høgskolen i Oslo og Akershus. sin 2 x cos 2 x = 0, x [0, 2π) 1 cos 2 x cos 2 x = 0 2 cos 2 x = 1 cos 2 x =

BYFE/EMFE 1000, 2012/2013. Numerikkoppgaver uke 40

Matematikk Øvingsoppgaver i numerikk leksjon 7 Løsningsforslag

Matematikk Øvingsoppgaver i numerikk leksjon 5 for-løkker

Matematikk Løsningsforslag

Matematikk Øvingsoppgaver i numerikk leksjon 5 Løsningsforslag

Matematikk Øvingsoppgaver i numerikk leksjon 5 Løsningsforslag

Matematikk Øvingsoppgaver i numerikk leksjon 11 Eulers metode. Løsningsforslag

Matematikk Øvingsoppgaver i numerikk leksjon 6 Løsningsforslag

BYFE/EMFE 1000, 2012/2013. Numerikkoppgaver uke 34

Matematikk Øvingsoppgaver i numerikk leksjon 5 Litt oppsummering undervegs Løsningsforslag

Løsningsforslag. Innlevering i BYFE 1000 Oppgavesett 1 Innleveringsfrist: 10. oktober klokka 14:00 Antall oppgaver: 6. Oppgave 1

Matematikk Øvingsoppgaver i numerikk leksjon 9. Løsningsforslag

Matematikk Øvingsoppgaver i numerikk leksjon 2 Funksjoner og plotting

Matematikk Øvingsoppgaver i numerikk leksjon 4 m-ler

BYFE/EMFE 1000, 2012/2013. Numerikkoppgaver veke 14

Matematikk Øvingsoppgaver i numerikk leksjon 5 Skript

Matematikk Øvingsoppgaver i numerikk leksjon 6. Løsningsforslag

Matematikk Øvingsoppgaver i numerikk leksjon 8. Løsningsforslag

BYFE/EMFE 1000, 2012/2013. Numerikkoppgaver uke 37 og 38

Matematikk Øvingsoppgaver i numerikk leksjon 4 Løsningsforslag

Løsningsforslag. Innlevering i BYFE/EMFE 1000 Oppgavesett 5 Innleveringsfrist: 15. april klokka 14:00 Antall oppgaver: 3.

a) f(x) = 3 cos(2x 1) + 12 LF: Vi benytter (lineær) kjerneregel og får f (x) = (sin(7x + 1)) (sin( x) + x) sin(7x + 1)(sin( x) + x) ( sin(x) + x) 2 =

Matematikk Øvingsoppgaver i numerikk leksjon 3 Funksjoner og plotting

Matematikk Øvingsoppgaver i numerikk leksjon 5 Løsningsforslag

Matematikk Øvingsoppgaver i numerikk leksjon 3. Løsningsforslag

Løsningsforslag. og B =

Newtons metode er en iterativ metode. Det vil si, vi lager en funksjon. F x = x K f x f' x. , x 2

BYFE DAFE Matematikk 1000 HIOA Obligatorisk innlevering 4 Innleveringsfrist Fredag 11. mars 2016 Antall oppgaver: Løsningsforslag

MA1102 Grunnkurs i analyse II Vår 2014

BYFE/EMFE 1000, 2012/2013. Numerikkoppgaver uke 43

Ikke lineære likninger

Matematikk 1000, 2012/2013. Eksamensaktuelle numerikk-oppgåver

Matematikk Eksamensaktuelle numerikk-oppgåver

Løsningsforslag. Innlevering i BYFE 1000 Oppgavesett 4 Innleveringsfrist:??? klokka 14:00 Antall oppgaver: 5, 20 deloppgaver.

Matematikk Øvingsoppgaver i numerikk leksjon 6. Løsningsforslag

Matematikk Øvingsoppgaver i numerikk leksjon 7. Løsningsforslag

Matematikk Øvingsoppgaver i numerikk leksjon 3 Skript

BYFE DAFE Matematikk 1000 HIOA Obligatorisk innlevering 5 Innleveringsfrist Fredag 15. april 2016 kl 14 Antall oppgaver: 8

LØSNINGSFORSLAG. Skriv følgende komplekse tall både på kartesisk form som a + bi og på polar form som re iθ (r 0 og 0 θ < 2π). a) 2 + 3i.

Løsningsforslag. Oppgave 1 Gitt matrisene ] [ og C = A = 4 1 B = 2 1 3

Numerisk løsning av ikke-lineære ligninger

UNIVERSITETET I OSLO

Løsningsforslag til utvalgte oppgaver i kapittel 5

Matematikk Øvingsoppgaver i numerikk leksjon 3 Funksjoner og plotting

Høgskolen i Oslo og Akershus. x 1 +3x 2 +11x 3 = 6 2x 2 +8x 3 = 4 18x 1 +5x 2 +62x 3 = 40

Fasit MAT102 juni 2016

MAT 1110: Obligatorisk oppgave 1, V-07: Løsningsforslag

Løsningsforslag. og B =

Matematikk Øvingsoppgaver i numerikk leksjon 3 Løsningsforslag

TDT4105 IT Grunnkurs Høst 2014

Prøve i Matte 1000 ELFE KJFE MAFE 1000 Dato: 02. desember 2015 Hjelpemiddel: Kalkulator og formelark

Løsningsforslag til Obligatorisk innlevering 7

Løsningsforslag, midtsemesterprøve MA1101, 5.oktober 2010

Høgskolen i Oslo og Akershus. c) Et annet likningssystem er gitt som. t Bestem parametrene s og t slik at likningssystemet blir inkonsistent.

MAT1110: Obligatorisk oppgave 2, V Løsningsforslag

Alle svar skal grunngis. Alle deloppgaver har lik vekt.

UNIVERSITETET I OSLO

TMA Kræsjkurs i Matlab. Oppgavesett 1/3

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

For det aktuelle nullpunktet, som skal ligge mellom 0 og, kan vere eit greit utgongspunkt.

Newtons metode er en iterativ metode. Det vil si, vi lager en funksjon. F x = x K f x f' x

Høgskolen i Oslo og Akershus. a) Finn den deriverte av disse funksjonene: b) Finn disse ubestemte integralene: c) Finn disse bestemte integralene:

Eksamen i FO929A Matematikk Underveiseksamen Dato 30. mars 2007 Tidspunkt Antall oppgaver 4 Sirkelskive i radianer.

Alle svar skal grunngis. Alle deloppgaver har lik vekt.

Matematikk Øvingsoppgaver i numerikk leksjon 8. Løsningsforslag

Matematikk Øvingsoppgaver i numerikk leksjon 1. Løsningsforslag

1. Finn egenverdiene og egenvektorene til matrisen A = 2 1 A =

Matematikk 1 Første deleksamen. Løsningsforslag

EKSAMEN I EMNET Løsning: Mat Grunnkurs i Matematikk I Mandag 14. desember 2015 Tid: 09:00 14:00

UNIVERSITETET I OSLO

Matematikk Øvingsoppgaver i numerikk leksjon 7 Numerisk derivasjon

Øvingsforelesning i Matlab TDT4105

UNIVERSITETET I OSLO

Fasit til utvalgte oppgaver MAT1110, uka 28/4-2/5

DAFE ELFE Matematikk 1000 HIOA Obligatorisk innlevering 2 Innleveringsfrist Mandag 2. mars 2015 før forelesningen 10:30 Antall oppgaver: 17

Løsningsforslag AA6524 Matematikk 3MX Elever 7. juni eksamensoppgaver.org

Fasit til eksamen i emnet MAT102 - Brukerkurs i matematikk II Mandag 21.september 2015

Løsningsforslag AA6526 Matematikk 3MX Privatister 3. mai eksamensoppgaver.org

Løsningsforslag AA6524 Matematikk 3MX Elever AA6526 Matematikk 3MX Privatister eksamensoppgaver.org

Høgskolen i Oslo og Akershus. = 2xe 2x + x 2 e 2x (2x) = 2xe 2x + 2x 2 e 2x = 2xe 2x (1 + x) e 2x + x 2 ( e 2x) 1 sin x (sin x) + 2x = cos x

Løsningsforslag MAT102 Vår 2018

UNIVERSITETET I OSLO

6 Numeriske likningsløsere TMA4125 våren 2019

Løsningsforslag. Alle svar skal grunngis. Alle deloppgaver teller like mye.

Innlevering Matematikk forkurs HIOA Obligatorisk innlevering 3 Innleveringsfrist Onsdag 15. november 2017 kl 14:30 Antall oppgaver: 8

Oppgaver om fart, strekning og akselerasjon. Løsningsforslag. Oppgave 1

UNIVERSITETET I OSLO. Løsningsforslag

Matematikk Øvingsoppgaver i numerikk leksjon 1 Løsningsforslag

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

Eksamensoppgave i MA1101/MA6101 Grunnkurs i analyse I. LØSNINGSFORSLAG

Notat 2, ST Sammensatte uttrykk. 27. januar 2006

UNIVERSITETET I OSLO

Øvingsforelesning i Matlab TDT4105

Transkript:

Innlevering i BYFE/EMFE 1000 Oppgavesett 1 Innleveringsfrist: 14. september klokka 14:00 Antall oppgaver: 3 Løsningsforslag Oppgave 1 a) ln a ln 3 a+ln 4 a = ln a 1/2 ln a 1/3 +ln a 1/4 = 1 2 ln a 1 3 ln a+ 1 4 ln a = 6 4+3 12 ln a = 5 12 ln a b) 23 4 2 e ln 32 = 23 (2 2 ) 2 32 = 23 2 4 2 5 = 2 3+4 5 = 2 2 = 4 c) sin 2 x cos 2 x = 0 (cos 2 x sin 2 x) = 0 cos(2x) = 0 arccos 0 = π 2 2x = π 2 + n 2π 2x = π 2 + n 2π, n Z x = π 4 + nπ x = π 4 + nπ Vi har her brukt at cos(2x) = cos 2 x sin 2 x. Siden vi skal ha at x [0, 2π), får vi svaret x = π 4 x = 3π 4 x = 5π 4 x = 7π 4 d) e x 1 + 4e x = 2 e x 2 8e x = 0 e x = 2(1 + 4e x ) = 2 + 8e x e x ( e x 2 8e x) = e x 0 = 0 (e x ) 2 2e x 8 = 0 1

Dette er altså en 2.-gradslikning i e x : e x = ( 2) ± ( 2) 2 4 1 ( 8) = 2 ± 6 = 1 ± 3 2 1 2 e x = 1 3 = 2 x = 1 + 4 = 4 e x kan aldri bli negativ for x R. e x = 4 x = ln 4 Oppgave 2 g(t) = a) Krav til kontinuitet i t = 0: { cos(3t 2 ), t < 0 1 t 2, t 0 lim g(t) = g(0) t 0 For at grenseverdien på høyre side skal være denert, må de ensidige grenseverdiene vere like: lim g(t) t 0 = lim ) = cos 0 = 1 t 0 lim g(t) t 0 + = lim t 0 +(1 t2 ) = 1 0 2 = 1 = lim t 0 Grenseverdien er veldenert og lik 1. Funksjonsverdien g(0) = 1 0 2 = 1. Altså er kriteriet over oppfylt og g er kontinuerlig for t = 0. b) Funksjonsl for g(t) kan lages slik: function G=FunksjonOblig1(t) % Denne fila gir funksjonen g(t), som er lik cos(3t^2) naar t<0 og % 1-t^2 naar t>=0. Input maa vaere en skalar. if t<0 G=cos(3*t^2); else G=1-t^2; Den har fått navnet FunksjonOblig1.m, og kan kalles fra Octave slik: octave-3.2.4.exe:28> FunksjonOblig1(5) ans = -24 octave-3.2.4.exe:29> FunksjonOblig1(-2) ans = 0.84385 2

Merk at denne måten å lage funksjonsla på bare tillater skalare inputvariable. Det går også an å konstruere funksjonsla slik at den kan ta vektorer som input. Det kan gjøres ved å bruke ei for-løkke inni funksjonsla eller slik: function G=FunksjonOblig1V2(t) % Denne fila gir funksjonen g(t), som er lik cos(3t^2) naar t<0 og % 1-t^2 naar t>=0. Input kan vaere en skalar eller en vektor. G=(t<0).*cos(3*t.^2) + (t>=0).*(1-t.^2); Denne funksjonsla har jeg gitt navnet FunksjonOblig1V2.m (navnet trenger ikkje være det sammme som i første linje i la, men det er nok ryddigst om det er slik). Når vi skriver 't<0', gir det en vektor av samme størrelse som t hvor hvert element er enten 1 eller 0 avhengig av om det tilsvare elementet i t er mindre enn 0 eller ikke. Men en slik funksjonl kan man regne ut mange g-verdier samtidig: octave-3.2.4.exe:7> FunksjonOblig1V2(-2:.5:2) ans = Columns 1 through 7: 0.84385 0.89301-0.98999 0.73169 1.00000 0.75000 0.00000 Columns 8 and 9: -1.25000-3.00000 Merk at dersom vi hadde brukt punktum-notasjon i funksjonsuttrykkene i den første versjonen av funksjonsla, hadde vil blitt lurt. Vektor-argument hadde blitt lest, men bare det siste elementet i input-vektoren hadde blitt brukt i if-satsene, slik at svaret ville ha blitt feil for alle negative t-verdier. c) Når vi skal plotte grafen, er det en klar fordel å ha ei funksjonsl som kan ta vektor-argument. Da kan det gjøres slik: t=-4:.1:4; g=funksjonoblig1v2(t); plot(t,g) Eller a mer kompakt: t=-4:.1:4; plot(t,funksjonoblig1v2(t)) 3

Vi kan godt sette navn på aksene også: xlabel('t') ylabel('g') Dersom en funksjonla bare tar skalare argument, må vi bruke ei forløkke for å lage plottet. Det er i så fall best å lage et skript som man lagrer som ei m-l. Skriptet kan for eksempel se slik ut: tvektor=-4:.01:4; % Lager en vektor med argument-verdier ind=1; for t=tvektor % Løkke som løper gjennom alle argumentene gvektor(ind)=funksjonoblig1(t); % Tilordner funksjonsverdier ind=ind+1; % Øker indeksen med én plot(tvektor,gvektor) % Plotter grafen xlabel('t') % Skriver 't' på x-aksen ylabel('g') % Skriver 'g' på y-aksen Dette skriptet heter PlotteSkript.m og kan kalles fra Octave ved å skrive PlotteSkript. Husk at du må være i samme katalog som skriptet ligger i. Figuren blir skrevet til l ved hjelp av kommandoen print. Der er ere mulige formater. Om vi skriver print -dpng FigurTilOppg2.png får vi en png-l med navnet FigurTilOppg2.png. jpg og pdf er også anvelige formater. Figur 1 viser plottet. Vi ser at grafen ser ut til å henge sammen også omkring t = 0. Oppgave 3 f(x) = x 4 sin 2 (x) + 1. a) Funksjonen en sum av produkt av elementære funksjoner som alle har hele R som naturlig denisjonsmengde. Den er derfor kontinuerlig på hele R. f(0) = 1 > 0 ( f(π/2) = π/2 4 sin 2 π ) + 1 = (3 π/2) < 0 2 Siden f(0) og f(π/2) har ulike fortegn og funksjonen er kontinuerlig på hele det lukkede intervallet, må funsjonen ha minst ett nullpunkt ved skjæringssetninga. (Se setning 2.5.11 side 97 i Kalkulus-boka.) b) Vi kan lage ei ny funksjonsl, som i oppgave 2, og plotte denne. Jeg har kalt funksjonla FunkOblig1Oppg3.m: 4

Figur 1: Plot av funksjonen g(t) i oppgave 2. funktion F=FunkObl1Oppg3 % Denne funksjonsfila returnerar verdien av funksjonen % f(x) = x-4 sin^2(x) +1. % Funksjonen godtar vektor-argument. F=x-4*sin(x).^2+1; Plottinga kan vi gjøre som i oppgave 2. Vi velger at variabelen går fra -3 til 3 med steg på 0.01 (dette er nok rikelig nt nok eksperimentér gjerne med større steg). octave-3.2.4.exe:10> x=-3:.01:3; octave-3.2.4.exe:11> plot(x,funkobl1oppg3(x)) octave-3.2.4.exe:12> xlabel('x'); ylabel('f') octave-3.2.4.exe:13> print -dpng FigurTilOppg3.png Det går også bra å lage plottet uten å lage noen funksjonl: octave-3.2.4.exe:10> x=-3:.01:3; octave-3.2.4.exe:11> plot(x,x-4*sin(x).^2+1) Ut fra plottet, gur 2, ser det ut til at grafen skjærer x-aksen én gang i intervallet. Det er vanskelig å se nøyaktig hvor grafen krysser x-aksen. 5

Figur 2: Plot av funksjonen f(x) i oppgave 3. For det første er det ikke så lett å se hvor x-aksen går, og for det andre er området vi har plottet grafen på ganske stort. Vi plotter x-aksen og zoomer inn: hold on plot([-3 3],[0 0],'k') axis([0 1-2 2]) I gur 3 ser vi at f(x) 0 for x 0.7. Dette ser også ut til å være det eneste nullpunktet for x [0, π/2]. Om vi zoomer a mer, får vi et svar som er litt mer nøyaktig. Og slik kan vi fortsette å zoome oss inn til et mer og mer nøyaktig svar (om steglengda i input-vektoren er liten nok). Men i neste deloppgave skal vi gjøre dette på en litt mer sostikert måte. c) Halveringsmetoden kan implementers slik: % Skript som implementerer halveringsmetoden. % Angir epunkt og presisjon a=0; b=pi/2; Tol=1e-10; % Funksjonsverdier 6

Figur 3: Samme plot som i gur 3, men med x-aksen agrensa til [0, 1]. Fa=FunkObl1Oppg3(a); Fb=FunkObl1Oppg3(b); % While-løkke som gjentas så lenge avstanden mellom a og b % er større enn ønsket nøyaktighet while abs(a-b)>tol x=(a+b)/2; Fx=FunkObl1Oppg3(x); % Tilsvare funksjonsverdi if Fa*Fx<0 % Dersom om f(a) og f(x) har ulike fortegn b=x; % Velger ny høgre grense else % Dersom f(a) og f(x) har like fortegn a=x; % Velger ny venstre grense % Skriver løsninga til skjerm: Nullpunkt=(a+b)/2 Men dette er ingen optimal impelementering. Ofte vil det være en fordel om man kan skrive skriptet på en slik måte at man må forandre minst mulig om man skal løse et ligne problem; man vil gjerne gjøre det generisk. Derfor vil dette være et bedre skript: 7

% Skript som implementerer halveringsmetoden. % Metoden gir ei tilnærma løsning av likninga f(x)=0. Det forutsettes % at funksjonen f(x) er kontiunerlig på det aktuelle intevallet. % Skriptet vil be om epunkter, og det kontrollerer at funksjonen % faktisk har ulike fortegn for disse epunktene. Navnet på funksjonen % er 'hardkodet' inn i skriptet % Leser inn venstre grense a=input('venstre grense: '); % Leser inn høgre grense b=input('hoeyre grense: '); % Angir ønsket presisjon Tol=input('Noeyaktighet: '); % Gir navnet på funksjonen Funk=@FunkObl1Oppg3; % Tilordne funksjonsverdiene i grensepunktene Fa=Funk(a); Fb=Funk(b); % Sjekk at de faktisk har ulikt fortegn if Fa*Fb>=0 'f(a) og f(b) har samme fortegn' return % Midtpunkt x=(a+b)/2; % Its er antall iterasjoner Its=0; % While-løkke som gjentas så lenge pres er større enn ønsket nøyaktighet while abs(a-b)>tol x=(a+b)/2; % Nytt midpunkt Fx=Funk(x); % Tilsvare funksjonsverdi if Fa*Fx<0 % Sjekker om f(a) og f(x) har ulike fortegn b=x; % Velger ny høgre grense else a=x; % Velger ny venstre grense Its=Its+1; % Antall iterasjoner økes med én Nullpunkt= x % Skriver løsninga til skjerm Iterasjoner=Its % Skriver antall iterasjoner til skjerm 8

I tillegg til å vere litt mer generisk og bedre dokumentert, har også dette skriptet den fordelen at det teller antall iterasjoner (Its) og det har en if-sats som kontrollerer at funksjonen faktisk har ulike fortegn i epunktene (hvis ikke, vil ikke resten av skriptet bli utført). Legg merke til bruken av @; den tillater at vi gir funksjonsnavnet bare én gang til forskjell fra tre ganger i den første versjonen. Vi har lagt while-løkka slik at den kjøre så lenge forskjellen mellom det nye midpunktet og forige midpunkt er mindre enn en grense vi bestemmer selv (while abs(x-xgammel)>tol). Vi kunne også valgt å lage whileløkka slik at absoluttveridien av funksjonen, f(x n ), der x n er midpunkt nummer n, skulle være mindre enn ei øvre grense. Dette siste skriptet har jeg gitt navnet HalveringsMetoden.m. Vi kjører det i Octave og krever at løsningen skal ha en nøyaktighet på 10 5 : octave-3.2.4.exe:18> HalveringsMetoden Venstre grense: 0 Hoeyre grense: pi/2 Noeyaktighet: 1e-5 Nullpunkt = 0.71353 Iterasjoner = 17 Vi ser at svaret ble funnet etter 17 iterasjoner. (Vi har krevd ganske høy nøyaktighet 10 5.) Vi kan godt sjekke at f(x) faktisk er nær 0 for denne løsninga: octave-3.2.4.exe:19> FunkObl1Oppg3(Nullpunkt) ans = -2.7482e-007 Altså er f(x) 2.75 10 7 = 0.000000275 for den løsninga vi har kommet fram til. Det må vel kunne sies å være godkjent. Om vi vil, kan vi også se hvordan x nærmer seg løsninga hvordan x konvergerer ved å skrive ut x for hver iterasjon. Det gjør vi ved å fjerne semikolonet i linje 34. Vi får da: octave-3.2.4.exe:13> HalveringsMetoden Venstre grense: 0 Hoeyre grense: pi/2 Noeyaktighet: 1e-4 x = 0.78540 x = 0.39270 x = 0.58905 x = 0.68722 x = 0.73631 x = 0.71177 x = 0.72404 9

x = 0.71790 x = 0.71484 x = 0.71330 x = 0.71407 x = 0.71368 x = 0.71349 x = 0.71359 Nullpunkt = 0.71359 Iterasjoner = 14 d) Det kan synes noe unødvig å løse likninga numerisk når vi allerede har eksakt løsning. Men det er en god vane å kontrollere skript og programmer ved å sjekke at de faktisk gir lønsninger vi vet er riktige. Likninga i 1 d) kan skrives som e x 1 + 4e x 2 = 0 Vi lager en funksjonsl for funksjonen på venstre side og gir den navnet FunkOppg1d.m: function F=FunkOppg1d(x) % Funksjonen f(x)=e^x/(1+4e^(-x)) - 2. % Funksjonen tar skalare og vektorielle argumenter F=exp(x)./(1+4*exp(-x))-2; Vi trenger å forandre rad 16 i HalveringsMetoden.m til Funk=@FunkOppg1d. Vi kjører skriptet Halveringsmetoden i Octave: octave-3.2.4.exe:7> HalveringsMetoden octave-3.2.4.exe:41> HalveringsMetoden Venstre grense: 1 Hoeyre grense: 2 Noeyaktighet: 1e-7 Nullpunkt = 1.3863 Iterasjoner = 24 octave-3.2.4.exe:42> Nullpunkt-log(4) ans = -5.5795e-008 Her har vi også regnet ut dieransen mellom den numeriske løsningen (Nullpunkt) og den eksakte løsningen (log(4)). Den er altså 5.58 10 8, noe som tross alt er ganske lite og mindre enn den nøyaktigheten vi krevde (10 7 ). Om vi vil ha et a mer nøyaktig svar, kan vi velge en lavere 'Noeyaktiget' enn det som vi har valgt her. 10