background image

Visual Basic for Applications

spotkanie 11

Dr inż. Piotr Winiarek

piotrw@ch.pw.edu.pl

GG 30396

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 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

Całkowanie 

numeryczne

metodą Eulera i 

Simpsona

background image

Całka nieoznaczona

Całką nieoznaczoną

 funkcji f(x) nazywamy wyrażenie 

F(x) + C, gdzie F(x) jest funkcją pierwotną funkcji f(x), 
a C jest dowolną stałą.

C

x

F

dx

x

f

)

(

)

(

F(x)

 – funkcja pierwotna

(1)

background image

Funkcja pierwotna

Funkcją pierwotną

 funkcji f(x) w przedziale a<x<b 

nazywamy każdą taką funkcję F(x), której pochodna 
F’(x) równa się danej funkcji f(x) dla każdego x 
z przedziału a<x<b.

)

(

)

(

)

(

'

x

f

dx

x

dF

x

F

(2)

background image

Całka oznaczona

Interpretacja geometryczna:

Całkę oznaczoną oblicza się ze wzoru 

Newtona-Leibniza:

 

)

(

)

(

a

F

b

F

dx

x

f

b

a

(3)

[a,b] – przedział całkowania,

a,b – granice całkowania

background image

Całkowanie

• analityczne

 

– do obliczania całek 

nieoznaczonych i oznaczonych 
(całkowanie przez części i przez 
podstawienie),

• numeryczne

 – jedynie do obliczania 

całek oznaczonych (np. metoda 
Eulera i Simpsona) 

background image

Kwadratura funkcji f(x)

Jeżeli 

funkcja F(x)

:

(1)

 nie istnieje,

(2)

 jest zbyt trudna do wyznaczenia 
sposobami analitycznymi,

(3)

 znane są tylko doświadczalne „punktowe” 
wartości f(x

i

)

0, 1, …, n

,

wtedy 

wartość całki oznaczonej oblicza się 

numerycznie – KWADRATURA FUNKCJI 
f(x)

 – np. 

metoda Eulera i metoda 

Simpsona

.

background image

Metoda Eulera (metoda trapezów)


podprzedziałów
,

pole każdego 
podprzedziału 
przybliża się 
polem trapezu

background image

Pole trapezu

h

b

a

P

2

j

j

j

j

x

x

y

y

P

1

1

2

a

b

h

background image

Metoda Eulera (metoda trapezów)

)

(

2

)

(

)

(

)

(

1

1

1

j

j

j

j

x

x

j

x

x

x

f

x

f

dx

x

f

I

j

j

Wartość całki oznaczonej w podprzedziale 

[x

j

, x

j+1

]

j=0, 1, 2, …, n-1

:

W przedziale [a, b]:

1

0

1

1

1

0

)

(

2

)

(

)

(

)

(

n

j

j

j

j

j

b

a

n

j

j

x

x

x

f

x

f

I

dx

x

f

(4)

(5)

background image

Metoda Eulera (metoda trapezów)

W przypadku takich samych szerokości podprzedziałów:

const

n

a

b

x

x

x

j

j

1

Równanie (5) upraszcza się:





b

a

n

j

j

x

x

f

b

f

a

f

dx

x

f

1

1

)

(

2

)

(

)

(

)

(

(6)

(7)

background image

Błąd oszacowania całki

Błąd

 numerycznego szacowania całki 

oznaczonej w przedziale [a, b]:

(1) 

maleje

 w miarę wzrostu n,

(2) 

rośnie

 w miarę wzrostu krzywizny 

funkcji.

Najkorzystniejszy jest podział na równe 

podprzedziały.

background image

Metoda Simpsona

2n podprzedziałów, grupuje się je parami, 
każda para zawiera 3 węzły

background image

Równanie paraboli

Funkcję f(x) w przedziale [x

a

, x

c

] 

aproksymuje się parabolą.

Równanie paraboli

 przechodzącej przez 3 

węzły:

2

2

1

0

)

(

)

(

b

b

x

x

c

x

x

c

c

y

(8)

background image

Równanie paraboli – współczynniki c

0

, c

1

c

2

2

2

1

0

2

2

1

0

0

)

(

)

(

)

(

)

(

b

c

b

c

c

b

a

b

a

a

b

x

x

c

x

x

c

c

y

x

x

c

x

x

c

c

y

c

y

Współczynniki c

0

, c

1

 i c

2

 są rozwiązaniem 

układu równań:

(9)

background image

Równanie paraboli – współczynniki c

0

, c

1

c

2

Po przekształceniu:

 

 

 



 





 





 





2

2

2

2

2

2

2

1

0

b

a

b

c

b

c

b

a

b

c

b

a

b

a

b

c

b

a

b

c

b

c

b

a

b

c

b

a

b

a

b

c

b

x

x

x

x

x

x

x

x

y

y

x

x

y

y

x

x

c

x

x

x

x

x

x

x

x

y

y

x

x

y

y

x

x

c

y

c

(10
)

background image

Całka funkcji w przedziale 

[x

a

x

c

]

 

 

3

3

2

2

2

1

0

2

2

1

0

3

2

b

a

b

c

b

a

b

c

a

c

x

x

b

b

j

x

x

x

x

c

x

x

x

x

c

x

x

c

dx

x

x

c

x

x

c

c

I

c

a

(11
)

background image

Całka funkcji w przedziale 

[a, b]

Przybliżoną wartość całki

 w przedziale [a, b] 

oblicza się 

sumując udziały

:

 

n

j

j

b

a

I

dx

x

f

1

(12
)

background image

Podprzedziały o identycznej szerokości

W przypadku 

podprzedziałów o 

identycznej szerokości

:

const

n

a

b

x

x

x

j

j

2

1

Wzory 

(11) 

i

 (12)

 

upraszczają się

:

(13
)

(14
)

(15
)

 

 

 

 

 

 

 

 





b

a

n

j

j

n

j

j

c

b

a

j

x

f

x

f

b

f

a

f

n

a

b

dx

x

f

x

f

x

f

x

f

x

I

1

2

1

2

2

1

1

2

2

4

6

4

3

background image

Obliczenia:

• założyć liczbę podprzedziałów

 (n – metoda 

Eulera, 2n – metoda Simpsona),

• obliczyć x

 – wzór (6) lub (13):

metoda Eulera (trapezów):

metoda Simpsona:

const

n

a

b

x

x

x

j

j

1

(6)

const

n

a

b

x

x

x

j

j

2

1

(13
)

background image

Obliczenia c.d.:

• oszacować wartość całki

 – wzór (7) 

lub (15):





b

a

n

j

j

x

x

f

b

f

a

f

dx

x

f

1

1

)

(

2

)

(

)

(

)

(

(7)

metoda Eulera (trapezów):

metoda Simpsona:

(15
)

 

   

 

 





b

a

n

j

j

n

j

j

x

f

x

f

b

f

a

f

n

a

b

dx

x

f

1

2

1

2

2

1

1

2

2

4

6

background image

Obliczenia c.d.:

• zwiększyć wartość n

 (np. podwoić),

• powtarzać obliczenia

, aż 2 kolejne 

oszacowania całki będą w granicach 

założonego błędu identyczne

background image

dziękuję z uwagę


Document Outline