next up previous
Next: Skriptfiler, m-Filer Up: Studio 2 Previous: Derivata

Numerisk Differentiering

En dator kan inte göra någon formell gränsövergång, eftersom den bara arbetar med diskreta (ändliga) tal. Alltså kan vi inte beräkna derivatan av en funktion $ f(x)$ exakt m.h.a. derivatadefinitionen. Vi kan emellertid approximera derivatan genom att välja $ h$ litet, t.ex. $ 0.001$, och sedan beräkna kvoten

$\displaystyle f'(x) \approx \frac{f(x+h)-f(x)}{h}.$    

for ett givet värde på $ x$ och för en given funktion $ f(x)$. Antag, att $ f(x)=x^2$ och att vi vill beräkna dess derivata på intervallet $ 0< x < 1$. Vi kan göra detta och dessutom rita den beräknade derivatan i Matlab med följande kod:
  h = 0.001
  x = 0:0.01:1
  y = ((x+h).^2-x.^2)./h
  plot(x,y)
Observera kodens struktur:
  1. Deklarera konstanten $ h$ och ge den värdet $ 0.001$.
  2. Skapa en vektor som innehåller $ 100$ jämt fördelade $ x$-värden mellan 0 och $ 1$.
  3. Beräkna en vektor med approximativa värden på $ y=f'(x)$.
  4. Rita resultatet.
Exekvera dessa rader i Matlabs Command Window och jämför sedan grafen med den exakta derivatan $ f'(x)=2x$.

Övning: Beräkna och rita approximativa derivator till följande funktioner $ f(x)$.
a. $ x^3$ b. $ x+1$ c. $ x(1-x)$ d. $ e^{x}$
e. $ \sin x$ f. $ \cos 2x$ g. $ x \sin 3\pi x$ h. $ e^{-x^2}$

Övning: Försök att beräkna andraderivatan $ f''(x)$ för $ f(x)=\cos 2x$ på intervallet $ 0<x<4$, genom att använda approximationen

$\displaystyle f''(x) \approx \frac{f(x+h)-2f(x)+f(x-h)}{h^2}.$    


next up previous
Next: Skriptfiler, m-Filer Up: Studio 2 Previous: Derivata
Fredrik Bengzon 2004-08-24