vba spotkanie 10

background image

Visual Basic for Applications

spotkanie 8

Dr inż. Piotr Winiarek

piotrw@ch.pw.edu.pl

GG 30396

background image

Najczęściej spotykane

problemy matematyczne

Metody numeryczne i ich

zastosowanie do:

• Rozwiązywania równań nieliniowych
• Rozwiązywania układów równań
• Całkowania numerycznego
Narzędzia w Excelu:
• Szukaj wyniku
• Solver
• Analiza danych
• Funkcje macierzowe

background image

Rozwiązywanie

równań

nieliniowych

background image

Wyznaczanie pierwiastków równań

nieliniowych

Ogólna postać
równania:

 

0

x

f

f(x) – funkcja
ciągła w
otoczeniu
szukanego
pierwiastka.

Metody algebraiczne

– służą do

wyznaczania pierwiastków niewielkiej
grupy równań.

Przybliżone wartości większości
pierwiastków wyznacza się

metodami

numerycznymi

.

background image

Metoda bisekcji (połowienia

przedziału)

Metoda opierająca się na

twierdzeniu

Bolzano-Cauchy’ego

:

Jeżeli funkcja ciągła f(x) ma na końcach
przedziału domkniętego wartości różnych
znaków, to wewnątrz tego przedziału,
istnieje co najmniej jeden pierwiastek
równania f(x)=0.

background image

Rys.1 Metoda bisekcji

f(a) ∙ f(x) < 0

f(a) ∙ f(x) > 0

background image

Sposób postępowania

• oblicza się wartości funkcji na krańcach

przedziału: f(a) i f(b). Warunek konieczny:

f(a)∙f(b)<0

,

• jako pierwsze przybliżenie przyjmuje się

środek przedziału

:

i oblicza wartość funkcji f(x

i

). Jeżeli

f(x

i

)≈0

,

tzn. |f(x

i

)|<

y

,

wtedy pierwiastek x = x

i

.

1

2

i

b

a

x

i

background image

Sposób postępowania c.d.

• jeżeli

warunek |f(x

i

)|<

y

, nie został

spełniony

, sprawdza się nierówność:

Jeżeli jest ona

prawdziwa

pierwiastek x

znajduje się

w przedziale [a, x

i

]

, w

przeciwnym wypadku – w przedziale [x

i

, b]

   

0

i

x

f

a

f

background image

Sposób postępowania c.d.

• w przypadku, gdy pierwiastek nie został

znaleziony,

zawęża się

odpowiednio

przedział [a, b]

i powtarza obliczenia, aż

szerokość przedziału stanie się mniejsza od
założonego błędu:

x

a

b

background image

Zastosowania

funkcja f(x) jest w przedziale [a, b]

ciągła

,

ma w tym przedziale tylko

jeden pierwiastek

Metodę bisekcji

można stosować gdy:

background image

BŁĘDY ZAOKRĄGLEŃ

dokładność

zapamiętania

liczby

(VBA: 15-16 cyfr rozwinięcia
dziesiętnego)

wynik

zapamiętany

z błędem

kumulacj

a błędu

n

(złożone obliczenia wartości
funkcji)

background image

Zad.1 Wyznaczyć pierwiastek równania

x

3

-

x+1=0

w przedziale

[-2, 2]

.

-30

-20

-10

0

10

20

30

-4

-3

-2

-1

0

1

2

3

4

x

f(

x)

background image

Zad.1 c.d.

• wartości funkcji na końcach przedziału:

f(-2) = -5, f(2) = 7

,

• dzielimy przedział na pół:

x

1

= (-2+2)/2

i obliczamy

f(x

1

) = 1,

f(x

1

) ≠ 0

=> algorytm jest kontynuowany,

• dwa nowe przedziały:

[-2, 0]

i

[0, 2]

,

• wybieramy ten przedział, na którego końcach znaki funkcji są

różne:

f(-2)∙f(0)=-5∙1=-5 < 0

=> różne znaki funkcji

f(0)∙f(2)=1∙7=7 > 0

=> te same znaki funkcji

pierwiastek leży w przedziale

[-2, 0]

,

• ponownie dzielimy przedział na połowy:

x

2

= (-2+0)/2=-1

i

obliczamy wartość funkcji dla x

2

:

f(x

2

) = 1, f(x

1

) ≠ 0

=>

algorytm jest kontynuowany,

• dzielimy przedział

[-2, 0]

na dwa podprzedziały, wybieramy

jeden z nich itd. …

background image

Rys.2 Interpolacja liniowa

f(a) ∙ f(x) < 0

f(a) ∙ f(x) > 0

background image

Interpolacja liniowa

     

,...

2

,

1

i

a

f

b

f

a

b

b

f

b

x

i

Algorytm jest praktycznie taki sam jak
opisany wcześniej.

Przybliżenie pierwiastka

(pierwsze i

kolejne) – wartość uzyskana

metodą

interpolacji liniowej

.

background image

Metoda Newtona (metoda

stycznych)

Równanie stycznej w
punkcie (x

0

, y

0

):

f(x)-f(x

0

)=f’(x

0

)∙(x-x

0

)

W metodzie Newtona korzystamy
dodatkowo z

pochodnej funkcji f’(x)

.

Metoda Newtona jest

szybciej

zbieżna

od metody interpolacji

liniowej i metody bisekcji.

background image

Rys.3 Metoda Newtona

background image

Sposób postępowania

• należy podać

wartość początkową

pierwiastka (x

0

),

• zależność

między wartością funkcji i jej pochodnej

w punkcie startowym:

stąd

pierwsze przybliżenie pierwiastka

:

 

 

1

0

0

0

'

x

x

x

f

x

f

 

 

0

0

0

1

' x

f

x

f

x

x

background image

Sposób postępowania c.d.

• x

1

-pierwsze przybliżenie pierwiastka-jest punktem

startowym

następnej iteracji,

• algorytm polega na

cyklicznym powtarzaniu

kolejnego przybliżenia pierwiastka

według

uogólnionego wzoru:

 

 

n

n

n

n

x

f

x

f

x

x

'

1

background image

Sposób postępowania c.d.

• koniec iteracji

– gdy wartość bezwzględna różnicy

między dwoma kolejnymi przybliżeniami stanie się

mniejsza od założonej wartości błędu:

x

n

n

x

x

1

background image

Ograniczenia:

• pierwsza i druga pochodna (

f’(x) i f’’(x)

) nie mogą

zmieniać znaków w dostatecznie dużym otoczeniu

pierwiastka,

• w punkcie startowym

musi być spełniona

nierówność:

   

0

'

0

0

x

f

x

f

background image

Reguła falsi

background image

Idea reguły falsi

Punkt przecięcia siecznej z osią
odciętych jest n+1 przybliżeniem
pierwiastka.

 

 

1

1

1

1

n

n

n

n

n

n

x

x

x

f

x

x

x

f

     

1

1

1

n

n

n

n

n

n

n

x

f

x

f

x

x

x

f

x

x

background image

Podsumowanie

• nie istnieje uniwersalna metoda

wyznaczania

pierwiastków równań nieliniowych,

• każda metoda umożliwia oszacowanie

wartości pierwiastka z założonym błędem,

• kluczowe są

: dobór przedziału lub punktu

startowego, kroku x oraz błędów 

x

i 

y

.

background image

Układy równań

liniowych

niejednorodnych

background image

Układ n równań liniowych

x

1

, …, x

n

– zbiór (wektor) niewiadomych,

a

ij

– współczynniki układu,

b

i

– wyrazy wolne



n

n

nn

j

nj

n

n

i

n

in

j

ij

i

i

n

n

j

j

n

n

j

j

b

x

a

x

a

x

a

x

a

b

x

a

x

a

x

a

x

a

b

x

a

x

a

x

a

x

a

b

x

a

x

a

x

a

x

a

...

...

...

...

...

...

2

2

1

1

2

2

1

1

2

2

2

2

22

1

21

1

1

1

2

12

1

11

(1)

background image

Układ równań liniowych

jednorodnych

i

niejednorodnych



0

...

0

...

0

...

2

2

1

1

2

2

22

1

21

1

2

12

1

11

n

nn

n

n

n

n

n

n

x

a

x

a

x

a

x

a

x

a

x

a

x

a

x

a

x

a

Wszystkie
wyrazy wolne
tego układu są

równe zero

.

(1)

Układ równań liniowych jednorodnych:

(2)

Układ równań liniowych niejednorodnych:



n

n

nn

n

n

n

n

n

n

b

x

a

x

a

x

a

b

x

a

x

a

x

a

b

x

a

x

a

x

a

...

...

...

2

2

1

1

2

2

2

22

1

21

1

1

2

12

1

11

Wyrazy wolne
tego układu

nie

są równe zero

.

background image

Układ równań liniowych niejednorodnych

mn

mj

m

m

in

ij

i

i

n

j

a

a

a

a

a

a

a

a

a

a

a

a

...

...

...

...

...

...

...

..

...

...

...

...

...

...

...

...

...

...

2

1

2

1

1

1

12

11

Tablica A -

macierz
współczynników
układów równań

macierz
kwadratowa m=n

m

j

x

x

x

...

...

1

m

j

b

b

b

...

...

1

Wektor X –

wektor
rozwiązań

Wektor B –

wektor
wyrazów
wolnych

A =

X =

B =

background image

Macierz rozszerzona (uzupełniona)

układu równań

1

11

11

11

11

1

11

11

11

11

1

11

11

11

11

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

b

a

a

a

a

b

a

a

a

a

b

a

a

a

a

Macierz rozszerzona układu równań –

macierz A’

otrzymana przez dołączenie macierzy B do macierzy

A

A’ =

= [A|B]

background image

Wyznaczniki

nn

ni

n

in

ii

i

n

i

a

a

a

a

a

a

a

a

a

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

1

1

1

1

11

detA =

wyznacznik
macierzy A

detA≠0

warunek istnienia

wektora rozwiązań

układu równań (1),

jeżeli

detA=0

– układ równań (1) jest nieoznaczony

lub sprzeczny

background image

Wyznaczniki c.d.

nn

n

n

in

i

i

n

a

b

a

a

b

a

a

b

a

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

1

1

1

1

11

detA

i

=

Wyznacznik detA

i

– otrzymany przez zastąpienie i-tej

kolumny wyznacznika detA wektorem wyrazów

wolnych

background image

Macierz odwrotna

I

AA

 1

A

-1

– macierz odwrotna,

I

– macierz diagonalna

jednostkowa

macierz diagonalna

jednostkowa

1

0

0

0

1

0

0

0

1

Macierz odwrotna

do macierzy kwadratowej A

istnieje wtedy i tylko wtedy gdy

detA≠0

. Macierz, dla

której nie istnieje macierz odwrotna –

macierz

osobliwa

background image

Algorytmy

algorytmy dokładne

– polegają na wykonaniu

skończonej liczby opisanych działań (zależnej od
liczby równań) w wyniku czego otrzymuje się
rozwiązanie układu równań,

algorytmy iteracyjne

– polegają na wyznaczeniu

kolejnych wektorów rozwiązań przybliżonych i
zakończeniu programu jeśli elementy dwóch
kolejnych przybliżeń będą się różnić mniej niż
założony błąd

background image

Metody

1)

wzory Cramera

2)

macierz odwrotna, równanie

macierzowe,

3)

algorytm Gaussa - Jordana

background image

Metoda 1

- wzory Cramera

Kolejne

elementy wektora X

są równe:

n

i

A

A

x

i

i

,...,

2

,

1

det

det

A

A

x

A

A

x

A

A

x

n

n

det

det

,

,

det

det

,

det

det

2

2

1

1

X = (x

1

, x

2

, …, x

n

)

background image

Metoda 2

- równanie macierzowe

mn

mj

m

m

in

ij

i

i

n

j

a

a

a

a

a

a

a

a

a

a

a

a

...

...

...

...

...

...

...

..

...

...

...

...

...

...

...

...

...

...

2

1

2

1

1

1

12

11

m

j

x

x

x

...

...

1

Układ równań (1) można zapisać
w postaci

równania

macierzowego

:

B

AX

B

A

X

1

m

j

b

b

b

...

...

1

=

·

background image

Metoda 3

– algorytm Gaussa -

Jordana

• elementy i-tego wiersza są dzielone przez element

a

ii

normowanie wiersza głównego

,

• jeżeli

a

ii

=0

, wtedy należy

szukać

„w dół i w prawo”

niezerowego elementu macierzy

. Jeżeli taki element

istnieje (np. w pozycji a

kl

) to należy

zamienić

miejscami wiersz i z wierszem k

oraz ewentualnie

kolumnę i z kolumną l. W wyniku tych operacji w
pozycji a

ii

znajdzie się element niezerowy, można

dalej kontynuować eliminację,

background image

Algorytm Gaussa - Jordana

• po unormowaniu wiersza głównego

eliminuje się

kolumnę główną

przez odejmowanie od kolejnych

wierszy k<>i wiersza głównego odpowiednio
przeskalowanego,

• postępowanie to jest powtarzane do wyeliminowania

wszystkich wierszy lub wszystkich kolumn,

• jeżeli

element niezerowy nie zostanie znaleziony

, to

dalsza eliminacja jest niemożliwa i macierz
pozostanie częściowo niewyeliminowana,

• analiza stanu macierzy po zakończeniu procedury –

umożliwia

wyznaczenie wektora rozwiązań

background image

dziękuję z uwagę


Document Outline


Wyszukiwarka

Podobne podstrony:
Spotkanie 10, 3 Tydzień Biblijny, Prezentacje, UNIWERSYTET BIBLIJNY, II. ROK DRUGI, I. Rok szkolny 2
vba spotkanie7
vba spotkanie11
vba spotkanie9
Spotkanie 10 Dziecko Maryi poznaje drogę do Ojca, Spotkania Dzieci Maryi, Dzieci klas I-III
vba spotkanie7
vba spotkanie11
szczesliwe spotkanie 10
vba spotkanie6
Trwałośc malżeństwa i rodziny zawarta w Zgodzie małżeńskiej SPOTKANIA MAŁŻEŃSKIE 21.04.10, Sem 1, TM
Okładka 10 2009 spotkanie VI, specjalizacja mięso
04C Wyścig szczurów 09-10-2010, KSW Kędzierzyn spotkania, Spotkania i sprawozadnia K-K KSW
05C Żyjemy dzięki rodzinie 08-10-2911(1), KSW Kędzierzyn spotkania, Spotkania i sprawozadnia K-K KSW
0 PROGRAM SPOTKANIA nr 10 dnia 19-21.02.2010 w.3 final, specjalizacja mięso
01B Autorytet odrzucany.. 13-10-2007, KSW Kędzierzyn spotkania, Spotkania i sprawozadnia K-K KSW
do osrodka SSP PROGRAM SPOTKANIA nr 6 23-25.10.2009 wersja, specjalizacja mięso
Trwałośc malżeństwa i rodziny zawarta w Zgodzie małżeńskiej SPOTKANIA MAŁŻEŃSKIE 21.04.10, Sem 1, TM
2012 10 29 Spotkanie wq restauracji to element życia biznesowego

więcej podobnych podstron