Historia interfejsu graficznego systemu Microsoft Windows

advertisement
Zastosowanie
informatyki w elektrotechnice
Politechnika Białostocka - Wydział Elektryczny
Elektrotechnika, semestr V, studia niestacjonarne
Rok akademicki 2006/2007
Wykład nr 5 (19.01.2007)
dr inż. Jarosław Forenc
Zastosowanie informatyki w elektrotechnice
Wykład nr 5
dr inż. Jarosław Forenc
Plan wykładu nr 5
„
Stan ustalony i nieustalony obwodu elektrycznego
„
Metody analizy stanów nieustalonych układów elektrycznych:
„
†
metoda klasyczna
†
metoda operatorowa
†
metoda zmiennych stanu
Metoda zmiennych stanu
2/74
Zastosowanie informatyki w elektrotechnice
Wykład nr 5
dr inż. Jarosław Forenc
3/74
Stan ustalony i nieustalony obwodu elektrycznego
Stan ustalony:
†
†
†
układy elektryczne zazwyczaj pracują w tzw. stanie ustalonym - taki stan pracy
występuje w chwili czasu nieskończenie odległej od momentu jego powstania
Definicja: „W przypadku układów liniowych w stanie ustalonym, jeśli
wymuszenia mają charakter stały, sinusoidalny lub okresowy,
to odpowiedzi mają także taki sam charakter”
powyższa definicja stanu ustalonego nie jest na ogół prawdziwa w przypadku
układów parametrycznych i nieliniowych
Komutacja:
†
jeśli w obwodzie w chwili t = t0 (lub t = 0) zachodzą zmiany dotyczące:
ƒ
ƒ
parametrów źródeł
modyfikacji jego struktury
ƒ
wartości elementów obwodu
to w obwodzie występuje zjawisko nazywane komutacją
†
komutacja stanowi zaburzenie względem stanu obwodu występującego przed
czasem t = t0
Zastosowanie informatyki w elektrotechnice
Wykład nr 5
dr inż. Jarosław Forenc
4/74
Stan ustalony i nieustalony obwodu elektrycznego
Stan nieustalony:
†
†
†
po komutacji, napięcia i prądy w obwodzie nie osiągają natychmiast wartości
ustalonych, ale dopiero po pewnym czasie
zjawiska występujące w tym czasie w obwodzie nazywane są stanem
nieustalonym
obwód znajduje się w stanie nieustalonym przy przejściu od jednego stanu
ustalonego do drugiego
Warunki początkowe:
†
†
stan obwodu w chwili, w której następuje komutacja (t = t0 lub t = 0), nazywany
jest stanem początkowym, zaś wartości napięć na elementach i prądów płynących
przez elementy obwodu - warunkami początkowymi
jeśli wszystkie powyższe napięcia i prądy mają wartości równe zeru, to warunki
początkowe nazywane są zerowymi, w przeciwnym przypadku mamy niezerowe
warunki początkowe
Zastosowanie informatyki w elektrotechnice
Wykład nr 5
dr inż. Jarosław Forenc
5/74
Stan ustalony i nieustalony obwodu elektrycznego
Prawa komutacji:
†
†
†
występowanie stanu nieustalonego związane jest ze zmianami w czasie energii
pola magnetycznego i elektrycznego magazynowanej w elementach L, M i C
energia ta nie może zmieniać się w sposób skokowy, gdyż moc chwilowa
w obwodzie osiągnęłaby wtedy wartość nieskończoną, co jest fizycznie
niemożliwe
wynika z tego:
ƒ
zasada ciągłości w chwili komutacji strumienia ψ skojarzonego z cewką, równoważna
zasadzie ciągłości prądu elektrycznego płynącego przez cewkę:
ψ (0 − ) = ψ (0 + )
ƒ
(1)
zasada ciągłości ładunku elektrycznego kondensatora, równoważna zasadzie ciągłości
napięcia na jego zaciskach:
q (0 − ) = q (0 + )
†
iL ( 0 − ) = iL ( 0 + )
uC ( 0 − ) = uC ( 0 + )
powyższe dwie zasady nazywane są prawami komutacji
(2)
Zastosowanie informatyki w elektrotechnice
Wykład nr 5
dr inż. Jarosław Forenc
6/74
Metody analizy stanów nieustalonych
†
†
w analizie stanów nieustalonych w obwodach elektrycznych stosowane są:
ƒ
metody numeryczne:
- stosowane do analizy układów wysokiego rzędu i/lub układów nieliniowych,
- umożliwiają efektywne rozwiązywanie wielu problemów dynamiki, lecz otrzymywane
wyniki analizy nie mają postaci jawnych wzorów analitycznych
ƒ
metody analityczne:
- stosowane do obwodów liniowych niskich rzędów
- pozwalają na otrzymanie wyników analizy w postaci jawnych wzorów,
co umożliwia badanie wpływu parametrów obwodu na jego dynamikę
przeprowadzenie analizy stanu nieustalonego zazwyczaj wymaga wykonania
trzech kroków:
ƒ
ƒ
ƒ
określenia równań różniczkowych lub różniczkowo-całkowych opisujących obwód
na podstawie praw Kirchhoffa i równań definicyjnych elementów R, L, M i C
określenia warunków komutacji
rozwiązania otrzymanych równań różniczkowych stosując jedną z poniższych metod:
- metodę klasyczną
- metody operatorowe
- metodę zmiennych stanu
Zastosowanie informatyki w elektrotechnice
Wykład nr 5
dr inż. Jarosław Forenc
7/74
Metoda klasyczna analizy stanów nieustalonych
Opis metody:
†
†
†
metoda klasyczna analizy stanów nieustalonych polega na rozwiązywaniu równań
różniczkowych przy zastosowaniu metod typowo matematycznych
znając parametry obwodu można napisać dla niego równania napięciowe,
zgodnie z drugim prawem Kichhoffa, oraz równania prądowe, zgodnie
z pierwszym prawem Kirchhoffa
otrzymuje się w ten sposób układ równań różniczkowych lub różniczkowocałkowych - w ogólnym przypadku jest to niejednorodne równanie różniczkowe
liniowe n-tego rzędu o stałych współczynnikach:
d n x(t )
d n −1 x(t )
dx(t )
+
a
+
L
+
a
+ a0 x(t ) = f (t )
1
n −1
n
n −1
dt
dt
dt
gdzie:
- współczynniki an-1,...,a1,a0 zawierają parametry obwodu R, L, C i M
- x(t) jest niewiadomą funkcją (odpowiedzią układu) określającą najczęściej
wybrany prąd lub napięcie
- f(t) jest wymuszeniem będącym najczęściej źródłem napięcia lub prądu
(3)
Zastosowanie informatyki w elektrotechnice
Wykład nr 5
dr inż. Jarosław Forenc
8/74
Metoda klasyczna analizy stanów nieustalonych
Opis metody:
†
jeśli dla równania (3) określony jest warunek początkowy:
x0 = x(t 0 ), t 0 ∈ 0, ∞ )
(4)
to równanie to ma zawsze jednoznaczne rozwiązanie
†
na podstawie teorii równań różniczkowych liniowych rozwiązanie ogólne równania
(3) można przedstawić w postaci sumy algebraicznej dwóch składowych:
x(t ) = x p (t ) + xu (t )
(5)
gdzie: xp(t) - całka ogólna równania jednorodnego nazywana składową przejściową lub
swobodną (opisuje stan nieustalony obwodu), xu(t) - całka szczególna równania (3)
nazywana składową wymuszoną lub ustaloną (opisuje stan ustalony obwodu)
†
składową przejściową określa się rozwiązując równanie jednorodne:
d n x p (t )
dt
†
n
+ an −1
d n −1 x p (t )
dt
n −1
+ L + a1
dx p (t )
dt
+ a0 x p (t ) = 0
całka szczególna xu(t) wyznaczana jest poprzez rozwiązanie obwodu w stanie
ustalonym
(6)
Zastosowanie informatyki w elektrotechnice
Wykład nr 5
dr inż. Jarosław Forenc
9/74
Metoda klasyczna analizy stanów nieustalonych
Przykład (szeregowy obwód RL):
†
szeregowy obwód RL przy wymuszeniu stałym
†
zakładamy zerowe warunki początkowe:
t=0
W
i (0) = iL (0) = 0
†
w chwili t = 0 zamykamy wyłącznik W
†
z II prawa Kirchhoffa:
uR (t ) + uL (t ) = E
R
i(t)
uR(t)
E
Ri (t ) + L
di (t )
=E
dt
u L (t ) = L
†
wartość prądu: i = iu + i p
†
w stanie ustalonym L stanowi zwarcie: iu =
†
składową przejściową otrzymujemy rozwiązując równanie jednorodne:
Ri p + L
di p
dt
E
R
=0
L
uL(t)
di (t )
dt
Zastosowanie informatyki w elektrotechnice
Wykład nr 5
dr inż. Jarosław Forenc
10/74
Metoda klasyczna analizy stanów nieustalonych
Przykład (szeregowy obwód RL):
†
rozwiązanie równania jednorodnego ma postać:
gdzie:
i p = A1e s1t
†
A1 - stała całkowania
s1 - pierwiastek równania charakterystycznego
równanie charakterystyczne:
Ls1 + R = 0
†
s1 = −
stąd po dokonaniu odpowiednich podstawień otrzymujemy:
i = iu + i p
†
†
R
L
R
− t
E
i = + A1e L
R
w celu wyznaczenia stałej A1 korzystamy z warunku początkowego i praw
komutacji dla obwodu z indukcyjnością
w chwili t = 0- prąd i = 0, ponieważ i(0-) = i(0+), to dla t = 0+ powyższe
równanie ma postać:
R
− ⋅0
E
0 = + A1e L
R
0=
E
+ A1
R
A1 = −
E
R
Zastosowanie informatyki w elektrotechnice
Wykład nr 5
dr inż. Jarosław Forenc
11/74
Metoda klasyczna analizy stanów nieustalonych
Przykład (szeregowy obwód RL):
†
prąd w obwodzie:
R
R
− t⎞
E E −Lt E ⎛
i = − e = ⎜⎜1 − e L ⎟⎟
R R
R⎝
⎠
†
napięcie na rezystancji R:
R
− t⎞
⎛
u R = R ⋅ i = E ⎜⎜1 − e L ⎟⎟
⎝
⎠
†
†
napięcie na indukcyjności L:
stała czasowa:
R
R
− t ⎞⎞
− t
di
d ⎛⎜ E ⎛
⎜1 − e L ⎟ ⎟ = Ee L
uL = L = L
⎟⎟
dt
dt ⎜⎝ R ⎜⎝
⎠⎠
τ=
L
R
Zastosowanie informatyki w elektrotechnice
Wykład nr 5
dr inż. Jarosław Forenc
12/74
Metoda klasyczna analizy stanów nieustalonych
Przykład (szeregowy obwód RLC):
†
szeregowy obwód RLC przy wymuszeniu e(t) = E
†
zakładamy zerowe warunki początkowe:
i (0) = 0, uC (0) = 0
†
w chwili t = 0 zamykamy wyłącznik W
†
z II prawa Kirchhoffa:
u R (t ) + u L (t ) + uC (t ) = e(t )
†
duC (t )
= i (t )
dt
u L (t ) = L
di (t )
dt
po uwzględnieniu zależności określających prąd kondensatora i napięcie cewki:
du (t )
u R (t ) = Ri (t ) = RC C
dt
†
iC (t ) = C
di(t )
d ⎛ duC (t ) ⎞
d 2uC (t )
u L (t ) = L
= LC ⎜
⎟ = LC
dt
dt ⎝ dt ⎠
dt 2
otrzymujemy równanie różniczkowe liniowe, niejednorodne, drugiego rzędu
o stałych współczynnikach:
2
LC
duC (t )
d uC (t )
+
+ uC (t ) = e(t ) = E
RC
2
dt
dt
Zastosowanie informatyki w elektrotechnice
Wykład nr 5
dr inż. Jarosław Forenc
13/74
Metoda klasyczna analizy stanów nieustalonych
Przykład (szeregowy obwód RLC):
d 2uC R duC
1
E
+
+
=
u
C
dt 2
L dt
LC
LC
†
dzielimy równanie obustronnie przez LC:
†
napięcie na kondensatorze wynosi: uC = uCu + uCp
†
składowa ustalona: uCu = E
†
składowa przejściowa jest całką ogólną równania jednorodnego drugiego rzędu:
d 2uCp
dt 2
†
+
R duCp
1
+
uCp = 0
L dt
LC
równaniu temu odpowiada równanie charakterystyczne drugiego stopnia:
s2 +
†
R
1
s+
=0
L
LC
pierwiastki równania:
2
s1, 2
R
1
⎛ R ⎞
=−
± ⎜ ⎟ −
= −α ± β
2L
⎝ 2 L ⎠ LC
R
gdzie: α =
2L
2
1
1
⎛ R ⎞
β= ⎜ ⎟ −
= α2 −
LC
⎝ 2 L ⎠ LC
Zastosowanie informatyki w elektrotechnice
Wykład nr 5
dr inż. Jarosław Forenc
14/74
Metoda klasyczna analizy stanów nieustalonych
Przykład (szeregowy obwód RLC):
†
rozwiązanie równania oraz typ zjawisk zachodzących w obwodzie zależny jest od
wartości parametrów R, L i C:
a)
b)
c)
R>2
R=2
R<2
L
C
- ładowanie aperiodyczne (nieokresowe) kondensatora
L
C
- ładowanie aperiodyczne krytyczne (nieokresowe krytyczne)
L
C
- ładowanie oscylacyjne tłumione (sinusoidalne tłumione)
(β jest rzeczywiste, obydwa pierwiastki są rzeczywiste, ujemne)
(β = 0, oba pierwiastki są sobie równe: s1 = s2 = -α)
(β jest liczbą urojoną, β = jω, s1 = -α + jω, s2 = -α - jω)
Zastosowanie informatyki w elektrotechnice
Wykład nr 5
dr inż. Jarosław Forenc
15/74
Metoda klasyczna analizy stanów nieustalonych
Zalety metody klasycznej:
†
†
otrzymane rozwiązanie ma postać wzoru analitycznego
rozkład otrzymanego rozwiązania na składową ustaloną (wymuszoną)
i przejściową (swobodną) umożliwia interpretację fizyczną zjawisk w stanie
nieustalonym
Wady metody klasycznej:
†
†
stosowana jest do układów liniowych niskich rzędów (np. obwody RL, RC, RLC
składające się z jednej gałęzi), gdyż rozwiązanie układów wyższych rzędów przy
jej zastosowaniu jest dość trudne
w przypadku układów nieliniowych umożliwia otrzymanie rozwiązania
analitycznego tylko w nielicznych przypadkach
Zastosowanie informatyki w elektrotechnice
Wykład nr 5
dr inż. Jarosław Forenc
16/74
Metoda operatorowa analizy stanów nieustalonych
Opis metody:
†
†
metoda operatorowa analizy
stanów nieustalonych polega
na algebraizacji równań
różniczkowo-całkowych
opisujących układ za pomocą
przekształcenia Laplace’a
można wyróżnić dwa algorytmy
analizy stanów nieustalonych
w obwodach elektrycznych
metodą operatorową
(rysunek obok)
Algorytm 1
Algorytm 2
Schemat obwodu, wartości
elementów, parametry źródeł,
warunki początkowe
Schemat obwodu, wartości
elementów, parametry źródeł,
warunki początkowe
Określenie równań
różniczkowych obwodu
w oparciu o prawa obwodów
Schemat obwodu
i jego równania
w dziedzinie transformat
Przekształcenie Laplace’a
równań różniczkowych
Rozwiązanie równań
w dziedzinie transformat
Rozwiązanie równań
operatorowych obwodu
Odwrotna transformacja
Laplace’a - obliczenie
przebiegów czasowych
Odwrotna transformacja
Laplace’a - obliczenie
przebiegów czasowych
Zastosowanie informatyki w elektrotechnice
Wykład nr 5
dr inż. Jarosław Forenc
17/74
Metoda operatorowa analizy stanów nieustalonych
Opis metody:
†
przedstawiając schemat obwodu w dziedzinie transformat stosuje się modele
operatorowe elementów obwodu:
ƒ
ƒ
ƒ
†
opis rezystora w dziedzinie czasu i dziedzinie transformat jest taki sam
w przypadku elementów L i C, mających niezerowe warunki początkowe, ich modele
operatorowe uwzględniają te warunki w postaci dodatkowych źródeł napięciowych
lub prądowych
dla cewek sprzężonych magnetycznie w zastępczym schemacie operatorowym pojawiają
się źródła sterowane
w analizie stanów nieustalonych metodą operatorową słuszne są wszystkie
twierdzenia dotyczące analizy obwodów metodą symboliczną:
ƒ
ƒ
ƒ
ƒ
ƒ
zasada połączenia szeregowego i równoległego elementów obwodu
przekształcenia gwiazda-trójkąt i trójkąt-gwiazda
zasada superpozycji
metoda prądów oczkowych i metoda potencjałów węzłowych
twierdzenia Thevenina i twierdzenie Nortona
Zastosowanie informatyki w elektrotechnice
Wykład nr 5
dr inż. Jarosław Forenc
18/74
Metoda operatorowa analizy stanów nieustalonych
Opis metody:
†
oryginały funkcji operatorowych można wyznaczyć kilkoma sposobami:
†
używając tablic transformat i ich oryginałów:
ƒ
†
metodą residuów:
ƒ
†
metoda stosowana dla prostych przykładów, w których transformaty przedstawiane
są w postaci występującej w tablicy transformat i ich oryginałów,
stosowana w przypadkach, gdy transformata ma postać ułamka (funkcji wymiernej),
którego licznik i mianownik są wielomianami zmiennej zespolonej s,
na podstawie wzorów Heaviside’a:
ƒ
metoda stosowana, gdy funkcja operatorowa ma bieguny jednokrotne i można ją
rozłożyć na ułamki proste
Zastosowanie informatyki w elektrotechnice
Wykład nr 5
dr inż. Jarosław Forenc
19/74
Metoda operatorowa analizy stanów nieustalonych
Zalety metody operatorowej:
†
rozwiązanie równań algebraicznych jest pojęciowo prostsze i szybciej prowadzi
do otrzymania wyniku
Wady metody operatorowej:
†
stosowana tylko do układów liniowych, zawierających niewielką liczbę równań
†
nie może być stosowana do układów nieliniowych
†
problemem może być wyznaczenie transformat odwrotnych, gdy opis wymuszeń
określających ich postać jest dowolny
Zastosowanie informatyki w elektrotechnice
Wykład nr 5
dr inż. Jarosław Forenc
20/74
Metoda zmiennych stanu
Opis metody:
†
metoda zmiennych stanu (nazywana także metodą równań stanu lub metodą
przestrzeni stanów) ogólnie polega na:
1. Formułowaniu równań różniczkowych, tzw. równań stanu, będących modelem
matematycznym badanego układu
2. Rozwiązaniu równań stanu:
ƒ
metodami algebry liniowej dla układów liniowych
ƒ
metodami numerycznymi dla układów liniowych i nieliniowych
3. Opcjonalnym określeniu wniosków jakościowych dotyczących otrzymanych
rozwiązań równań stanu
†
metoda zmiennych stanu została pierwotnie sformalizowana w ramach teorii
sterowania, ale od końca lat 50-tych jest powszechnie stosowana w teorii
obwodów elektrycznych, szczególnie w analizie układów nieliniowych
Zastosowanie informatyki w elektrotechnice
Wykład nr 5
dr inż. Jarosław Forenc
21/74
Metoda zmiennych stanu
Stan układu:
†
†
stanem układu (procesu) nazywamy zbiór liniowo niezależnych wielkości
x1,x2,...,xn, określających w pełni skutki przeszłych oddziaływań na układ,
który jest wystarczający do wyznaczenia przebiegów chwilowych dowolnych
wielkości w tym układzie dla t > t0, gdy znane są wymuszenia i parametry
tego układu
wielkości wchodzące w skład zbioru x1,x2,...,xn nazywane są zmiennymi stanu
lub współrzędnymi stanu
†
wektor będący zbiorem tych zmiennych nazywany jest wektorem stanu
†
zbiór wszystkich możliwych wartości wektora stanu x(t) tworzy przestrzeń stanów
†
za zmienne stanu można wybrać różne wielkości w układzie:
ƒ
w liniowych obwodach elektrycznych najczęściej za zmienne stanu przyjmuje się
napięcia na kondensatorach i prądy w cewkach
ƒ
w nieliniowych obwodach elektrycznych za zamienne stanu wygodnie jest przyjąć
ładunki na kondensatorach i strumienie skojarzone cewek
Zastosowanie informatyki w elektrotechnice
Wykład nr 5
dr inż. Jarosław Forenc
22/74
Metoda zmiennych stanu
Inna definicja stanu układu:
†
†
stanem układu nazywany jest zbiór funkcji x1(t),x2(t),...,xn(t) pozwalających
określić dynamikę układu dla czasu t ∈ <0,∞), gdzie t0 jest to umownie przyjęty
czas początkowy
przy takiej definicji wektor stanu będzie wektorem x(t) złożonym z funkcji
x1(t),x2(t),...,xn(t)
Zastosowanie informatyki w elektrotechnice
Wykład nr 5
dr inż. Jarosław Forenc
23/74
Metoda zmiennych stanu
Model zmiennych stanu - układy liniowe:
†
modelem opartym na zmiennych stanu nazywamy model opisany następującymi
równaniami różniczkowymi:
dx
= Ax(t ) + Bu (t )
dt
gdzie:
gdzie:
gdzie:
gdzie:
†
†
(7)
x(t) - wektor stanu,
u(t) - wektor wymuszeń,
A - macierz stanu (obwodu, układu) o wymiarze n × n (n - liczba zmiennych stanu),
B - macierz wymuszeń o wymiarze n × m (m - liczba wymuszeń)
równanie (7) nazywane jest równaniem stanu
rozwiązanie powyższego równania wymaga znajomości wektora stanu w chwili
początkowej t0 (znajomości warunków początkowych):
x(t0 ) = x 0
(8)
Zastosowanie informatyki w elektrotechnice
Wykład nr 5
dr inż. Jarosław Forenc
24/74
Metoda zmiennych stanu
Budowa modelu zmiennych stanu układu liniowego:
†
ogólna procedura konstrukcji modelu zmiennych stanu ma następującą postać:
Krok 1:
Wypisanie równań wynikających z wewnętrznej struktury obiektu i praw
fizycznych jego funkcjonowania
ƒ
ƒ
sprecyzowanie założeń upraszczających
prawa fizyki: podstawowe prawa mechaniki, prawa obwodów elektrycznych,
równania bilansu masy i energii
Krok 2:
Wybranie wielkości odgrywających rolę zmiennych stanu
ƒ
ƒ
wybrane wielkości muszą być powiązane ze sobą zależnością różniczkową
wybór ten nie jest jednoznaczny
Krok 3:
Uporządkowanie otrzymanych równań w celu wyróżnienia elementów opisanych
w modelu zmiennych stanu
ƒ
proste przekształcenia algebraiczne
Zastosowanie informatyki w elektrotechnice
Wykład nr 5
dr inż. Jarosław Forenc
25/74
Metoda zmiennych stanu
Przykład (szeregowy obwód RLC):
Krok 1:
†
z II prawa Kirchhoffa, równanie oczka:
u R (t ) + u L (t ) + uC (t ) = e(t )
di (t )
+ uC (t ) = e(t )
dt
duC (t )
†
prąd płynący w oczku: i (t ) = C
dt
Krok 2:
Ri (t ) + L
†
†
zmiennymi stanu analizowanego układu powinny być wielkości fizyczne
jednoznacznie opisujące układ i powiązane ze sobą zależnością różniczkową
za zmienne stanu przyjmuje się prąd w oczku oraz napięcie na kondensatorze
x1 (t ) = i (t ),
†
x2 (t ) = uC (t )
znajomość zmiennych stanu pozwala obliczyć wszystkie pozostałe napięcia
w obwodzie
Zastosowanie informatyki w elektrotechnice
Wykład nr 5
dr inż. Jarosław Forenc
26/74
Metoda zmiennych stanu
Przykład (szeregowy obwód RLC):
Krok 3:
†
porządkujemy równania tak, aby po lewej stronie znaku równości mieć tylko
pochodne wielkości, które zostały wybrane jako zmienne stanu:
di (t )
R
1
1
= − i (t ) − uC (t ) + e(t )
dt
L
L
L
duC (t ) 1
= i (t )
dt
C
†
ostateczna postać równań stanu:
⎡ R
⎡ x&1 ⎤ ⎢− L
⎢ x& ⎥ = ⎢ 1
⎣ 2⎦ ⎢
⎣ C
1⎤
⎡1⎤
− ⎥ ⎡x ⎤ ⎢ ⎥
L ⋅ 1 + L ⋅ e(t )
⎥ ⎢ ⎥ ⎢ ⎥
0 ⎥ ⎣ x2 ⎦ ⎢ 0 ⎥
⎣ ⎦
⎦
dx1 (t )
R
1
1
= − x1 (t ) − x2 (t ) + e(t )
dt
L
L
L
dx2 (t ) 1
= x1 (t )
dt
C
x& (t ) = Ax(t ) + Bu (t )
⎡ R
⎢− L
A=⎢
1
⎢
⎣ C
1⎤
− ⎥
L
⎥
0 ⎥
⎦
⎡1⎤
⎢ ⎥
B = ⎢L⎥
⎢0⎥
⎣ ⎦
⎡x ⎤
x(t ) = ⎢ 1 ⎥
⎣ x2 ⎦
u (t ) = e(t )
Zastosowanie informatyki w elektrotechnice
Wykład nr 5
dr inż. Jarosław Forenc
27/74
Metoda zmiennych stanu
Równanie wyjścia modelu zmiennych stanu:
†
†
równanie stanu opisuje ewolucję zmiennych stanu układu dynamicznego,
natomiast nie daje żadnych informacji na temat sygnałów wydostających się
na zewnątrz modelu
do opisania sygnałów wyjściowych modelu zmiennych stanu służy dodatkowe
równanie, które nazywa się równaniem wyjścia:
y (t ) = Cx(t ) + Du (t )
gdzie: y(t) - wektor wyjść układu,
gdzie: C - macierz wyjścia (odpowiedzi) o wymiarze p × n (p - liczba wyjść),
gdzie: D - macierz przenoszenia (transmisyjna) układu o wymiarze p × m
†
†
budowa równania wyjścia modelu zmiennych stanu polega na swobodnym
wyborze macierzy C oraz macierzy D pod warunkiem, że fizyczna struktura
obiektu nie wprowadza ograniczeń
w tworzonych modelach zakłada się, że D = 0, co oznacza, że wyjście modelu nie
oddziałuje bezpośrednio na wyjście
(9)
Zastosowanie informatyki w elektrotechnice
Wykład nr 5
dr inż. Jarosław Forenc
28/74
Metoda zmiennych stanu
Przykład (obwód RLC):
†
†
R
i
jako zmienne wyjściowe przyjmujemy
prądy w poszczególnych gałęziach
układu: i, iL, iC1, iC2
iC2
iC1
e
C1
uC1
na podstawie pierwszego i drugiego
prawa Kirchhoffa możemy zapisać:
i = C1
duC1
dt
+ iL
e = Ri + uC1
C2
iL
L
duC 2
dt
= iL + j
uC2
uC1 = L
jako zmienne stanu wybieramy prąd iL oraz napięcia uC1, uC2
†
po przekształceniach otrzymujemy równanie stanu i równanie wyjścia:
1
L
1
−
RC1
0
⎡
1⎤
0
− ⎥
L ⎥ ⎡ i ⎤ ⎢⎢
L
⎢ ⎥ ⎢ 1
⎥
0 ⋅ ⎢ uC1 ⎥ +
⎢ RC1
⎥
⎥ ⎢⎣uC 2 ⎥⎦ ⎢
⎢ 0
0 ⎥
⎢⎣
⎥⎦
⎤
0⎥
⎥
⎡e ⎤
0 ⎥⋅⎢ ⎥
⎥ ⎣ j⎦
1⎥
⎥
C2 ⎥⎦
1
⎡
⎡i ⎤ ⎢0 −
R
⎢i ⎥ ⎢
⎢ C1 ⎥ = ⎢− 1 − 1
⎢ iL ⎥ ⎢
R
0
⎢ ⎥ ⎢1
⎣⎢iC 2 ⎦⎥ ⎢ 1
0
⎣
j
diL
+ uC 2
dt
†
⎡ diL ⎤ ⎡
⎢ dt ⎥ ⎢ 0
⎢ du ⎥ ⎢
⎢ C1 ⎥ = ⎢− 1
⎢ dt ⎥ ⎢ C1
⎢ duC 2 ⎥ ⎢ 1
⎢
⎥ ⎢
⎣ dt ⎦ ⎢⎣ C2
C2
⎤
⎡1
0⎥
⎢R
⎥ ⎡⎢ iL ⎤⎥ ⎢ 1
0⎥ ⋅ ⎢uC ⎥ + ⎢
⎥ ⎢ 1 ⎥ ⎢R
0⎥ ⎣uC 2 ⎦ ⎢ 0
⎢0
0⎥⎦
⎣
⎤
0⎥
⎥ ⎡e ⎤
0⎥ ⋅ ⎢ ⎥
⎥ ⎣ j⎦
0⎥
1⎥⎦
Zastosowanie informatyki w elektrotechnice
Wykład nr 5
dr inż. Jarosław Forenc
29/74
Metoda zmiennych stanu
Metoda zmiennych stanu dla układów nieliniowych:
†
nie została wymyślona żadna uniwersalna metoda analizy wszystkich nieliniowych
układów dynamicznych
†
analiza układów nieliniowych jest bardzo trudna
†
zapis równania stanu dla układu nieliniowego:
dx
= f (x(t ), u (t ), t )
dt
†
(10)
zapis równania wyjścia dla układu nieliniowego:
y (t ) = g ( x(t ), u (t ), t )
(11)
Zastosowanie informatyki w elektrotechnice
Wykład nr 5
dr inż. Jarosław Forenc
Metoda zmiennych stanu
Metoda zmiennych stanu w badaniach innych zjawisk:
†
równaniami różniczkowymi (stanu) może być opisywana nie tylko dynamika
układów (obwodów) elektrycznych, ale także:
ƒ
mechanicznych
ƒ
hydraulicznych
ƒ
pneumatycznych
ƒ
biologicznych
ƒ
ekonomicznych
30/74
Zastosowanie informatyki w elektrotechnice
Wykład nr 5
dr inż. Jarosław Forenc
31/74
Metoda zmiennych stanu
Układ mechaniczny:
†
†
†
układ mechaniczny składający się z dwóch ciał o masach odpowiednio m1 i m2
i dwóch sprężyn o współczynnikach sprężystości k1 i k2
na ciało o masie m2 działa siła zewnętrzna f(t)
opory tarcia ciał są proporcjonalne do prędkości, przy czym r1 i r2 są
współczynnikami tarcia odpowiednio ciała o masie m1 i m2
źródło: Kaczorek T., Dzieliński A., Dąbrowski W., Łopatka R.: „Podstawy Teorii
Sterowania”. WNT, Warszawa, 2005.
Zastosowanie informatyki w elektrotechnice
Wykład nr 5
dr inż. Jarosław Forenc
32/74
Metoda zmiennych stanu
Układ mechaniczny:
†
współczynnik sprężystości k:
k=
F
x
gdzie: k - współczynnik sprężystości [N/m]
gdzie: F - siła [N], x - przesunięcie (odkształcenie) [m]
†
współczynnik tarcia r:
r=
T
N
gdzie: r - współczynnik tarcia (wielkość niemianowana), T - siła tarcia posuwistego [N],
gdzie: N - siła dociskająca trące powierzchnie [N]
†
oznaczmy zmienne stanu:
ƒ
ƒ
ƒ
ƒ
x1
x2
x3
x4
-
współrzędna określająca położenie(*) ciała o masie m1
prędkość ciała o masie m1 (x2 = x1)
współrzędna określająca położenie(*) ciała o masie m2
prędkość ciała o masie m2 (x4 = x3)
.
.
(*)
- przemieszczenie od
położenia równowagi
Zastosowanie informatyki w elektrotechnice
Wykład nr 5
dr inż. Jarosław Forenc
33/74
Metoda zmiennych stanu
Układ mechaniczny:
†
biorąc pod uwagę siły działające na poszczególne ciała na podstawie drugiego
prawa Newtona możemy zapisać równania:
m1 x& 2 + r1 x2 + k1 x1 + k 2 ( x1 − x3 ) = 0
m2 x& 4 + r2 x4 + k 2 ( x3 − x1 ) = f (t )
†
po prostych przekształceniach otrzymujemy układ 4 równań:
x&1 = x2
x& 2 = −
k
r
k1 + k 2
x1 − 1 x2 + 2 x3
m1
m1
m1
x&3 = x4
k
k
r
1
x& 4 = 2 x1 − 2 x3 − 2 x4 +
f (t )
m2
m2
m2
m2
Zastosowanie informatyki w elektrotechnice
Wykład nr 5
dr inż. Jarosław Forenc
34/74
Metoda zmiennych stanu
Układ mechaniczny:
†
postać macierzowa równania stanu:
x& (t ) = Ax(t ) + Bu (t )
⎡ 0
⎡ x&1 ⎤ ⎢ k1 + k 2
⎢ x& ⎥ ⎢−
m1
⎢ 2⎥ = ⎢
⎢ x&3 ⎥ ⎢ 0
⎢ ⎥ ⎢ k2
⎣ x&4 ⎦ ⎢ m
2
⎣
1
r
− 1
m1
0
0
0
k2
m1
0
k
− 2
m2
0 ⎤
⎡ 0 ⎤
⎥ ⎡ x1 ⎤ ⎢ ⎥
0 ⎥ ⎢ ⎥
0 ⎥
x
⎢
2
⋅ f (t )
⎥⋅⎢ ⎥ +
1 ⎥ ⎢ x3 ⎥ ⎢ 0 ⎥
⎢ 1 ⎥
r
− 2 ⎥ ⎢⎣ x4 ⎥⎦ ⎢ ⎥
⎣ m2 ⎦
m2 ⎥⎦
gdzie:
⎡ 0
⎢ k1 + k 2
⎢− m
1
A=⎢
0
⎢
⎢ k2
⎢⎣ m2
1
r
− 1
m1
0
0
0
k2
m1
0
k
− 2
m2
0 ⎤
⎥
0 ⎥
⎥
1 ⎥
r
− 2 ⎥
m2 ⎥⎦
⎡ 0 ⎤
⎢ 0 ⎥
⎢ ⎥
B=⎢ 0 ⎥
⎢ 1 ⎥
⎢m ⎥
⎣ 2⎦
Zastosowanie informatyki w elektrotechnice
Wykład nr 5
dr inż. Jarosław Forenc
35/74
Metoda zmiennych stanu
Układ mechaniczny:
†
postać macierzowa równania wyjścia:
y (t ) = Cx(t ) + Du (t )
⎡ x1 ⎤
⎢ ⎥
⎡1 0 0 0 ⎤ ⎢ x 2 ⎥
y=⎢
⎥ ⋅ ⎢x ⎥
0
0
1
0
⎣
⎦ 3
⎢ ⎥
⎣ x4 ⎦
gdzie:
⎡1 0 0 0 ⎤
C=⎢
⎥
⎣0 0 1 0 ⎦
D=0
Zastosowanie informatyki w elektrotechnice
Wykład nr 5
dr inż. Jarosław Forenc
36/74
Metoda zmiennych stanu
Zalety metody zmiennych stanu:
†
†
†
†
†
†
możliwość zastosowania do szerokiej klasy układów, a więc zarówno obwodów
liniowych, jak i nieliniowych oraz niestacjonarnych; w odniesieniu do układów
nieliniowych jest w zasadzie jedyną możliwą do stosowania w sposób efektywny
względnie prosta algorytmizacja metod formułowania i rozwiązywania równań
stanu układów o dużej liczbie elementów dynamicznych (L, M, C)
możliwość zastosowania technik komputerowych do analizy dużych układów
elektrycznych
łatwość oprogramowania, mała złożoność obliczeniowa i duża dokładność
algorytmów analizy
bardzo duża liczba metod i algorytmów numerycznych rozwiązywania równań
stanu
możliwość jednoczesnego wyznaczania zmienności w czasie wielkości będących
zmiennymi stanu
Zastosowanie informatyki w elektrotechnice
Wykład nr 5
dr inż. Jarosław Forenc
Metoda zmiennych stanu
Wady metody zmiennych stanu:
†
†
niejednoznaczność opisu za pomocą równań stanu
trudności z formułowaniem równań stanu w przypadku niektórych układów
nieliniowych
37/74
Zastosowanie informatyki w elektrotechnice
Wykład nr 5
dr inż. Jarosław Forenc
38/74
Metoda zmiennych stanu
Metoda rozwiązywania równań stanu:
†
†
metody numeryczne: (dzisiaj !!!)
ƒ
ponieważ równanie stanu jest to układ równań różniczkowych zwyczajnych pierwszego
rzędu, więc metody te są to metody rozwiązywania tzw. zagadnień początkowych
równań różniczkowych zwyczajnych
ƒ
metody numeryczne mogą być stosowane do rozwiązywania liniowych i nieliniowych
równań stanu dowolnego rzędu
metody algebry liniowej: (następny wykład !!!)
ƒ
ƒ
mogą być stosowane do układów liniowych niskich rzędów
w przypadku ogólnym rozwiązanie równania:
x& (t ) = Ax(t ) + Bu (t )
ma postać:
x(t ) = e
ƒ
ƒ
A ( t −t0 )
(12)
t
x 0 + ∫ e A ( t −τ ) Bu (τ )dτ
0
podstawowym problemem jest w tym przypadku obliczenia macierzy eAt
do obliczenia macierzy eAt stosowane jest m.in. rozwinięcie w szereg nieskończony,
metoda przekształcenia Laplace’a, wzór interpolacyjny Sylvestera, rozwinięcie w szereg
skończony, metoda wektorów własnych
(13)
Zastosowanie informatyki w elektrotechnice
Wykład nr 5
dr inż. Jarosław Forenc
39/74
Metody numeryczne rozwiązywania równań stanu
Wstęp:
†
Metody numeryczne rozwiązywania równań stanu są to metody rozwiązywania
układów równań różniczkowych zwyczajnych (ang. ODEs - Ordinary Differential
Equations) o postaci:
x&1 = f1 ( x1 , x2 , K , xN , t )
x&2 = f 2 ( x1 , x2 , K , xN , t )
L
x& N = f N ( x1 , x2 , K , xN , t )
(14)
z zadanym warunkiem początkowym w punkcie t0:
x1 (t0 ) = x10 ,
†
x2 (t0 ) = x20 , K,
xN (t0 ) = xN 0
przedstawiając metody numeryczne ograniczymy się tylko do jednego
równania, gdyż upraszcza to znacznie zapis i jest powszechnie stosowaną
praktyką w literaturze
(15)
Zastosowanie informatyki w elektrotechnice
Wykład nr 5
dr inż. Jarosław Forenc
40/74
Metody numeryczne rozwiązywania równań stanu
Wstęp:
†
rozwiązywane jest zatem równanie:
dx
= f ( x, t ), a ≤ t ≤ b, x(a) = x0
dt
(16)
gdzie x0 jest znanym warunkiem początkowym w punkcie a = t0
†
zakładając, że:
ƒ
funkcja f(x,t) jest określona i ciągła w obszarze a ≤ t ≤ b, -∞ < x < ∞, gdzie a i b są
skończone
ƒ
istnieje stała L > 0 taka, że dla każdego t ∈ <a,b> i dowolnych liczb x1 i x2 zachodzi
nierówność (warunek Lipschitza):
f ( x1 , t ) − f ( x2 , t ) ≤ L x1 − x2
to można udowodnić, że w przedziale <a,b> istnieje dokładnie jedna funkcja
ciągła różniczkowalna x(t) spełniająca równanie (16) z danym warunkiem
początkowym
(17)
Zastosowanie informatyki w elektrotechnice
Wykład nr 5
dr inż. Jarosław Forenc
41/74
Metody numeryczne rozwiązywania równań stanu
Wstęp:
†
†
†
†
numeryczne rozwiązanie równania (16) przy zadanym warunku początkowym
nazywane jest także numerycznym rozwiązaniem zagadnienia początkowego
(ang. IVP - Initial Value Problem) lub numerycznym całkowaniem zagadnienia
początkowego
ogólna idea numerycznego całkowania zagadnienia początkowego jest
następująca: rozpoczynając od znanej wartości x0 w punkcie t0 przechodzimy
przez cały przedział <a,b> obliczając wartości przybliżone rozwiązania
dokładnego w wybranych punktach, t1,t2,t3,...
aż do osiągnięcia końca przedziału
obliczenie wartości przybliżonej xn+1
w kolejnym punkcie tn+1 nazywane
jest jednym krokiem obliczeń
sposób obliczenia wartości przybliżonej
xn+1 w kolejnym punkcie tn+1 (wyrażony
najczęściej wzorem) w jednym kroku
nazywany jest metodą numeryczną
Zastosowanie informatyki w elektrotechnice
Wykład nr 5
dr inż. Jarosław Forenc
42/74
Metody numeryczne rozwiązywania równań stanu
Krok całkowania:
†
†
†
odległość pomiędzy dwoma kolejnymi punktami tn,tn+1, n = 0,1,2,... nazywana
jest długością kroku całkowania i oznaczana przez hn
jeśli odległości pomiędzy wszystkimi punktami tn,tn+1 są takie same (h = const.),
to mówimy, że obliczenia wykonywane są ze stałą długością kroku całkowania
jeśli zaś odległości te zmieniają się,
to mamy obliczenia ze zmienną
długością kroku całkowania
Zastosowanie informatyki w elektrotechnice
Wykład nr 5
dr inż. Jarosław Forenc
43/74
Metody numeryczne rozwiązywania równań stanu
Metody jednokrokowe i metody wielokrokowe:
†
†
†
†
do obliczenia wartości przybliżenia xn+1 w punkcie tn+1 wykorzystywane są
przybliżenia obliczone we wcześniejszych punktach
jeśli do wykonania jednego kroku obliczeń wykorzystywane jest tylko jedno
przybliżenie z poprzedniego kroku, to mówimy, że metoda numeryczna jest
metodą jednokrokową (ang. onestep method)
oznacza to, że do obliczenia x1 wykorzystujemy warunek początkowy x0,
do obliczenia x2 - uprzednio obliczoną
wartość x1, do obliczenia x3 - wartość x2,
do obliczenia x4 - wartość x3, itd.
przykłady:
ƒ
metoda Eulera
xn +1 = xn + h ⋅ f ( xn , tn )
(18)
Zastosowanie informatyki w elektrotechnice
Wykład nr 5
dr inż. Jarosław Forenc
44/74
Metody numeryczne rozwiązywania równań stanu
Metody jednokrokowe i metody wielokrokowe:
†
w przypadku, gdy do wykonania jednego kroku obliczeń wykorzystywanych
jest klika przybliżeń z poprzednich kroków, to metodę taką nazywamy
metodą wielokrokową (ang. multistep method)
†
jeśli będzie to k przybliżeń, to mówimy, że jest to metoda k-krokowa
†
przykłady:
ƒ
dwukrokowa metoda Adamsa-Bashfortha:
xn +1 = xn + h ⋅ [3 f ( xn , tn ) − f ( xn −1 , tn −1 )] / 2 (19)
ƒ
trzykrokowa metoda wstecznego
różniczkowania:
xn +1 = −3xn / 2 + 3 xn −1 −
− xn − 2 / 2 + h ⋅ 3 f ( xn , t n )
(20)
Zastosowanie informatyki w elektrotechnice
Wykład nr 5
dr inż. Jarosław Forenc
45/74
Metody numeryczne rozwiązywania równań stanu
Metody jawne i niejawne:
†
†
metody, w których podany wzór pozwala od razu wyznaczyć wartość xn+1
nazywane są metodami jawnymi, ekstrapolacyjnymi lub otwartymi
(ang. explicit methods)
przykład:
ƒ
trzykrokowa jawna metoda Adamsa-Bashfortha:
xn +1 = xn + h ⋅ [23 f ( xn , t n ) − 16 f ( xn −1 , t n −1 ) + 5 f ( xn − 2 , t n − 2 )] / 12
†
†
(21)
metody, w których obliczenie xn+1 wymaga dodatkowo rozwiązania nieliniowego
równania algebraicznego (prawa strona wzoru metody zawiera zmienne
występujące po lewej stronie), nazywane są metodami niejawnymi,
interpolacyjnymi lub zamkniętymi (ang. implicit methods)
przykład:
ƒ
dwukrokowa niejawna metoda Adamsa-Moultona:
xn +1 = xn + h ⋅ [5 f ( xn +1 , t n +1 ) + 8 f ( xn , t n ) − f ( xn −1 , t n −1 )] / 12
(22)
Zastosowanie informatyki w elektrotechnice
Wykład nr 5
dr inż. Jarosław Forenc
46/74
Metody numeryczne rozwiązywania równań stanu
Metody predyktor-korektor:
†
†
praktyczną realizacją metod wielokrokowych niejawnych są tzw. metody
predyktor-korektor (ang. predictor-corrector methods)
metody tego typu składają się z dwóch etapów:
ƒ
pierwszy etap obliczeń nazywany jest predykcją, następuje w nim obliczenie przybliżenia
początkowego za pomocą metody jawnej
ƒ
drugi etap obliczeń nazywany jest korekcją, następuje w nim wykonanie kilku iteracji za
pomocą metody niejawnej (najczęściej jest to od 1 do 3 iteracji)
Zastosowanie informatyki w elektrotechnice
Wykład nr 5
dr inż. Jarosław Forenc
47/74
Metody jednokrokowe - metoda Taylora
†
†
metoda Taylora (metoda rozwinięcia w szereg Taylora) powstaje poprzez
rozwinięcie rozwiązania dokładnego x(t) w szereg Taylora w otoczeniu punktu
t = tn i obliczeniu rozwinięcia dla t = tn+1
po zastąpieniu rozwiązania dokładnego przez rozwiązanie przybliżone
otrzymujemy wzór ogólny metody Taylora:
xn+1
†
h
h 2 (1)
h p ( p−1)
= xn + f ( xn , t n ) +
f ( xn , t n ) + K +
f
( xn , tn )
1!
2!
p!
(23)
równanie (23) jest często przedstawiane w następującej postaci:
xn +1 = xn + h ⋅ Tp ( xn , tn ; h)
(24)
h (1)
h p −1 ( p −1)
f
( xn , tn )
Tp ( xn , tn ; h) = f ( xn , tn ) + f ( xn , tn ) + K +
2!
p!
(25)
gdzie:
Zastosowanie informatyki w elektrotechnice
Wykład nr 5
dr inż. Jarosław Forenc
48/74
Metody jednokrokowe - metoda Taylora
†
ograniczając liczbę członów rozwinięcia do p otrzymujemy metodę p-tego rzędu
†
dla p = 1 jest to jedna z najprostszych metod - metoda Eulera
xn +1 = xn + h ⋅ f ( xn , tn )
†
przyjmując natomiast p = 2 otrzymujemy metodę Taylora rzędu drugiego, tzw.
ulepszoną metodę Eulera:
h2
xn +1 = xn + h ⋅ f ( xn , t n ) + [ f x ( xn , t n ) f ( xn , t n ) + f t ( xn , t n )]
2
gdzie: fx i ft są pochodnymi cząstkowymi, odpowiednio, po x i t.
†
†
(26)
konieczność obliczania pochodnych cząstkowych jest największą wadą tej metody
i z tego względu metoda Taylora nie jest praktycznie stosowana
zaletą metody Taylora jest prostota i możliwa do osiągnięcia wysoka dokładność
(o ile można obliczyć analitycznie pochodne wysokich rzędów funkcji f)
(27)
Zastosowanie informatyki w elektrotechnice
Wykład nr 5
dr inż. Jarosław Forenc
49/74
Metody jednokrokowe - metoda Eulera
†
†
ekstrapolacyjna metoda Eulera (metoda łamanych) jest najprostszą metodą
całkowania zagadnień początkowych
wykorzystuje ona tylko dwa pierwsze wyrazy rozwinięcia w szereg Taylora:
xn +1 = xn + h ⋅ f ( xn , tn )
†
†
powyższy wzór można otrzymać także w inny sposób, np. poprzez aproksymację
pochodnej w punkcie (tn,xn) za pomocą ilorazu różnicowego (xn+1-xn)/h
w praktyce metoda Eulera jest rzadko stosowana, gdyż:
ƒ
jest bardzo wolno zbieżna
ƒ
otrzymanie dobrej dokładności obliczeń wymaga bardzo małego kroku h
ƒ
zwiększenie liczby kroków powoduje narastanie błędów zaokrągleń
(28)
Zastosowanie informatyki w elektrotechnice
Wykład nr 5
dr inż. Jarosław Forenc
50/74
Metody jednokrokowe - metoda Eulera
Przykład 1:
dx 2
=t
dt
warunek początkowy: t0 = 0,
†
równanie:
†
wzór ogólny metody Eulera: xn +1 = xn + h ⋅ f ( xn , tn )
†
rozwiązanie:
x0 = 1
x1 = x0 + h ⋅ f ( x0 , t0 ) = x0 + h ⋅ t02 = 1,0 + 0,1 ⋅ 0,0 2 = 1,0
t1 = t0 + h = 0,0 + 0,1 = 0,1
x2 = x1 + h ⋅ f ( x1 , t1 ) = x1 + h ⋅ t12 = 1,0 + 0,1 ⋅ 0,12 = 1,0001
t 2 = t1 + h = 0,1 + 0,1 = 0,2
x3 = x2 + h ⋅ f ( x2 , t 2 ) = x2 + h ⋅ t 22 = 1,0001 + 0,1 ⋅ 0,2 2 = 1,0005
t3 = t 2 + h = 0,2 + 0,1 = 0,3
L
krok: h = 0,1
Zastosowanie informatyki w elektrotechnice
Wykład nr 5
dr inż. Jarosław Forenc
51/74
Metody jednokrokowe - metoda Eulera
Przykład 1 - program w języku C (1/2):
/* Name: t2_Euler.cpp
Copyright: Politechnika Białostocka
Author: Jaroslaw Forenc ([email protected])
Date: 26-12-06 10:42
Description: Rozwiązanie równania: dx/dt = t^2, x(0) = 1.0,
*/
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
double
int
FILE
h, tp, tk, x0, t, x, x_new, t_print, delta_t;
print;
*plik = fopen("t2_euler.dat","w+");
h = 1.0e-6;
tp = 0.0;
tk = 2.0;
x0 = 1.0;
print = 200;
fprintf(plik,"%g
/*
/*
/*
/*
/*
krok całkowania */
początek przedziału obliczeń */
koniec przedziału obliczeń */
warunek początkowy */
liczba zapamiętywanych punktów */
%1.7f\n",tp,x0);
Metoda Eulera
Zastosowanie informatyki w elektrotechnice
Wykład nr 5
dr inż. Jarosław Forenc
52/74
Metody jednokrokowe - metoda Eulera
Przykład 1 - program w języku C (2/2):
delta_t = (tk-tp)/print;
t_print = delta_t;
t = tp; x = x0;
do
{
x_new = x + h * (t * t);
x = x_new;
t = t + h;
if (fabs(t-t_print)<h*0.4)
{
fprintf(plik,"%g %1.7f\n",t,x);
t_print = t_print + delta_t;
}
}
while (t<=tk);
fclose(plik);
system("pause");
return 0;
}
dx 2
=t
dt
Zastosowanie informatyki w elektrotechnice
Wykład nr 5
Metody jednokrokowe - metoda Eulera
Przykład (szeregowy obwód RLC):
†
zakładamy zerowe warunki początkowe:
i (0) = 0, uC (0) = 0
†
w chwili t = 0 zamykamy wyłącznik W
†
równania stanu mają postać:
1
1
dx1 (t )
R
= − x1 (t ) − x2 (t ) + e(t )
dt
L
L
L
dx2 (t ) 1
= x1 (t )
dt
C
†
te same równania w zapisie macierzowym:
⎡ R
⎡ x&1 ⎤ ⎢− L
⎢ x& ⎥ = ⎢ 1
⎣ 2⎦ ⎢
⎣ C
1⎤
⎡1⎤
− ⎥ ⎡x ⎤ ⎢ ⎥
L ⋅ 1 + L ⋅ e(t )
⎥ ⎢ ⎥ ⎢ ⎥
0 ⎥ ⎣ x2 ⎦ ⎢ 0 ⎥
⎣ ⎦
⎦
dr inż. Jarosław Forenc
53/74
Zastosowanie informatyki w elektrotechnice
Wykład nr 5
dr inż. Jarosław Forenc
54/74
Metody jednokrokowe - metoda Eulera
Przykład 2 - program w języku C (1/3):
/*
Name: RLC_Euler.cpp
Copyright: Politechnika Białostocka
Author: Jaroslaw Forenc ([email protected])
Date: 26-12-06 10:42
Description: Rozwiązanie układu równań:
dx1/dt = -(R/L)x1(t) - (1/L)x2 + (1/L)e(t)
dx2/dt = (1/C)x1(t)
x1(0) = 0
x2(0) = 0
dla L = 1.0e-3 [H], C = 1.0e-6 [F] --> Rk = 63.24555 [Om]
Metoda Eulera
*/
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
double
double
double
int
FILE
h, tp, tk, t, t_print, delta_t;
x1_0, x2_0, x1, x2, x1_new, x2_new;
R, L, C, E;
print;
*plik = fopen("rlc_euler.dat","w+");
Zastosowanie informatyki w elektrotechnice
Wykład nr 5
Metody jednokrokowe - metoda Eulera
Przykład 2 - program w języku C (2/3):
h = 1.0e-8;
tp = 0.0;
tk = 1.0e-3;
print = 1000;
/*
/*
/*
/*
x1_0 = 0;
x2_0 = 0;
/* warunek początkowy dla x1 */
/* warunek początkowy dla x2 */
R
L
C
E
/*
/*
/*
/*
=
=
=
=
100.0;
1.0e-3;
1.0e-6;
10;
fprintf(plik,"%g
%1.7f
delta_t = (tk-tp)/print;
t_print = delta_t;
t = tp;
x1 = x1_0;
x2 = x2_0;
krok całkowania */
początek przedziału obliczeń */
koniec przedziału obliczeń */
liczba zapamiętywanych punktów */
rezystancja [Om] */
indukcyjność [H] */
pojemność [F] */
napięcie źródła [V] */
%1.7f\n",tp,x1_0,x2_0);
dr inż. Jarosław Forenc
55/74
Zastosowanie informatyki w elektrotechnice
Wykład nr 5
dr inż. Jarosław Forenc
56/74
Metody jednokrokowe - metoda Eulera
Przykład 2 - program w języku C (3/3):
do
{
x1_new = x1 + h * (-(R/L)*x1 - (1/L)*x2 + (1/L)*E);
x2_new = x2 + h * ((1/C)*x1);
x1 = x1_new;
x2 = x2_new;
t = t + h;
if (fabs(t-t_print)<h*0.4)
{
fprintf(plik,"%g %1.7f %1.7f\n",t,x1,x2);
t_print = t_print + delta_t;
}
}
while (t<=tk);
fclose(plik);
system("pause");
return 0;
}
x&1 (t ) = −
x&2 (t ) =
R
1
1
x1 (t ) − x2 (t ) + e(t )
L
L
L
1
x1 (t )
C
Zastosowanie informatyki w elektrotechnice
Wykład nr 5
dr inż. Jarosław Forenc
57/74
Metody jednokrokowe - metody Rungego-Kutty
†
metody Rungego-Kutty powstają z rozwinięcia w szereg Taylora, poprzez
zastąpienie Tp(xn,tn;h) z równania (25) inną funkcją Kp(xn,tn;h):
ƒ
ƒ
†
dla której nie jest wymagana znajomość pochodnych cząstkowych f(x,t)
która zapewni ten sam rząd wartości błędu odcięcia co odpowiedni algorytm Taylora
metody Rungego-Kutty określane są wzorem ogólnym:
p
xn +1 = xn + ∑ wi ki
i =1
i −1
k1 = h ⋅ f ( xn , t n ), ki = h ⋅ f ( xn + ∑ aij k j , t n + ci h) dla i > 1
j =1
gdzie:
p - rząd metody Rungego-Kutty (p ≥ 1)
wi, aij, ci - odpowiednie współczynniki liczbowe
†
powyższe współczynniki liczbowe mogą być określane w różny sposób,
toteż istnieją różne metody Rungego-Kutty tego samego rzędu
(29)
Zastosowanie informatyki w elektrotechnice
Wykład nr 5
dr inż. Jarosław Forenc
58/74
Metody jednokrokowe - metody Rungego-Kutty
†
dla p = 1 otrzymujemy metodę Eulera określoną wzorem:
xn +1 = xn + h ⋅ f ( xn , tn )
†
(30)
dla p = 2 otrzymujemy metodę drugiego rzędu (metodę Heuna, zmodyfikowany
algorytm trapezów):
k1 = h ⋅ f ( xn , tn )
k 2 = h ⋅ f ( xn + k1 , t n + h)
(31)
xn+1 = xn + (k1 + k 2 ) / 2
†
dla p = 3 otrzymujemy metodę trzeciego rzędu:
k1 = h ⋅ f ( xn , tn )
k2 = h ⋅ f ( xn + k1 / 2, tn + h / 2)
k3 = h ⋅ f ( xn − k1 + 2k2 , tn + h)
xn +1 = xn + (k1 + 4k2 + k3 ) / 6
(32)
Zastosowanie informatyki w elektrotechnice
Wykład nr 5
dr inż. Jarosław Forenc
59/74
Metody jednokrokowe - metody Rungego-Kutty
†
dla p = 4 otrzymujemy najpopularniejszą i najczęściej stosowaną metodę
Rungego-Kutty - metodę czwartego rzędu (RK4):
k1 = h ⋅ f ( xn , t n )
k 2 = h ⋅ f ( xn + k1 / 2, t n + h / 2)
k3 = h ⋅ f ( xn + k 2 / 2, t n + h / 2)
k 4 = h ⋅ f ( xn + k 3 , t n + h )
xn+1 = xn + (k1 + 2k 2 + 2k3 + k 4 ) / 6
†
†
†
(33)
metoda ta zapewnia dobrą dokładność obliczeń przy stosunkowo dużych
wartościach kroku h
wadą tej metody jest konieczność czterokrotnego obliczania wartości funkcji f(x,t)
w czasie każdego kroku, dodatkowo wartości te nie są wykorzystywane w żadnych
następnych obliczeniach
wzór (33) jest klasycznym wzorem metody Rungego-Kutty czwartego rzędu oprócz niego można spotkać także inne wzory metody tego samego rzędu,
np. wzór „trzech ósmych”, Gilla, Ralstona
Zastosowanie informatyki w elektrotechnice
Wykład nr 5
dr inż. Jarosław Forenc
60/74
Metody jednokrokowe - metody Rungego-Kutty
k1 = h ⋅ f ( xn , tn )
k2 = h ⋅ f ( xn + k1 / 3, tn + h / 3)
†
wzór „trzech ósmych”:
k3 = h ⋅ f ( xn − k1 / 3 + k2 , tn + 2h / 3)
(34)
k4 = h ⋅ f ( xn + k1 − k2 + k3 , tn + h)
xn +1 = xn + (k1 + 3k2 + 3k3 + k 4 ) / 8
k1 = h ⋅ f ( xn , tn )
k2 = h ⋅ f ( xn + k1 / 2, tn + h / 2)
†
wzór Gilla:
k3 = h ⋅ f ( xn + ( 2 − 1)k1 / 2 + (1 − 1 / 2 )k2 , tn + h / 2)
(35)
k4 = h ⋅ f ( xn − (1 / 2 )k2 + (1 + 1 / 2 )k3 , tn + h)
xn +1 = xn + (k1 + 2 ⋅ (1 − 1 / 2 )k2 + 2 ⋅ (1 + 1 / 2 )k3 + k4 ) / 6
k1 = h ⋅ f ( xn , t n )
†
wzór Ralstona:
k 2 = h ⋅ f ( xn + 0.4 ⋅ k1 , t n + 0.4 ⋅ h)
k3 = h ⋅ f ( xn + 0.29697760 ⋅ k1 + 0.15875966 ⋅ k 2 , t n + 0.45573726 ⋅ h)
k 4 = h ⋅ f ( xn + 0.21810038 ⋅ k1 − 3.0509647 ⋅ k 2 + 3.83286432 ⋅ k3 , t n + h)
xn +1 = xn + (0.17476028 ⋅ k1 − 0.55148053 ⋅ k 2 + 1.20553547 ⋅ k3 + 0.17118478 ⋅ k 4 )
(36)
Zastosowanie informatyki w elektrotechnice
Wykład nr 5
dr inż. Jarosław Forenc
61/74
Metody jednokrokowe - metody Rungego-Kutty
Przykład 1 - fragmenty programów w języku C:
/* Metoda Eulera */
/* Metoda RK4 */
do
{
do
{
x_new = x + h*(t*t);
x = x_new;
t = t + h;
k1
k2
k3
k4
/* ... */
x_new = x + (k1+2*k2+2*k3+k4)/6;
}
while (t<=tk);
=
=
=
=
h*(t*t);
h*((t+h/2)*(t+h/2));
h*((t+h/2)*(t+h/2));
h*((t+h)*(t+h));
x = x_new;
t = t + h;
/* ... */
Metoda RK4:
k1 = h ⋅ f ( xn , t n )
k 2 = h ⋅ f ( xn + k1 / 2, t n + h / 2)
k3 = h ⋅ f ( xn + k 2 / 2, t n + h / 2)
k 4 = h ⋅ f ( xn + k 3 , t n + h )
xn+1 = xn + (k1 + 2k 2 + 2k3 + k 4 ) / 6
}
while (t<=tk);
Metoda Eulera:
xn +1 = xn + h ⋅ f ( xn , tn )
Zastosowanie informatyki w elektrotechnice
Wykład nr 5
dr inż. Jarosław Forenc
62/74
Metody jednokrokowe - metody Rungego-Kutty
Przykład 2 - fragment programu w języku C:
do
{
k11 = h * (-(R/L)*x1 - (1/L)*x2 + (1/L)*E);
k12 = h * ((1/C)*x1);
k21 = h * (-(R/L)*(x1+k11/2) - (1/L)*(x2+k12/2) + (1/L)*E);
k22 = h * ((1/C)*(x1+k11/2));
k31 = h * (-(R/L)*(x1+k21/2) - (1/L)*(x2+k22/2) + (1/L)*E);
k32 = h * ((1/C)*(x1+k21/2));
k41 = h * (-(R/L)*(x1+k31) - (1/L)*(x2+k32) + (1/L)*E);
k42 = h * ((1/C)*(x1+k31));
x1_new = x1 + (k11 + 2*k21 + 2*k31 + k41)/6;
x2_new = x2 + (k12 + 2*k22 + 2*k32 + k42)/6;
x1 = x1_new;
x2 = x2_new;
t = t + h;
/* ... */
}
while (t<=tk);
x&1 (t ) = −
x&2 (t ) =
R
1
1
x1 (t ) − x2 (t ) + e(t )
L
L
L
1
x1 (t )
C
Zastosowanie informatyki w elektrotechnice
Wykład nr 5
dr inż. Jarosław Forenc
63/74
Metody jednokrokowe - metody Rungego-Kutty
Przykład 2 - program w języku C - uniwersalny (1/6):
/* Name: RLC_RK4_Uniw.cpp
Copyright: Politechnika Białostocka
Author: Jaroslaw Forenc ([email protected])
Date: 26-12-06 10:42
Description: Rozwiązanie układu równań:
dx1/dt = -(R/L)x1(t) - (1/L)x2 + (1/L)e(t)
x1(0) = 0
dx2/dt = (1/C)x1(t)
x2(0) = 0
Metoda RK4 (Program uniwersalny)
dla L = 1.0e-3 [H], C = 1.0e-6 [F] --> Rk = 63.24555 [Om]
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#define
N
2
/* liczba równań
*/
/* Struktura przechowująca wyniki obliczeń */
typedef struct IterationStruct
{
double T;
/* T - krok czasowy */
double D[N];
/* D – dane
*/
} ITERATION;
/* Parametry ukladu */
double R, L, C, Em;
*/
Zastosowanie informatyki w elektrotechnice
Wykład nr 5
dr inż. Jarosław Forenc
64/74
Metody jednokrokowe - metody Rungego-Kutty
Przykład 2 - program w języku C - uniwersalny (2/6):
/*
Funkcje wymuszające
double e1(double t)
{
return Em;
}
*/
/* wymuszenie stale */
double e2(double t) /* wymuszenie sinusoidalne */
{
return Em*sin(2*3.13*5000*t);
}
double
{
if
if
if
if
}
e3(double t) /* impuls prostokątny */
(t>=0 && t<2.5e-5) return (Em/2.5e-5)*t;
(t>=2.5e-5 && t<2.25e-4) return Em;
(t>=22.5e-5 && t<25e-5) return (-Em/2.5e-5)*t+10*Em;
(t>25e-5) return 0;
Zastosowanie informatyki w elektrotechnice
Wykład nr 5
dr inż. Jarosław Forenc
Metody jednokrokowe - metody Rungego-Kutty
Przykład 2 - program w języku C - uniwersalny (3/6):
/* Określenie warunków początkowych */
void InitialConditions(ITERATION* X0)
{
X0->T=0.0;
X0->D[0]=0.0;
X0->D[1]=0.0;
}
/* Funkcja prawej strony równania */
void Function(ITERATION* DX, ITERATION X, double t)
{
DX->D[0] = -(R/L)*X.D[0] - (1/L)*X.D[1] + (1/L)*e3(t);
DX->D[1] = (1/C)*X.D[0];
}
/* Mnożenie macierzy przez liczbę */
void Mul(ITERATION* X, double K, int StatesNumber)
{
for (int i=0; i<StatesNumber; i++)
X->D[i] = X->D[i] * K;
}
65/74
Zastosowanie informatyki w elektrotechnice
Wykład nr 5
dr inż. Jarosław Forenc
66/74
Metody jednokrokowe - metody Rungego-Kutty
Przykład 2 - program w języku C - uniwersalny (4/6):
/* Funkcja realizująca jeden krok metody RK4 - zwraca nową wartość X w punkcie t_old+h */
void RKMethodStep(ITERATION* X, double* OldTime, double H, int StatesNumber)
{
ITERATION
X1, K1, K2, K3, K4;
/* zmienne dla metody RK4 */
double
Time;
/* czas */
int
i;
Function(&K1,*X,*OldTime); Mul(&K1,H,StatesNumber);
Time = *OldTime + H / 2;
for (i=0; i<StatesNumber; i++) X1.D[i] = X->D[i] + K1.D[i] / 2;
Function(&K2,X1,Time); Mul(&K2,H,StatesNumber);
for (i=0; i<StatesNumber; i++) X1.D[i] = X->D[i] + K2.D[i] / 2;
Function(&K3,X1,Time); Mul(&K3,H,StatesNumber);
Time = *OldTime + H;
for (i=0; i<StatesNumber; i++) X1.D[i] = X->D[i] + K3.D[i];
Function(&K4,X1,Time); Mul(&K4,H,StatesNumber);
for (i=0; i<StatesNumber; i++)
X->D[i] = X->D[i] + (K1.D[i] + 2 * K2.D[i] + 2 * K3.D[i] + K4.D[i]) / 6;
*OldTime = X->T = Time;
}
Zastosowanie informatyki w elektrotechnice
Wykład nr 5
dr inż. Jarosław Forenc
Metody jednokrokowe - metody Rungego-Kutty
Przykład 2 - program w języku C - uniwersalny (5/6):
int main ()
{
double
int
ITERATION
h, tp, tk, t, t_print, delta_t;
print;
X;
FILE *plik = fopen("rlc_rk4_uniw.dat","w+");
h = 1.0e-8;
tp = 0.0;
tk = 1.0e-3;
print = 1000;
/*
/*
/*
/*
krok całkowania */
początek przedziału obliczeń */
koniec przedziału obliczeń */
liczba zapamiętywanych punktów */
R = 100.0;
L = 1.0e-3;
C = 1.0e-6;
Em = 10;
/*
/*
/*
/*
rezystancja [Om] */
indukcyjność [H] */
pojemność [F] */
amplituda źródła napięcia [V] */
delta_t = (tk-tp)/print;
t_print = delta_t;
t = tp;
InitialConditions(&X);
67/74
Zastosowanie informatyki w elektrotechnice
Wykład nr 5
dr inż. Jarosław Forenc
Metody jednokrokowe - metody Rungego-Kutty
Przykład 2 - program w języku C - uniwersalny (5/5):
fprintf(plik,"%g",t);
for (int i=0; i<N; i++)
fprintf(plik," %1.7f",X.D[i]);
fprintf(plik,"\n");
do
{
RKMethodStep(&X,&t,h,N);
if (fabs(t-t_print)<h*0.4)
{
fprintf(plik,"%g",t);
for (int i=0; i<N; i++)
fprintf(plik," %1.7f",X.D[i]);
fprintf(plik,"\n");
t_print = t_print + delta_t;
}
}
while (t<=tk);
system("pause");
fclose(plik);
return 0;
}
68/74
Zastosowanie informatyki w elektrotechnice
Wykład nr 5
dr inż. Jarosław Forenc
69/74
Metody jednokrokowe - metody Rungego-Kutty
Zmienny krok całkowania:
†
†
†
†
zastosowanie zmiennego kroku całkowania wymaga sprawdzenia po każdym
kroku obliczeniowym, czy dla przyjętego kroku h otrzymane rozwiązanie jest
wystarczająco dokładne
najczęściej stosowanym sposobem szacowania błędu
i rozstrzygania o dokładności obliczeń jest ekstrapolacja
nazywana także zasadą Rungego
idea tego sposobu polega na wykonaniu obliczeń
z krokiem h, a następnie wykonaniu dwukrotnie
obliczeń z krokiem h/2 i porównaniu otrzymanych wyników
w takim przypadku oszacowanie błędu ma postać:
R=
gdzie:
xn+1,h/2
xn+1,h
p
(x
n +1, h / 2
p
− xn +1, h )
2 −1
- wartość otrzymana podczas dwukrotnych obliczeń z krokiem h/2
- wartość otrzymana podczas obliczeń z krokiem h
- rząd metody (dla RK4 Æ p = 4)
(37)
Zastosowanie informatyki w elektrotechnice
Wykład nr 5
dr inż. Jarosław Forenc
70/74
Metody jednokrokowe - metody Rungego-Kutty
Zmienny krok całkowania (metoda RK4):
†
w metodzie RK4 (p = 4) oszacowanie błędu ma postać:
R=
†
1
(xn +1,h / 2 − xn +1,h )
15
następnie przyjmujemy kryterium błędu względnego:
R
xmax
gdzie:
†
(38)
< eps
(39)
eps
- założona tolerancją błędu
xmax - największa co do modułu z dotychczas obliczonych wartości rozwiązania
jeśli powyższe kryterium jest spełnione, to długość kroku h jest zaakceptowana
i jako wartość końcową przyjmuje się:
xn +1 =
16 xn +1, h / 2 − xn +1, h
15
(40)
Zastosowanie informatyki w elektrotechnice
Wykład nr 5
dr inż. Jarosław Forenc
71/74
Metody jednokrokowe - metody Rungego-Kutty
Zmienny krok całkowania (metoda RK4):
†
†
†
jeśli stosunek błędu R do xmax jest dużo mniejszy od eps to krok h jest zwiększany
jeśli kryterium błędu nie jest spełnione, to następuje zmniejszenie długości kroku
całkowania i powtórzenie obliczeń dla nowej, odpowiednio mniejszej, wartości h
metoda 1:
ƒ
ƒ
w najprostszym przypadku przy zwiększaniu kroku, jako nowy krok przyjmuje się 2⋅h
zaś przy zmniejszaniu kroku, jako nowy krok przyjmuje się h/2
Zastosowanie informatyki w elektrotechnice
Wykład nr 5
dr inż. Jarosław Forenc
72/74
Metody jednokrokowe - metody Rungego-Kutty-Fehlberga
†
w 1969 r. Fehlberg opracował sposób szacowania błędu realizowany za pomocą
metod włożonych (ang. embedding methods):
ƒ
zaproponował stosowanie metody RK rzędu czwartego, wymagającej obliczania pięciu
wartości funkcji, i metody rzędu piątego, w której trzeba oblicza sześć takich wartości
ƒ
współczynniki obu metod zostały tak dobrane, aby występowały w obu metodach
i zamiast jedenastu współczynników obliczanych jest tylko sześć:
k1 = h ⋅ f ( xn , t n )
k 2 = h ⋅ f ( xn + k1 / 4, t n + h / 4)
k3 = h ⋅ f ( xn + 3k1 / 32 + 9k 2 / 32, t n + 3h / 8)
k 4 = h ⋅ f ( xn + 1932k1 / 2197 − 7200k 2 / 2197 + 7296k3 / 2197, t n + 12h / 13)
(41)
k5 = h ⋅ f ( xn + 439k1 / 216 − 8k 2 + 3680k3 / 513 − 845k 4 / 4104, t n + h)
k 6 = h ⋅ f ( xn − 8k1 / 27 + 2k 2 − 3544k3 / 2565 + 1859k 4 / 4104 − 11k5 / 40, t n + h / 2)
ƒ
otrzymywane są dwa rozwiązania przybliżone - metody RK rzędu czwartego:
1408
2197
1 ⎞
⎛ 25
4)
xn( RK
x
k
k
k
k5 ⎟
=
+
+
+
−
⎜
+1
n
1
3
4
2565
4104
5 ⎠
⎝ 216
(42)
6656
28561
9
2 ⎞
⎛ 16
5)
= xn + ⎜
xn( RK
k1 +
k3 +
k 4 − k5 + k 6 ⎟
+1
12825
56430
50
55 ⎠
⎝ 135
(43)
i metody RK rzędu piątego:
Zastosowanie informatyki w elektrotechnice
Wykład nr 5
dr inż. Jarosław Forenc
73/74
Metody jednokrokowe - metody Rungego-Kutty-Fehlberga
ƒ
różnica rozwiązań przybliżonych, rzędu piątego i czwartego:
5)
4)
R = x (nRK
− x (nRK
=
+1
+1
1
128
2197
1
2
k1 −
k3 −
k 4 + k5 + k 6
360
4275
75240
50
55
(44)
jest błędem rozwiązania przybliżonego rzędu czwartego i może być używana do
sterowania krokiem h
ƒ
jako rozwiązanie przybliżone przyjmuje się rozwiązanie rzędu piątego:
6656
28561
9
2 ⎞
⎛ 16
5)
=
+
+
+
−
+
xn( RK
x
k
k
k
k
k6 ⎟
⎜
+1
n
1
3
4
5
135
12825
56430
50
55
⎝
⎠
†
(45)
para metod włożonych pierwszego i drugiego rzędu:
k1 = h ⋅ f ( xn , t n )
k 2 = h ⋅ f ( xn + k1 / 2, t n + h / 2)
k3 = h ⋅ f ( xn + k1 / 256 + 255k 2 / 256, t n + h)
R = (−k1 + k3 ) / 512
xn +1 = xn + (k1 + 510k 2 + k3 ) / 512
(46)
Zastosowanie informatyki w elektrotechnice
Wykład nr 5
dr inż. Jarosław Forenc
74/74
Metody jednokrokowe - metody Rungego-Kutty-Fehlberga
†
para metod włożonych drugiego i trzeciego rzędu:
k1 = h ⋅ f ( xn , t n )
k 2 = h ⋅ f ( xn + k1 / 4, t n + h / 4)
k3 = h ⋅ f ( xn − 189k1 / 800 + 729k 2 / 800, t n + 27 h / 40)
k 4 = h ⋅ f ( xn + 214k1 / 891 + k 2 / 33 + 650k3 / 891, t n + h)
(47)
R = 23k1 / 1782 − k 2 / 33 + 350k3 / 11583 − k 4 / 78
xn +1 = xn + (533k1 + 1600k3 − 27 k 4 ) / 2106
†
para metod włożonych trzeciego i czwartego rzędu:
k1 = h ⋅ f ( xn , t n )
k 2 = h ⋅ f ( xn + 2k1 / 7, t n + 2h / 7)
k3 = h ⋅ f ( xn + 77 k1 / 900 + 343k 2 / 900, t n + 7h / 15)
k 4 = h ⋅ f ( xn + 805k1 / 1444 − 77175k 2 / 54872 + 97125k3 / 54872, t n + 35h / 38)
k5 = h ⋅ f ( xn + 79k1 / 490 + 2175k3 / 3626 + 2166k 4 / 9065, t n + h)
R = 4k1 / 735 − 75k3 / 3626 + 5776k 4 / 81585 − k5 / 18
xn +1 = xn + 229k1 / 1470 + 1125k3 / 1813 + 13718k 4 / 81585 + k5 / 18
(48)
Download