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

Compare with Current View Page History

« Previous Version 33 Next »

Læringsmål:

  • Funksjoner
  • Elementvis operasjoner

Pensum:

  • Kap 2.3
  • Kap 4.4

a)

Lag funksjonen f gitt avDenne skal kunne regne på 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) 

Plott funksjonen fra -2 til 2 med steglengde 0.01

c)

Plott funksjonen fra -2 til 2 med steglengde 0.5 . 
Bruk hold on før plot funksjonen kjøres. Da vil neste plot tegnes på det forrige. Resultatet blir: 

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. Men med litt programmering kan vi tilnærme oss arealet av denne funksjonen. 

Du skal i denne oppgaven 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. Prameterene er start, stop, n. I denne funksjonen må den matematiske funksjonen defineres.
Skal man mestre punktene lengre nede på siden må man legge til fn som parameter.

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.



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

  • 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