Læringsmål:
- Funksjoner
- Elementvis operasjoner
Pensum:
- Kap 2.3
- Kap 4.4
- Kap 10.1-10.4
Noen funksjoner er transcendentale og kan derfor ikke integreres analytisk. Men de kan (av og til) integreres numerisk, altså tilnærmes.
Nedenfor er Simpsons metode, som dere kanskje har lært om i matematikk 1, forklart kort.
Hvor
Her er for en i = [0,1,2,...,n],og funksjonen du vil integrere, f(x). n må være et partall.
a)
Implementer simpsons(a,b,n,fn)
ved gitt pseudokode:
% Ta inn a, b, n og funksjonen fn. % Sjekk at n er partall, gi feilmelding hvis ikke. % Gå videre: % La variabelen y inneha alle funksjonsverdiene til fn fra a til b med steglende deltaX. % velg odde yer: y1, y3, y5 ... y_(n-1) % regn ut 4*summen av disse % velg partall yer: y2, y4, y6 ... y_(n-2) % regn ut 2*summen av disse % legg sammen de to summene sammen med y_0 og y_n % gang alt med \deltaX/3 .
d)
Test funksjonen ved følgende kall:
g = @(t) sin(x) simpsons(0,pi, 14, g)
e)
Lag funksjonen deviation(a,b,n, fn, corr)
. corr er det analytiske svaret som man finner for hånd. Funksjonen skal returnere feilen mellom det korrekte svaret, og svaret funnet ved hjelp av simpsons metode.
f = @(t) sin(x) deviation(a,b,n,fn, corr)
f)
Mattematisk bonusspørsmål:
Simpsons metode er en annenordens metode. Hva har det med det logaritmiske plottet under å gjøre?
n =200; c = 1; f = @(t) sin(x) for i = [2:2:n] e(c) = simpsons(0,pi,i,f); c = c+1; end loglog([1:n/2], e-2)
Nyttig:
Du kan få bruk for følgende som ikke er pensum:
Definerer en vanlig (mattematisk) funksjon:
function y = f(x) y = x; end
Slik definerer man en funksjon som benytter seg av en annen funksjon (fn) som parameter. I dette tilfellet opphøyes fn(x) i andre.
function y = g(x, fn) % her kaller vi på funksjonen som er lagret i parameteren fn y = fn(x) * fn(x); end
Nedenfor kaller vi på funksjonen g med x=2 og sender inn f som fn. Når man står utenfor funksjonen må det stå et krøllalfa foran funksjonen som skal være en parameter.
disp ( g(2, @f) ); % legg merke til krøllalfa - tegnet!