Algorytmy numeryczne algebry - zadania laboratoryjne
1. Za pomoc¡ polece« MATLAB-a utwórz macierz o wymiarach 3x4 tak¡, »e wyraz o indeksie (i,j) tej nowej macierzy jest sum¡ s¡siadów (we wszystkich mo»liwych kierunkach) wyrazu (i,j) macierzy A = [1 3 2 3; 0 1 2 4; 1 1 0 2].
2. Oblicz staª¡ e korzystaj¡c ze wzoru e =
∑∞ n=0
1 n!.
Dla du»ych n liczba 1/n! jest tak maªa, »e MATLAB traktuje j¡ jako równ¡
zero. Ilu wyrazów szeregu nale»y u»y¢ ? Napisz program wyliczaj¡cy staª¡ e oraz wskazuj¡cy ile wyrazów (minimalnie) nale»y u»y¢ ?
3. Napisz funkcj¦, która wy±wietla przybli»on¡ warto±¢ x, speªniaj¡cego rów- nanie
x = 1
√x2+ 1. Iteruj formuª¦
xn+1 = 1
√x2n+ 1
rozpoczynaj¡c od x1 = 1. Wykonuj¡c tyle kroków by dwa ostatnie wyrazy speªniaªy warunek |xk+1− xk| ≤ 0.0001. Jak wynik zale»y od wyboru pierw- szego wyrazu ci¡gu ?
4. Napisz program obliczaj¡cy kolejne wyrazy ci¡gu rekurencyjnego x0 = 1, x1 = 1
3, xn+1 = 13
3 xn− 4 3xn−1.
Napisz program obliczaj¡cy dla którego wyrazu tego ci¡gu (wyliczonego za pomoc¡ Matlaba) jego bª¡d wzgl¦dny w stosunku do (1
3
)n
(sprawd¹, »e taki powinien by¢ dokªadny wynik) wynosi co najmniej 2.
5. Napisz program poprawiaj¡cy uwarunkowanie macierzy A =
( 100 0, 01 99 0, 01
) .
tzn. znajd¹ przy pomocy Matlaba tak¡ macierz D - diagonaln¡, »e wspóª- czynnik uwarunkowania macierzy AD jest mniejszy ni» 1000.
6. Napisz program rozwi¡zuj¡cy ukªady równa« matod¡ eliminacji Gaussa.
7. Obliczy¢ przybli»one rozwi¡zanie ukª¡du Ax = b, gdzie
A=[0.95 0.07 0 0 0.05 0.01; 0.07 0.05 0.07 0 0 0.04; 0 0.007 0.95 0.06 0 0;...
0 0 0.06 0.95 0.06 0; 0.05 0 0 0.06 0.95 0.06; 0.01 0.04 0 0 0.06 0.95]
b = 0.5∗ [1; 1; 1; 1; 1; 1]. Obliczenia wykona¢ dla nast¦puj¡cych metod itera- cyjnych: Jacobiego, Gaussa-Seidela i nadrelaksacji SOR dla kilku wybranych parametrów ω. Wyliczy¢ liczb¦ iteracji potrzebn¡ do osi¡gni¦cia dokªad- no±ci (ró»nica mi¦dzy rozwi¡zaniem a przybli»eniem) rozwi¡zania kolejno 0, 0010, 00010, 00001, 0, 0000001. Wystartuj od ró»nych przybli»e« pocz¡t- kowych. Zaproponuj i przeprowad¹ podobny eksperyment numeryczny dla innego ukªadu równa«.
8. Ka»d¡ sie¢ mo»na opisa¢ jako list¦ par, gdzie ka»da para odpowiada jednemu poª¡czeniu(odno±nikowi) w sieci. Napisz funkcj¦ która z macierzy zªo»onej z dwóch kolumn (lub wierszy) produkuje macierz poª¡cze« (macierz s¡siedztwa lub incydencji). Dodatkowo napisana funkcja ma sprawdza¢ czy macierz poª¡cze« nie ma zerowych kolumn.
9. Napisz funkcj¦ (dla macierzy poª¡cze« nie zawieraj¡cych zerowych ko- lumn) modykuj¡c¡ macierz parametrem m (wykªad) dla m=0, m=0.1 i m=0.15 i wyznaczaj¡c¡ ranking stron dla tak zmodykowanej macierzy. U»yj wbudowanej funkcji 'eig'. Wyznacz ranking stron dla nast¦puj¡cej listy od- no±ników:
A =
( 1 2 3 4 5 5 1 7 8 7 6 3 8 1 9 4 3 2 10 2 1 4 3 3 4 7 6 2 8 1 7 1 5 3 10 9 10 7
) . Nie usuwaj¡c odno±ników (mo»na dodawa¢ odno±niki i strony z odno±nikami) przesu« stron¦ 8 wy»ej wzgl¦dem strony 10.