background image

Metody numeryczne - ćwiczenia nr 1 

 

1. Napisz komendę powodującą wypisanie na ekranie kwadratów liczb nieparzystych mniejszych od 

10, wykorzystując instrukcje: 

a) Do,  
b) While, 
c) For. 

2.  Zdefiniuj  funkcję  luc[n_]  obliczającą  n  –  ty  wyraz  ciągu  Lucasa,  w  którym 

2

1

+

=

n

n

n

f

f

f

 

oraz 

.

1

,

2

1

0

=

=

f

f

 Oblicz 

.

15

f

 Przedstaw graficznie 15 pierwszych wyrazów tego ciągu. 

3.  RozwiąŜ poprzednie zadanie, wykorzystując procedurę Module. 
4.  UŜywając instrukcji Which zdefiniuj funkcję, której wykres widzisz poniŜej i narysuj taki wykres 

(widoczny łuk jest fragmentem sinusoidy). 

 

-6

-4

-2

2

4

6

-3

-2

-1

1

 

 

5.  Jak  obliczyć,  korzystając  jedynie  z  działań  arytmetycznych,  przybliŜoną  wartość  funkcji 

x

e

x

f

)

(

 

dla  dowolnych  x  rzeczywistych?  Na  wykresie  przedstawić  otrzymaną  funkcję 

),

(x

f

 

x

e oraz 

).

(x

f

e

x

 Napisać odpowiednią procedurę w wyniku, której otrzymamy np.: 

 

1

+

x

+

x

2

2

+

x

3

6

 

-2

-1

1

2

2

4

6

 

 
 

Do[expr, {i, imax}] -

 oblicza expr ze zmienną i od wartości 1 do imax (z krokiem 1)  

Do[expr, {i, imin, imax, di}] -

 z krokiem di 

 
While[war, treść] -

 wykonuje treść, dopóki war jest spełniony  

 
For[start,  test,  instr,  treść]  -  zaczynając  od  wartości  start,  powtarza  wykonanie 
treść i instr aŜ test ma wartość fałsz 
 
Which[test

1

,  value

1

,  test

2

,  value

2

,  …  ]  -

  oblicza  wartość  logiczną  test

i

  i  zwraca 

wartość value

i

, dla której po raz pierwszy wystąpiła równość test

= True.  

background image

Metody numeryczne - ćwiczenia nr 2 

 

1. Obliczyć numerycznie i porównać z dokładnymi wartościami (o ile to jest moŜliwe): 
 

a) 

,

1

1

1

2

=

+

n

n

 

 

b) 

,

1

1

2

=

n

n

 

 

c) 

,

)

!

(

2

)

1

(

0

2

2

=

n

n

n

n

k

 dla 

30

=

k

 (uŜyć opcji NSumTerms, której wartość domyślna to 15), 

 

d) 

1

0

))

(

tg

cos(

1

dx

x

 

(narysować wykres rozpatrywanej funkcji). 

 

 

2.

 

Korzystając  z  funkcji 

FindRoot 

rozwiązać  podane  równania  oraz  układ  równań.  Punkt 

0

x   (dla 

układu 

)

,

(

0

0

y

x

) odczytać z odpowiedniego wykresu. 

 

a)

 

,

0

)

sin(

2

=

x

 

 

b)

 

,

0

2

=

x

e

x

 

 

c)

 

=

+

=

+

,

0

,

1

2

2

y

xe

y

x

x

 (do narysowania wykresu uŜyć funkcji 

ContourPlot

). 

 
3.

 

Korzystając 

polecenia 

FindMinimum

 

wyznaczyć 

minimum 

lokalne 

funkcji 

).

cos

(sin

)

,

(

2

2

10

2

2

y

x

e

y

x

f

y

x

+

=

 Punkt 

)

,

(

0

0

y

x

 odczytać z odpowiedniego wykresu. 

 

4.

 

Stosując  podany  niŜej  algorytm  obliczania  pierwiastka  n  -  tego  stopnia  wyznaczyć 

3   oraz 

3

5  

(zastosować funkcje 

NestList i FixedPoint

). 

 

Działanie algorytmu: 

1.

 

Jako pierwsze przybliŜenie liczby 

n

A

przyjmujemy dowolną liczbę 

,

0

x

 np. 

A

x =

0

.  

2.

 

Za kolejne przybliŜenie przyjmujemy: 

 

.

)

1

(

1

1

1





+

=

+

n

k

k

k

x

A

x

n

n

x

 

 

3.

 

Powtarzamy punkt 2 tak długo, aŜ otrzymamy wymaganą dokładność przybliŜenia.  
 

5.

 

Napisać  procedurę 

pierwiastek[A_,n_,k_], 

na  podstawie,  której  obliczymy  dowolny 

pierwiastek, korzystając z algorytmu opisanego wyŜej (

k

 – ilość iteracji). 

background image

Metody numeryczne - ćwiczenia nr 3 

 

1.

 

Obliczyć wartość całek  

 

=

=

1

0

1

,...,

2

,

1

,

k

dx

e

x

I

x

k

k

 

 
stosując  wzór  rekurencyjny 

.

1

,

/

1

1

1

=

=

k

k

kI

I

e

I

  Wykonać  obliczenia  dla  k  =  1,  2,  …,  20. 

Otrzymane wyniki porównać z dokładną wartością i przedstawić w postaci tabeli np.: 
 

k

całka

iteracje

1

0.3678794412

0.367879

2

0.2642411177

0.264241

3

0.2072766470

0.207277

4

0.1708934119

0.170893

5

0.1455329406

0.145533

6

0.1268023566

0.126802

7

0.1123835041

0.112384

8

0.1009319674

0.100932

9

0.09161229299

0.0916123

10

0.08387707010

0.0838771

 

                                                     ………..…………………………………. 

 

2.

 

Zastosuj dwa algorytmy obliczania wartości funkcji 

.

cos

1

)

(

2

x

x

x

f

=

 Pierwszy według podanego 

wzoru,  a  drugi  zmodyfikowany: 

,

2

/

)

2

/

sin(

x

x

w =

 

.

2

1

ww

y =

  Wykonaj  obliczenia  dla 

,

10

123

.

1

1

=

x

  …, 

.

10

123

.

1

10

=

x

  Utwórz  wykres  rozpatrywanej  funkcji  dla 

)

2

,

2

(−

x

Wyniki obliczeń przedstaw w postaci tabeli, np.: 

 

x

Algorytm I

Algorytm II

0.11230000

0.49947475

0.49947475

0.01123000

0.49999475

0.49999475

0.00112300

0.49999995

0.49999995

 

…………………………………………………………….. 
 

3.

 

Zastosuj następujący algorytm obliczania przybliŜonej wartości pochodnej 

:

)

(c

f ′

 

 

.

)

(

)

(

)

(

h

c

f

h

c

f

c

f

+

 

 

Wykonaj obliczenia dla róŜnych wartości parametru h (np.: h = 0.1, …, 

)

10

1

.

0

20

 i funkcji f (np. 

dla 

2

)

(

x

x

f

=

 i c = 1.1). Porównaj z dokładną wartością pochodnej, wyznaczając błąd względny. 

Otrzymane wyniki przedstaw w postaci tabeli, np.:  
 

h

wartość ilorazu roŜnicowego

bład wzgledny

0.10000000

2.30000000

0.04545455

0.01000000

2.21000000

0.00454545

0.00100000

2.20100000

0.00045455

0.00010000

2.20010000

0.00004545

0.00001000

2.20001000

4.54546350

×

10

6

1.00000000

×

10

6

2.20000100

4.54463230

×

10

7

 

………………………………………………………………………………………. 

background image

Metody numeryczne - ćwiczenia nr 4 

 

1.

 

Napisać  funkcję 

w[lst_] 

wyznaczającą

 

wielomian  interpolacyjny  Lagrange’a  dla  dowolnej 

listy  punktów 

lst  =  {{x

1

,y

1

},  …,

{x

n

,y

n

}},  a  następnie  znaleźć  taki,  wielomian,  który  

w punktach  

a.

 

{-2, 1, 2, 4} przyjmuje wartości {3, 1, -3, 8}, 

b.

 

{1, 3, 4, 6} przyjmuje wartości {-3, 0, 30, 132}. 

Wyniki porównać z wynikami działania procedury 

Fit.

 Podać interpretację geometryczną. 

 

2.

 

Znaleźć  wielomian  interpolacyjny  Lagrange’a  dla  funkcji  określonej  tablicą  wartości 
(wykorzystać funkcję 

w[lst]

): 

 

f(x) 

10 

 
Następnie wyznaczyć wartość f(3). Podać interpretację geometryczną. 
 

3.

 

Sporządzić tablicę róŜnic dla funkcji, która w punktach {0.1, 0.2, 0.3, 0.4, 0.5} przyjmuje wartości 
{1.4, 1.56, 1.76, 2, 2.28} np.:

 

 

 

 
 
Znaleźć wielomian interpolacyjny Newtona dla róŜnic progresywnych i wstecznych. Zdefiniować 
odpowiednie  funkcje.  Porównać  z  wynikami  działania  procedury 

Interpolation.

  Podać 

interpretację geometryczną. 

 

 

4.

 

Dane ilości sprzedanych sztuk towaru x w latach 1996-2004 przedstawione są w tabeli. Oszacuj za 
pomocą  wielomianu  interpolacyjnego  Newtona  (wykorzystaj  funkcje  z  poprzedniego  zadania), 
jaka była wysokość sprzedaŜy w 2003 roku. 

 

1996  1998  2000  2002  2004 

40 

43 

48 

52 

58 

 

5.

 

Znaleźć wielomian interpolacyjny Newtona i Lagrange’a dla funkcji 

x

x

f

cos

)

(

=

 

 

=

=



=

n

j

n

j

i

i

i

j

i

j

n

x

x

x

x

y

x

L

0

,

0

)

(

)

(

)

(

 - wzór interpolacyjny Lagrange’a, 

)

)...(

)(

(

!

...

)

)(

(

!

2

)

(

)

(

1

1

0

0

1

0

2

0

2

0

0

0

)

(

+

+

+

+

=

n

n

n

I

n

x

x

x

x

x

x

h

n

y

x

x

x

x

h

y

x

x

h

y

y

x

N

  

- pierwszy wzór interpolacyjny Newtona, 
 

)

)...(

)(

(

!

...

)

)(

(

!

2

)

(

1

1

0

1

2

2

2

1

)

(

x

x

x

x

x

x

h

n

y

x

x

x

x

h

y

x

x

h

y

y

N

n

n

n

n

n

n

n

n

n

n

II

n

+

+

+

+

=

 

 - drugi wzór interpolacyjny Newtona. 
 

background image

Metody numeryczne - ćwiczenia nr 5 

 

1.

 

Napisać  procedurę 

aprok[X_,  Y_] 

realizującą  aproksymację  wielomianem  stopnia 

pierwszego,  w  wyniku,  której  otrzymamy  (procedurę  wywołano  z  następującymi  parametrami  
X = {0.5, 1, 1.5, 2, 2.5, 3}, Y = {15, 17, 19, 14, 10, 7}): 

 
aprok[X,Y] 

 

 

Wykonać obliczenia dla innych danych np.: X = {1, 3, 4, 6, 8, 9, 11, 14}, Y ={1, 2, 4, 4, 5, 7, 8, 9}. 

 
2.

 

Napisać  procedurę 

aprok2[X_,  Y_] 

realizującą  aproksymację  wielomianem  stopnia 

trzeciego. Zastosować do danych z poprzedniego zadania. 

 

3.

 

Napisać  procedurę 

aprok3[X_,  Y_,  m_] 

realizującą  aproksymację  wielomianami 

trygonometrycznymi  (m  –  stopień  wielomianu  trygonometrycznego).  Zastosować  do 
następujących danych: 

 

 

 

 

Współczynniki  aproksymującej  funkcji  wielomianowej 

n

n

x

a

x

a

x

a

x

a

a

y

+

+

+

+

+

=

...

3

3

2

2

1

0

 

wyznaczamy z następującego układu: 
 

=

=

=

+

=

+

=

=

=

+

=

=

=

=

=

=

=

=

+

+

+

+

=

+

+

+

+

=

+

+

+

+

n

i

i

n

i

n

n

i

n

i

n

i

n

i

n

i

n

i

n

i

n

i

n

i

i

i

n

n

i

n

i

n

i

i

n

i

i

n

i

i

n

i

i

n

n

i

n

i

n

i

i

n

i

i

y

x

a

x

a

x

a

x

a

x

y

x

a

x

a

x

a

x

a

x

y

a

x

a

x

a

x

na

1

1

2

2

1

2

1

1

1

0

1

1

1

1

2

1

3

1

1

2

0

1

1

1

2

1

2

1

1

0

.

...

..........

..........

..........

..........

..........

..........

..........

..........

..........

..........

,

...

,

...

 

 
Trygonometryczne przybliŜenie funkcji 

)

(x

f

 to: 

 

,

2

),

sin

cos

(

)

(

1

0

n

m

jx

b

jx

a

a

x

f

j

m

j

j

<

+

+

=

   

gdzie 

=

=

=

=

=

=

n

j

j

j

j

n

j

j

j

j

n

j

j

jx

y

n

b

jx

y

n

a

y

n

a

1

1

1

0

.

sin

2

,

cos

2

,

1

   

background image

Metody numeryczne - ćwiczenia nr 6 

 

1.

 

Stosując  funkcje 

NestList 

oraz

  FixedPoint 

z  opcją

  SameTest->(Abs[#1-

#2]<10^-3&) 

znaleźć  pierwiastek  równania 

0

2

1

sin

=

x

x

  metodą  Newtona  w  przedziale 

[π/2,  π].  Zdefiniować  odpowiednie  funkcje,  sprawdzić  załoŜenia.  Porównać  uzyskany  wynik  
z wynikiem otrzymanym za pomocą polecenia 

FindRoot

 

 
2.

 

Napisać  procedurę

  bi[f_,a_,b_,eps_]

  rozwiązywania  równań 

0

)

(

=

x

f

  metodą  bisekcji. 

Wyznaczyć  pierwiastki  poniŜszych  równań  w  przedziale  [0,  1.6]  z  błędem 

eps

  mniejszym  od 

0.02. Porównać uzyskane wyniki z wynikami otrzymanymi za pomocą polecenia 

FindRoot

 

 

a) 

x

x

x

ln

cos =

,    

b) 

0

2

=

− x

e

x

c) 

x

e

x

=

1

2

 
 

3.

 

Napisać  procedurę 

sie[f_,a_,b_,eps_]

  rozwiązywania  równań 

0

)

(

=

x

f

  metodą 

siecznych.  Wyznaczyć  przybliŜone  pierwiastki  poniŜszych  równań  z  dokładnością  do 

.

10

5

 

Narysować wykresy odpowiednich funkcji w zadanym przedziale: 

 

a) 

0

2

=

− x

x

],

1

,

0

[

x

 

b) 

0

6

cos

2

2

=

+

+

x

e

x

x

],

2

,

1

[

x

 

c) 

,

0

2

3

2

=

+

x

x

e

x

 

].

1

,

0

[

x

 

 

Algorytm metody Newtona: 
a)

 

)

(x

f

 musi być ciągła i określona w rozpatrywanym przedziale 

[

]

b

a,

)

(

' x

f

 musi być róŜna od 

zera w 

[

]

b

a,

b)

 

wybieramy punkt startowy 

0

x  z przedziału 

[

]

b

a,

c)

 

kolejne przybliŜenia obliczmy ze wzoru 

,...

2

,

1

,

)

(

)

(

1

=

=

+

n

x

f

x

f

x

x

n

n

n

n

 

Algorytm metody bisekcji: 
a)

 

sprawdzamy, czy 

0

)

(

)

(

<

b

f

a

f

b)

 

dzielimy przedział [a ,b] na połowę punktem 

,

2

/

)

(

1

b

a

x

+

=

 

c)

 

jeŜeli 

0

)

(

1

=

x

f

, to 

x

1

 jest pierwiastkiem równania i koniec iteracji, 

d)

 

gdy 

0

)

(

1

x

f

, to wybieramy jeden z przedziałów 

[

]

1

,

x

a

 lub 

[

]

b

x ,

1

, w którym funkcja zmienia 

znak, 

e)

 

powtarzamy b), c) i d) dopóki nie otrzymamy Ŝądanej dokładności 

ε

 (tj. gdy długość aktualnego 

przedziału jest nie większa od 

ε

). 

Algorytm metody siecznych: 
a)

 

sprawdzamy, czy 

0

)

(

)

(

<

b

f

a

f

b)

 

jeśli zachodzi a), to 

,

,

1

0

b

x

a

x

=

=

   

c)

 

dopóki nie jest spełnione kryterium zakończenia (stopu), np.

ε

<

−1

n

n

x

x

, gdzie 

ε

 jest zadaną 

dokładnością, lub

ε

<

)

(

n

x

f

, lub przekroczenie liczby iteracji to wykonujemy:  

,...

2

,

1

,

)

(

)

(

)

)(

(

1

1

1

=

=

+

n

x

f

x

f

x

x

x

f

x

x

n

n

n

n

n

n

n

 

 

background image

Metody numeryczne - ćwiczenia nr 7 

 

1.

 

Napisać  procedurę 

sturm[w_,  n_] 

w  wyniku,

 

której  otrzymamy 

n

  wyrazów  ciągu  Sturma 

dla  dowolnego  wielomianu 

w(x)

  (wykorzystać  polecenie

  PolynomialRemainder[p,  q

x]

,

 

które wyznacza resztę z dzielenia wielomianu 

)

(x

p

 przez 

)

(x

q

).  

 
2.

 

Zastosować twierdzenie Sturma do określenia liczby pierwiastków rzeczywistych następujących 
wielomianów (wykorzystać funkcję z poprzedniego zadania): 
 

a)

 

,

5

5

2

)

(

2

3

+

=

x

x

x

x

f

 

b)

 

,

4

10

3

2

)

(

2

3

4

+

=

x

x

x

x

x

g

 

c)

 

.

1

)

(

2

3

+

=

x

x

x

x

h

 

 

Za pomocą polecenia 

NSolve

 sprawdzić poprawność obliczeń. Narysować wykres. 

 

3.

 

Napisać  procedurę

 

four[w_,  n_] 

w  wyniku,

 

której  otrzymamy 

n

  wyrazów  ciągu  Fouriera 

dla dowolnego wielomianu 

w(x)

.  

 
4.

 

Wyznaczyć, przy pomocy twierdzenia Fouriera, liczbę zer rzeczywistych wielomianów: 
 

a)

 

,

5

5

2

)

(

2

3

+

=

x

x

x

x

f

 

(porównać wynik z wynikiem zadania 2 a)), 

b)

 

.

1

4

3

2

)

(

2

3

4

+

=

x

x

x

x

x

g

 

 

Za pomocą polecenia 

NSolve 

sprawdzić poprawność obliczeń. Narysować wykres. 

 
 
Ciąg Sturma: 
 

),

(

)

(

0

x

f

x

f

=

 

),

(

'

)

(

1

x

f

x

f

=

 

)

(

2

x

f

 jest resztą z dzielenia 

)

(

0

x

f

 przez 

)

(

1

x

f

 wziętą ze znakiem przeciwnym, 

)

(

3

x

f

 jest resztą z dzielenia 

)

(

1

x

f

 przez 

)

(

2

x

f

 wziętą ze znakiem przeciwnym, itd. 

 

Zakładamy, Ŝe

0

)

(

1

=

+

x

f

p

, a 

)

(x

f

p

 jest ostatnią resztą róŜną od zera czyli jest największym wspólnym 

podzielnikiem dla wielomianu 

)

(

0

x

f

 i jego pochodnej 

).

(

1

x

f

 JeŜeli ten największy wspólny podzielnik jest liczbą 

rzeczywistą  róŜna  od  zera,  oznacza  to,  Ŝe  wielomian 

)

(

0

x

f

  nie  ma  zer  wielokrotnych,  gdy  natomiast  jest  to 

wielomian stopnia k, oznacza to, Ŝe jego miejsce zerowe jest (k+1)-krotnym zerem wielomianu 

)

(

0

x

f

 

Twierdzenie  Sturma.  JeŜeli  ciąg  (f

i

(x)),  i  =  0,1,...,  p,  jest  ciągiem  Sturma  na  przedziale  (a,  b)  

0

)

(

)

(

0

0

b

f

a

f

,  to  liczba róŜnych  zer rzeczywistych  wielomianu 

)

(

0

x

f

  leŜących w  tym  przedziale  jest 

równa N(a) - N(b), gdzie N(x) to ilość zmian znaku w ciągu Sturma w punkcie x. 

 

Twierdzenie  Fouriera.  JeŜeli 

)

(x

f

  jest  wielomianem  stopnia  n  określonym  w  przedziale 

)

,

( b

a

 

 i 

0

)

(

)

(

b

f

a

f

,  to  liczba  zer  wielomianu 

)

(x

f

  w  tym  przedziale  jest  równa 

)

(

)

(

b

M

a

M

,  gdzie 

)

(

0

x

M

 oznacza liczbę zmian znaku w ciągu 

,

,...

0

)),

(

(

)

(

n

k

x

f

k

=

 dla 

.

0

x

x =

 

background image

Metody numeryczne - ćwiczenia nr 8 

 

1.

 

Znaleźć minima lokalne w otoczeniu punktów odczytanych z wykresu funkcji  

x

x

x

x

x

f

15

23

9

)

(

2

3

4

+

=

. Czy funkcja ta posiada maksimum? 

2.

 

Wyznaczyć  minimum  funkcji 

x

x

g

=

)

(

  w  przedziale 

]

4

,

4

[−

  za  pomocą  metody  połowienia 

(opracować  odpowiednią  procedurę 

pol[f_,x1_,x2_,eps_]

).  Sprawdzić  nieskuteczność 

polecenia 

FindMinimum

3.

 

Za pomocą metody Johnsona wyznaczyć minimum lokalne funkcji 

.

1

9

6

)

(

2

+

=

x

x

x

x

f

 

4.

 

Napisać  procedurę 

zloty[f_,x1_,x2_,eps_] 

w  wyniku,  której  otrzymamy  minimum 

funkcji 

metodą  złotego  podziału.  Korzystając  z  tej  procedury  wyznaczyć  minimum  funkcji 

.

2

sin

)

(

2

x

x

x

f

=

  Porównać  otrzymany  wynik  z  uzyskanym  za  pomocą  polecenia 

FindMinimum

 

 

FindMinimum[f,{x,x

0

}]

 znajduje lokalne minimum dla f w otoczeniu punktu 

0

x

x =

.  

 
Algorytm metody połowienia

a)

 

Jeśli 

eps

a

b

2

<

, to 

2

b

a

t

+

=

 i wypisujemy t (koniec procedury), w przeciwnym przypadku 

b)

 

wybieramy punkty podziału: 

,

,

,

4

3

4

1

)

(

3

2

1

2

1

)

(

2

4

1

4

3

)

(

1

b

a

t

b

a

t

b

a

t

i

i

i

+

=

+

=

+

=

 

c)

 

jeśli 

),

(

)

(

2

1

t

f

t

f

 to 

2

t

b =

, w przeciwnym przypadku 

jeśli 

),

(

)

(

3

2

t

f

t

f

 to 

1

t

a =

 i  

3

t

b =

, a w przeciwnym przypadku 

,

2

t

a =

 

d)

 

= i + 1, powtarzamy punkty a) do c). 

 

 
Algorytm metody Johnsona

:  

n

F

 - n-ta liczba Fibonacciego -

.

,

1

2

1

1

0

+

=

=

=

n

n

n

F

F

F

F

F

 Wybieramy n takie, Ŝe 

.

1

n

eps

a

b

n

F

F

<

 

a)

 

Określamy 

a

a

b

F

F

t

i

n

i

n

i

+

=

+

)

(

1

1

)

(

1

a

a

b

F

F

t

i

n

i

n

i

+

=

+

)

(

1

)

(

2

,  

b)

 

= 1, jeśli 

),

(

)

(

)

(

2

)

(

1

i

i

t

f

t

f

 to  a  pozostaje bez zmiany, 

)

(

2

i

t

b =

, w przeciwnym przypadku 

,

)

(

1

i

t

a =

  b  - bez zmiany, 

c)

 

punkty a), b) powtarzamy do 

,

2

= n

i

 

d)

 

wypisujemy 

.

2

min

b

a

x

+

=

 

 
Algorytm metody złotego podziału

a)

 

Obliczamy 

2

1

5 −

=

τ

),

)(

1

(

)

(

1

a

b

a

t

i

+

=

τ

 

),

)(

1

(

)

(

2

a

b

b

t

i

=

τ

 

b)

 

jeśli 

),

(

)

(

)

(

2

)

(

1

i

i

t

f

t

f

>

 to 

)

(

1

i

t

a =

,  b  pozostaje bez zmiany, 

,

)

(

2

)

1

(

1

i

i

t

t

=

+

),

)(

1

(

)

1

(

2

a

b

b

t

i

=

+

τ

 

c)

 

w przeciwnym przypadku  a - bez zmiany, 

,

)

(

2

i

t

b =

 

,

)

(

1

)

1

(

2

i

i

t

t

=

+

 

),

)(

1

(

)

1

(

1

a

b

a

t

i

+

=

+

τ

 

d)

 

jeśli 

ε

2

− a

b

-koniec procedury, wypisujemy 

2

min

b

a

x

+

=

, w przeciwnym przypadku 

e)

 

powtarzamy punkty b) do d). 

background image

Metody numeryczne - ćwiczenia nr 9 

1.

 

Metodą kolejnych przybliŜeń rozwiązać układ równań liniowych (zastosować funkcje 

NestList 

oraz FixedPoint): 

=

+

+

=

+

+

=

+

.

0

.

7

0

.

2

3

.

0

4

.

0

,

3

.

8

2

.

0

0

.

4

3

.

0

,

9

.

1

3

.

0

4

.

0

0

.

2

3

2

1

3

2

1

3

2

1

x

x

x

x

x

x

x

x

x

 

 

Wyniki obliczeń przedstawić w postaci tablicy, np.: 
 

x1

x2

x3

1

0.

0.

0.

2

0.95

2.075

3.5

3

1.06

1.97125

2.99875

 

 

2.

 

Metodą eliminacji Gaussa rozwiązać układ równań liniowych  

 

=

+

=

+

=

+

.

8

.

7

6

.

5

4

.

3

2

.

1

,

0

.

9

8

.

7

6

.

5

4

.

3

,

2

.

3

4

.

5

6

.

7

8

.

9

3

2

1

3

2

1

3

2

1

x

x

x

x

x

x

x

x

x

 

 

Wykorzystać poniŜszą procedurę (po uzupełnieniu): 
 

 

Rozwiązanie porównać z rozwiązaniem uzyskanym za pomocą polecenia 

LinearSolve. 

 

 

Algorytm eliminacji Gaussa:

 

a)

 

przyjmujemy 

,

)

1

(

ij

ij

a

a

=

,

)

1

(

i

i

b

b

=

 

),

,...,

1

,

(

n

j

i

=

 

b)

 

dla 

1

,...,

1

=

n

k

 oraz dla 

n

k

i

,...,

1

+

=

 obliczamy 

a.

 

,

/

)

(

)

(

k

kk

k

ik

ik

a

a

l =

 

b.

 

dla 

n

k

j

,...,

1

+

=

 obliczmy 

,

)

(

)

(

)

1

(

k

kj

ik

k

ij

k

ij

a

l

a

a

=

+

 

c.

 

,

)

(

)

(

)

1

(

k

k

ik

k

i

k

i

b

l

b

b

=

+

 

c)

 

obliczamy 

,

/

)

(

)

(

n

nn

n

n

n

a

b

x =

 dla 

1

,...,

1

= n

i

 obliczamy 

.

/

1

)

(

)

(

)

(



=

+

=

n

i

j

i

ii

j

i

ij

i

i

i

a

x

a

b

x

 

 

background image

Metody numeryczne - ćwiczenia nr 10 

1.

 

Metodą iteracji  prostej (zastosować  funkcje 

NestList

  i 

FixedPoint

)  oraz  metodą  Newtona 

rozwiązać następujący układ równań: 

 



=

 +

=

.

4

2

cos

,

4

2

sin

y

x

y

y

x

x

 

 

Podać interpretację geometryczną (wykorzystać funkcję 

ContourPlo

t). 

 

2.

 

Układ równań  

 



+

+

=

+

+

=

)

(

tg

5

.

0

),

3

(

1

2

2

2

2

y

e

h

y

x

e

h

x

x

x

y

 

 
moŜna  dla  małych  h,  rozwiązać  iteracyjnie.  Napisać  procedurę 

układ[h_]

  w  wyniku,  której 

otrzymamy (przyjąć 

,

1

0

=

x

 

)

5

.

0

0

=

y

:  

 

 

background image

Metody numeryczne - ćwiczenia nr 11 

1.

 

Zdefiniować  funkcje 

calka1[a_,b_,n_]

calka2[a_,b_,n_]

  i 

calka3[a_,b_,n_]

 

wyznaczające  odpowiednio  całki  metodą  prostokątów,  metodą  trapezów  i  metodą  Simpsona. 
Obliczyć trzema metodami całkę:  

+

6

1

)

2

sin(

2

(

dx

x

 

dla n = 1, …, 20. Wyniki przedstawić w postaci tabeli:  
 

 

             …..………………..…………………………………………………………….. 

Otrzymane wyniki porównać z dokładną wartością i róŜnice przedstawić w postaci tabeli np.:  

 

 

……….…..…………………………………………………………….. 

2.

 

Za  pomocą  wzoru  Simpsona  obliczyć  oddzielnie  lewą  i  prawa  stronę  poniŜszej  równości 
otrzymanej przez całkowanie przez części:  

.

1

3

4

2

3

2

1

1

0

4

4

1

0

4

dx

x

x

x

dx

x

x

+

=

+

 

Otrzymane wyniki porównać z dokładnymi wartościami. 

 

3.

 

Napisać procedurę 

simpson[f_,a_,b_,n_]

 w wyniku, której otrzymamy wartość dowolnej 

całki  obliczoną  metodą  Simpsona,  wartość  dokładną  rozpatrywanej  całki  oraz  interpretację 
geometryczną np.: 

 

 

 

 

=

+

n

i

b

a

n

a

b

i

a

f

n

a

b

dx

x

f

1

)

(

 - 

wzór prostokątów 





+

+

+

=

1

1

2

)

(

)

(

)

(

n

i

b

a

n

a

b

i

a

f

b

f

a

f

n

a

b

dx

x

f

wzór trapezów 









+

+

+

+

+

=

=

n

i

n

i

b

a

n

a

b

i

a

f

n

a

b

i

a

f

b

f

a

f

n

a

b

dx

x

f

1

1

1

2

1

4

2

)

(

)

(

6

)

(

 - wzór Simpsona 

background image

Metody numeryczne - ćwiczenia nr 12 

1.

 

Korzystając  z  funkcji 

ChebyshevT[n,x] 

utworzyć  wykres  przedstawiający  wielomiany 

Czebyszewa dla n = 1, 2, …, 5 oraz 

).

1

,

1

(−

x

 

2.

 

Wyznaczyć  wartości  węzłów  (zera  wielomianów  Czebyszewa)  i  współczynników 

k

A  

kwadratur Gaussa – Czebyszewa dla n = 2, 3, …, 8. Otrzymane wyniki przedstawić w postaci 
tabeli np.: 

 

 
3.

 

Obliczyć  następujące  całki  za  pomocą  kwadratur  Gaussa  –  Czebyszewa  (zdefiniować 
odpowiednią funkcję 

calka[n_]

): 

a)

 

dx

x

x

1

1

2

1

 (wykonać obliczenia dla n = 2, 3, …, 20), 

b)

 

dx

x

e

x

1

1

2

1

 (wykonać obliczenia dla n = 2, 3, …, 10). 

Otrzymane wyniki porównać z dokładną wartością i przedstawić w postaci tabeli np. dla punkt a): 

 

 

                   …….………………………………… 

 

4.

 

Napisać procedurę 

chebyszew[f_,n_]

 w wyniku, której otrzymamy np.:  

 

 

 
 

 

( )

=

n

k

k

k

x

f

A

dx

x

x

f

1

2

1

1

1

1

)

(

 - wzór kwadratur Gaussa – Czebyszewa,  

  gdzie 

n

A

k

π

=

 - współczynniki tych kwadratur, 

=

π

n

k

x

k

2

1

2

cos

 - węzły.