Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

a) og b) og c)

 

...

function

...

result

...

=

...

simpsons(a,b,

...

n,f)

...

h = (b-a)/n; 

y= [a : h : b];

result = f(y(1)) + f(y(end));

result = result + 2*sum(f(y(3:2:end-2))); % Regner for de odde y-ene

result = result + 4*sum(f(y(2:2:end))); % Regner for de pare y-ene

result = h/3 * result;

end

b)

function result = simpsons_error(start, stop, error, fn)

N = 1;

Si = simpsons(start, stop, N, fn);

S2i = simpsons(start, stop, 2*N, fn);

while abs(Si-S2i) >= error

    N = 2 * N;

    Si = simpsons(start, stop, N, fn);

    S2i = simpsons(start, stop, 2*N, fn);

end

result = Si;

end

 

c

d)

Code Block
1.9832 = simpsons(0,pi,14,@(x)sin(x))

e)

Code Block
function err = deviation(a,b,N,f,corr)
err= corr-simpsons(a,b,N,f);
end

f) Simpsons metode er en andre ordens funksjon, noe som vil si at stigningen på plottet under skal være 2, altså; feilen blir 2 størrelsesordner mindre hvor hver størrelsesorden n øker(se bilder under). Det at Simpsons metode er en andre ordens metode betyr at feilen vil være avhengig av O(h2), dette kan vises ved å utlede metoden, men det vil ikke gjennomgås her.

...