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

Compare with Current View Page History

« Previous Version 48 Next »

Læringsmål:

  • Funksjoner
  • Elementvis operasjoner

Pensum:

  • Kap 2.3
  • Kap 4.4

a)

Lag funksjonen f gitt avDenne skal også kunne ta inn lister. Eksempler på kjøring:

f(0) % skal returnere 1
 
f (1) % skal returnere 0.3679
 
f ([-1.5:0.5:1.5]) % skal returnere [0.1054, 0.3679, 0.7788, 1.0000, 0.7788, 0.3679, 0.1054]


b) 

Benytt funksjonen fra oppgave a) og plot resultatet -2 til 2 med steglengde 0.01

c)

      Gjenta deloppgave b), men med en steglengde på 0.5.
      Ved å ikke lukke plottet fra b) og skrive hold on i konsollen før du gjennomfører dette steget, vil dette plottet tegnes over det forrige. Det vil da bli seende slik ut


For å finne arealet under en graf er det vanlig å integrere funksjonen. Men det er ikke alle funksjoner som er enkle å integrere: funksjonen i denne oppgaven er et eksempel på en slik funksjon. Med litt programmering kan vi likevel tilnærme oss arealet av denne funksjonen. 

Du skal nå lage en funksjon 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 røde linjen og bunnlinjen, sammen danner trapeser med bredde 0.5. Trapes er enkelt å regne ut arealet for (smile)

d)

Lag funksjonen trapezoidArea(a, b, w) som returnerer arealet til et trapes.



og b er lengden på de parallelle sidene i trapeset. w (width) er avstanden mellom disse.

e)

          Lag funksjonen trapezoidMethod(start, stop, n, fn)Her er start start-punktet for arealet (-2 i eksempelet over), stop er stopp-punktet (2 i eksempelet over), n er antall trapeser (8 i eksempelet over) og fn er  

          funksjonen som arealet skal regnes ut for. Denne funksjonen estimerer integralet numerisk, ved bruk av trapesmetoden (Matematikk 1).

          Skal man mestre punktene lengre nede på siden må man legge til fn som parameter.

trapezoidMethod (-2, 2, 8, @f) % skal skrive ut 1.7612
trapezoidMethod (0, 10, 10, @f) % skal skrive ut 0.8863
trapezoidMethod (0, 10, 100, @cos) % skal skrive ut -0.5436
trapezoidMethod (0, pi , 10, @sin ) % skal skrive ut 1.9200
% Hva skjer når du øker n?


Du kan få bruk for følgende:

  • Definerer en vanlig (matematisk) funksjon:

    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.

    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!

 

  • No labels