programowanie w vba
DESCRIPTION
Programowanie w VBA. Metody numeryczne część 1. Rozwiązywanie układów równań liniowych. Krztyna teorii. Układ równań liniowych niejednorodnych: x – niewiadoma a i b – współczynniki wyliczane lub uzyskiwane doświadczalnie. Krztyna teorii c.d. - PowerPoint PPT PresentationTRANSCRIPT
ProgramowanieProgramowaniew VBAw VBA
Metody numeryczne część 3.Metody numeryczne część 3.
Całkowanie metodą Eulera i Simpsona.Całkowanie metodą Eulera i Simpsona.
Krztyna teoriiKrztyna teorii
Dana jest funkcja f(x).
Jeśli jest ona ciągła w przedziale [a,b] i znana jest funkcja F(x) spełniająca warunek: F’(x)=dF(x)/dx=f(x) to całkę oznaczoną oblicza się ze wzoru:
Jeżeli funkcja F(x) nie istnieje lub jest zbyt trudna do wyznaczenia metodami analitycznymi, można do obliczenia całki oznaczonej użyć metody numerycznej. Potrzebne są do tego wartości w punktach funkcji lub wyznaczone takie wartości w wyniku eksperymentu.
b
a
aFbFdxxf )()()(
Całka i kwadraturaCałka i kwadratura
a b
X
Y
Całkowanie numeryczne (kwadratura numeryczna) – obliczenie przybliżonej wartości całki przez sumowanie pól tworzących przybliżony obszar całkowania pod krzywą funkcji. Im większa ilość tych podpól (pionowych "pasków" o szerokości Δx), tym dokładniejsze oszacowanie całki – przy nieskończonej ilości równo rozmieszczonych pól jest to po prostu dokładny obszar całki, taki jak ze wzoru na całkę oznaczoną (czyli suma pól o nieskończenie małej szerokości - dx).
Metoda Newtona-CotesaMetoda Newtona-Cotesa
Polega na podzieleniu zakresu całkowania [a,b] na n równych odcinków h ( h=Δx=(b-a)/n ), gdzie miejsca podziału są nazywane "węzłami" interpolacji (xi). Następnie zliczamy pola kolejnych obszarów ze wspólnego wzoru, znając wartości funkcji w węzłach (lub licząc je na potrzeby całkowania numerycznego). Dokładność wyznaczenia całki zależy od ilości podziałów, a także od tego, ilu węzłów użyjemy do obliczenia pola pojedynczego podpola.
Metoda prostokątówMetoda prostokątów
a (x
i)
b
X
Y
xi+
1 (x
i+h)
xi
+2
xi
+3
xi+h/
2
Metoda polega na obliczeniu sumy pól prostokątów utworzonych przez odcinek między węzłami xi i xi+1 i wysokość w połowie tego odcinka:
P = ΣPi = h∙Σf(xi+h/2)
Metoda prostokątówMetoda prostokątów
a (x
i)
b
X
Y
xi+h/
2
a (x
i)
b
X
Y
xi+
1 (x
i+h)
xi+h/
2
Metoda trapezów (Eulera)Metoda trapezów (Eulera)Metoda polega na obliczeniu sumy pól
trapezów utworzonych przez węzły xi i xi+1 oraz wartości w punktach xi i xi+1:
P = ΣPi = h/2∙Σ(f(xi)+f(xi+1))
a (x
i)
b
X
Y
xi+
1 (x
i+h)
xi
+2
xi
+3
Metoda trapezów (Eulera)Metoda trapezów (Eulera)
a (x
i)
b
X
Y
a (x
i)
b
X
Y
xi+
1 (x
i+h)
Metoda parabol (Simpsona)Metoda parabol (Simpsona)Metoda polega na obliczeniu sumy pól
pod parabolami utworzonymi na trzech kolejnych węzłach xi, xi+1 i xi+2:
P = ΣPi = h/3∙Σ(f(xi)+4∙f(xi+1)+f(xi+2))
a (x
i)
b
X
Y
xi+
1 (x
i+h)
xi
+2
xi
+3
Metoda parabol (Simpsona)Metoda parabol (Simpsona)
a (x
i)
b
X
Y
Nie da się z dwóch węzłów
a (x
i)
b
X
Y
xi+
1 (x
i+h)
WzoryWzoryMetoda prostokątów:P = ΣPi = h∙Σf(xi+h/2)Metoda Eulera:P = ΣPi = h/2∙Σ(f(xi)+f(xi+1))
→ h/2∙((f(a)+f(b))+2∙Σf(xi))Metoda Simpsona:P = ΣPi = h/3∙Σ(f(xi)+4∙f(xi+1)+f(xi+2))→ h/3∙((f(a)+f(b))+4∙Σf(xśrodkowe)+2∙Σf(xzewnętrzne))
Podobieństwo wzorów nie jest przypadkowe: wszystkie są zbudowane na członach wielomianu Lagrange'a (ogólna metoda Newtona-Cotesa).
Dokładność a potrzebaDokładność a potrzeba
Jakiej dokładności rzeczywiście trzeba?
d = 8,6 kmd = 8,6 km
O = 27 kmO = 27 km
Obliczenia inżynierskie:ε = 3mm / 27km → 7 cyfr
znaczących
Obliczenia teoretyczne:ε = ułamki J vs. dziesiątki MJ →→ 8-9 cyfr znaczących
Błędy oszacowaniaBłędy oszacowania
• Im mniejsze zakresy (odległości między węzłami), więc im więcej podziałów – tym dokładniejszy wynik;
• Z powyższego wynika, że im równiejszy podział, tym lepiej (równe podprzedziały);
• Im wyższego stopnia wielomian przybliża całkę wielomianu wyższego stopnia, tym dokładniejszy wynik (zasadniczo metoda Simpsona jest lepsza od Eulera) – dla danej liczby podziałów i kryterium zbieżności;
• Im mniejsza krzywizna funkcji, tym dokładniejszy wynik przy danej liczbie podziałów;