Versions Compared

Key

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

Læringsmål:

  • Funksjoner
  • Elementvis operasjoner

Pensum:

  • Kap 2.3
  • Kap 4.4

a)

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

Du skal i denne oppgaven lage en metode som kan integrere numerisk.
Se på plottet ovenfor, og legg merke til at de to grafene nesten ligger oppå hverandre. Legg også merke til at den blå linjen, sammen med bunnlinjen og de vertikale grå linjene, danner trapeser. Trapes er enkelt å regne ut arealet for (smile)

Lag funksjonen trapezArea(r, s, h) som returnerer arealet til et trapes.


r og s er lengden på de parallelle sidene i trapeset. h (eller dx) er avstanden mellom disse.

b)

Lag funksjonen trapezMethod. Prameterene er start, stop, n. I denne funksjonen må den matematiske funksjonen defineres.
Skulle man mestre punktene lengre nede på siden må man legge til fn som parameter..

Code Block
languagenone
f = @(t) exp(-x.^2);
g = @(t) sin(x)
%Funksjonen er definert som: trapezMethod (start,stop,n,f)
trapezMethod (0, 10, 10, f) % skal skrive ut 0.8868
trapezMethod (0, 10, 100, f) % skal skrive ut 0.8862
trapezMethod (0, pi , 10, g ) % skal skrive ut 1.9200

Vær oppmerksom på at små feil i programmet ditt kan føre til små avrundingsfeil, slik at svarene kan avvike fra svarene gitt over. Dette er akseptabelt.



Anchor
nyttig
nyttig
Du kan få bruk for følgende som ikke er pensum:

  • Definerer en vanlig (mattematisk) funksjon:

    Code Block
    languagenone
    function y = f(x)
    	y = x;
    end

 

  • Slik defineres en funksjon som benytter seg av en annen funksjon (fn) som parameter. I dette tilfellet opphøyes fn(x) i andre.

    Code Block
    languagenone
    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.

    Code Block
    languagenone
    disp (g(2, @f)); % legg merke til krøllalfa - tegnet!