Användare:Bjorne/LANA: Skillnad mellan sidversioner

Från Slackopedia
m Användare:Bjorne/Temp flyttad till Användare:Bjorne/LANA
gagh!
 
(En mellanliggande sidversion av samma användare visas inte)
Rad 49: Rad 49:
Ofta mer effektiv än Newtons metod.
Ofta mer effektiv än Newtons metod.


=== ODE ===
== ODE ==
 
Det finns ''enstegs-'' och ''tvåstegsmetoder''. Man använder testproblemet:
 
<math>\begin{cases}y' = \lambda y \\ y(0) = y_0\end{cases}</math>
 
denna har exakt lösning <math>y(t) = y_0 \exp{\lambda t}</math>, osv. Om <math>\Re(\lambda) \le 0</math> är metoden stabil.
 
=== Euler ===
 
==== Framåt ====
 
<math>y_{k+1} = y_k + h \cdot f(t_k, y_k)</math>
 
==== Bakåt ====
 
<math>y_{k+1} = y_k + h \cdot f(t_{k+1}, y_{k+1})</math>
 
==== Mittpunktsmetoden ====
 
<math>y_{k+1} = y_{k-1} + 2hf(t_k, y_k)</math>
 
=== Trapetsmetoden ===
 
<math>y_{k+1} = y_k + {h \over 2} ( f(t_k, y_k) + f(t_{k+1}, y_{k+1}))</math>

Nuvarande version från 28 maj 2006 kl. 14.06

Denna sida innehåller saker som jag tycker kan vara bra att ha nedskrivna och som är smidiga att ha på en wiki.

Iterativa metoder

Allmänt: <math> \lim_{k \to \infty} \frac{|x_{k+1} - x^*|}{|x_k - x^*|^q} = C < \infty</math>. <math>q</math> kallas konvergensordning och <math>C</math> kallas asymptotisk felkonstant.

Intervallhalvering

Välj två startvärden med kravet <math>{f(a) \over f(b)} < 0</math>, d.v.s. <math>f</math> har olika tecken i de olika punkterna.

while ((b - a) > tol) do
 m = a + (b - a)/2
 if sign(f(a)) = sign(f(m)) then
  a = m
 else
  b = m
 end
end

Fixpunktsiteration

Iterativa algoritmer på formen <math>x_{k+1} = g(x_k)</math> kallas fixpunktsiterationer eller funktionsiterationer. Konvergerar för <math>|g'(x)| < 1</math>, med linjär konvergenshastighet. För <math>|g'(x)| = 0</math>, kvadratisk. Divergens annars.


Newtons metod

En variabel

Newtons metod:

<math>x_{k+1} = x_k - {f(x_k) \over f'(x_k)}</math>

Newtons metod har kvadratisk konvergens för enkelrötter resp. linjär för multipelrötter.

Flera variabler

<math>\mathbf{x}_{k+1} = \mathbf{x}_k + \mathbf{s}_k, \quad \mathbf{J}(\mathbf{x}_k)\mathbf{s}_k = - \mathbf{f}(\mathbf{x}_k)</math>

Lokalt konvergent. Kvadratisk konvergensordning vid reguljär rot. Dämpad; lägg till <math>\alpha_k</math> som koefficient framför <math>\mathbf{s}_k</math> i första högerledet, <math>\alpha_k</math> kallas steglängd.

Finns kvasi-Newton, i syfte att slippa beräkna Jacobianen. Man ersätter den med approximation <math>\mathbf{B}_k</math>.

Sekantmetoden

<math>x_{k+1} = x_k - {f(x_k)(x_k - x_{k-1}) \over \left( f(x_k) - f(x_{k-1}) \right)}</math>

Konvergerar superlinjärt, dvs <math>1 < r \approx 1.618 < 2</math>

Ofta mer effektiv än Newtons metod.

ODE

Det finns enstegs- och tvåstegsmetoder. Man använder testproblemet:

<math>\begin{cases}y' = \lambda y \\ y(0) = y_0\end{cases}</math>

denna har exakt lösning <math>y(t) = y_0 \exp{\lambda t}</math>, osv. Om <math>\Re(\lambda) \le 0</math> är metoden stabil.

Euler

Framåt

<math>y_{k+1} = y_k + h \cdot f(t_k, y_k)</math>

Bakåt

<math>y_{k+1} = y_k + h \cdot f(t_{k+1}, y_{k+1})</math>

Mittpunktsmetoden

<math>y_{k+1} = y_{k-1} + 2hf(t_k, y_k)</math>

Trapetsmetoden

<math>y_{k+1} = y_k + {h \over 2} ( f(t_k, y_k) + f(t_{k+1}, y_{k+1}))</math>