You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 13 Next »

Læringsmål:

  • Funksjoner
  • Elementvis operasjoner

Pensum:

  • Kap 2.3
  • Kap 4.4


Noen funksjoner er sure og kan derfor ikke integreres analytisk. Derfor kan dette gjøres nummerisk, altså tilnærmes. 

yi = f(h*i) for en i,og funksjonen du vil integrere; f(x). 

Se lengre ned for bruk av funksjoner som parametere i andre funksjoner.  


a)

Fordi n må være partall, må funksjonen . isEven(n) lages. Returvariabelen er 1 eller 0 om n er partall eller ikke. 

b)


Skriv funksjonen calcDeltaX(a,b,n) som returnerer steglengden deltaX.

c)

Lag 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 med simpsons(0,pi, 14, @(error)sin( x )).

e)

Lag funksjonen deviation(a,b,n, fn, int). int er det analytiske svaret.

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;
for i = [2:2:n]
e(c) = simpsons(0,pi,i,@sin);
c = c+1;
end
loglog([1:n/2], e-2)

 



Nyttig:


Du får bruk for at:

Definerer en vanlig (mattematisk) funksjon:

function y = f(x)
y = x;
end

 

Slik definerer vi en funksjon som benytter seg av en annen funksjon (fn) som parameter:

function y = g(x, fn)
	% her kaller vi på funksjonen som er lagret i parameteren fn
	y = fn(x) * fn(x);
end

 

Kaller på funksjonen g og sender inn f. 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!
  • No labels