All pastes #1203626 Raw Edit

Rapportmall.tex (swedish)

public text v1 · immutable
#1203626 ·published 2008-09-15 19:36 UTC
rendered paste body
\documentclass[a4paper]{article}

\usepackage{graphics}
\usepackage[T1]{fontenc}        % Fr svenska bokstver
\usepackage[swedish]{babel}     % Fr svensk avstavning och svenska
                                % rubriker (t ex "Innehllsfrteckning")
\usepackage{fancyvrb}           % Fr programlistor med tabulatorer
\fvset{tabsize=4}               % Tabulatorpositioner
\fvset{fontsize=\small}         % Lagom storlek fr programlistor

\title{Newton-Raphsons metod}
\author{Per Holm}
\date{14 maj 2008}           % Blir dagens datum om det utelmnas

\begin{document}                % Brjan p dokumentet

\maketitle                      % Skriver ut rubriken som vi
                                % definierade ovan med \title, \author
                                % och eventuellt \date

% Hr skrivs all text i dokumentet



                     Newton-Raphsons metod



                            Per Holm


                        21 september 2001



\section{Numeriska metoder}

En \emph{numerisk metod} r en metod med vars hjlp man kan finna en
approximativ lsning till ett matematiskt problem. Lsningen ges i
numerisk form dvs i form av ett antal talvrden. Till exempel kan man
med en numerisk metod rkna ut att roten till ekvationen $x^2 = 3$ r
1.73205\ldots, men inte f fram den analytiska lsningen \sqrt{3}.
   I mnga problem r man hnvisad till numeriska metoder. Det kan
bero p att problemet inte har ngon analytisk lsning eller att det
skulle vara alltfr arbetsamt att f fram denna.
   I denna rapport studeras en numerisk metod fr att lsa ekvationer
med en obekant, nmligen Newton-Raphsons metod./footnote{Metoden kallas ibland Newtons metod}



\section{Newton-Raphsons metod}


\subsection{Teori}

Vi sker en rot \alpha till ekvationen $f(x) = 0$. Vi antar att vi vet att
roten ligger i nrheten av talet $x_{0}$ och skall frska frbttra denna
approximativa lsning.  Vi kan bilda nya approximationer $x_{1}$, $x_{2}$, $x_{3}$,
\ldots med fljande formel:

       $x_{k+1} = x_{k} - \[ \frac{f(x_{k})}{f'(x_{k})$

Metoden skdliggrs geometriskt i figur ??. Tangenten i punkten
$(x_{0},f(x_{0})$ skr x-axeln fr $x = x_{1}$, tangenten i punkten $(x1,f(x_{1})$
skr x-axeln fr $x = x_{2}$, osv. Av figuren frstr vi att $x_{k}\rightarrow \alpha d $k \rightarrow \infty.
   Newton-Raphsons metod kan hrledas genom att man serieutvecklar
funktionen $f(x_{0}-\epsilon)$ och trunkerar utvecklingen efter den linera
termen. Ur serieutvecklingen kan man ocks f ett uttryck p
feltermen.

\begin{figure}
 \begin{center}
  \resizebox{!}{35mm}{\includegraphics{nrbild.eps}}
\caption{Figur: Newton-Raphsons metod}
 \end{center}
\label{bild}
\end{figure}



\subsection{Exempel}

Ekvationen $e^{-x} = \sin(x)$ har en rot nra 0.6. Bestm denna rot med
Newton-Raphsons metod.
   Hr r $f(x) = e^{-x}-\sin(x), f'(x) = -e^{-x}-\cos(x)$. Om vi rknar
med 9 decimaler s fr vi:

      x             & f(x)             & f'(x)            & f(x)/f'(x) 		\\
      0.6           & -0.015830837     & -1.374147251     & 0.011510481 	\\
      0.588479519   & 0.000073820      & -1.386956425     & -0.000053224 	\\
      0.588532743   & 0.000000001      & -1.386897331     & -0.000000001 	\\
      0.588532744   &								\\

dvs $\alpha = 0.588532744$.



\subsection{Konvergens}

Newton-Raphsons metod konvergerar i allmnhet \emph{kvadratiskt} mot den
skta roten, vilket innebr att antalet korrekta siffror i svaret
frdubblas i varje iteration. Men det finns fall d konvergensen
blir smre eller d metoden inte alls konvergerar, nmligen d man
rkar ut fr en derivata som r nra noll. Tv sdana fall illustreras
i figur 2.

\begin{figure}
 \begin{center}
  \resizebox{!}{50mm}{\includegraphics{konvbild.eps}}
\caption{Figur: Konvergensproblem}
 \end{center}
\label{bild}
\end{figure}



\section{Newton-Raphsons metod i Java}

Det r inte helt enkelt att implementera Newton-Raphsons metod i ett
program, tminstone inte om man krver att metoden skall fungera i
alla upptnkliga fall.  I metoden \textsf{solve} som visas nedan finns bara
den grundlggande algoritmen med: vi har inte tagit hnsyn till
undantagsfall som finns eller fel som kan intrffa, till exempel
att derivatan fprim(x0) blir nra noll (se avsnitt 2.3).

\begin{verbatim}

class NewtonRaphson {
	private static double f(double x) {
		return ...;
	}
	
	private static double fprim(double x) {
		return ...;
	}
	
	public static double solve(double x0, double eps) {
		double x1 = x0;
		do {
			x0 = x1;
			x1 = x0 - f(x0) / fprim(x0);
		} while (Math.abs(x1 - x0) > Math.abs(x1) * eps);
		return x1;
	}
}
\end{verbatim}
\end{document}                  % Slut p dokumentet