Analiza numeryczna (M) - Lista 1.

Zadanie 1.

Załóżmy, że liczba x ma niejednoznaczne przedstawienie w naszej reprezentacji, to znaczy, że istnieją 2 istotnie różne reprezentacje.
\displaystyle s_1 \cdot m_1 \cdot 2^{c_1} = s_2 \cdot m_2 \cdot 2^{c_2}.
s_1 i s_2 to jedyne czynniki, które mogą być ujemne, więc one determinują znak calej liczby. Nie mogą sie różnić, bo wtedy liczba byłaby jednoczesnie ujemna i dodatnia. Sprzeczność.
Mamy więc s_1 = s_2.
\displaystyle \frac {m_1} {m_2} = 2^{c_2 - c_1}
Rozważmy przypadki:

  • m_1 = m_2 \rightarrow 1 = 2^{c_2 - c1} \rightarrow c_2 - c_1 = 0 \rightarrow c_1 = c_2. Sprzeczność, bo reprezentacje są równe.
  • c_1 = c_2 \rightarrow \frac {m_1} {m_2} = 2^{0} \rightarrow \frac {m_1} {m_2} = 1 \rightarrow m_1 = m_2. Sprzeczność, bo reprezentacje są równe.
  • m_1 \neq m_2 \wedge c_1 \neq c_2 Mantysy są z zakresu [0.5, 1), więc ich maksymalna wartość ich ilorazu to \frac {1} {0.5}, a minimalna \frac {0.5} {1}( nie osiągają tych ograniczeń, bo jest otwarty przedział). Wyrażenie 2^{c_2 - c1} nie ma wartości w tym przedziale, bo albo ma wartości mniejsze od \frac 1 2 (przypadek c_1 > c_2), albo większe od 2 (przypadek c_2 > c_1).

Zadanie 2.

Zadanie 3.

Zadanie 4.

Zadanie 5.

  • (a)

Problem gdy x ujemne.
\displaystyle \frac 1 {\sqrt{x^2+1}+x} =\frac {\sqrt{x^2 + 1}-x} {x^2 + 1 - x^2}=\frac {\sqrt{x^2 + 1}-x} 1 = \sqrt{x^2 + 1}-x
Teraz już nie ma problemu, gdy x ujemne, wzory stosujemy zamiennie zależnie od znaku x.

  • (b)

Problem, gdy \cos^2(x) bliski 1.
\cos^2(x) - 1 = - \sin^2(x)
Teraz już nie ma bliskiego odejmowania.

Zadanie 6.

Dokładne wyniki:
a_1 = 31.69 \cdot 19.0 = 602.110
a_2 = 45 \cdot 13.11 = 589.95
b_1 = 31.69 \cdot 5.89 =186.6541
b_2 = 14.31 \cdot 13.11 =187.6041
a = a_1 - a_2 =12.160
b = b_1 - b_2= -0.9500
y = a / b = -12.8

Wyniki w t=4:
a_1 = 31.69 \cdot 19.0 = 602.1
a_2 = 45 \cdot 13.11 = 590.0
b_1 = 31.69 \cdot 5.89 =186.7
b_2 = 14.31 \cdot 13.11 =187.6
a = a_1 - a_2 = 12.1
b = b_1 - b_2= -0.9
y = a / b = -13.44

Tracimy dokładność tak bardzo, poprzez bliskie odejmowanie b_1 i b_2 (błąd względny 5\%, na samym wyniku tego odejmowania).

Zadanie 7.

  • (a)

Algorytm:
Zaczynamy od kwadratu wpisanego w koło o boku 1. Kwadrat ma pole 2. Zauważamy, żę możemy podzielić kwadrat na 4 trójkąty według przekątnych kwadratu. Nasz algorytm chce znajdować przybliżenie figury, która zapełni polem całe koło. W następnym kroku dzieli on kąt (w tym momencie 90deg; pomiędzy przekątnymi kwadratu) na pół, tworząc tworząc 2 równoramienne trójkąty. Pole takiego trójkątu liczymy ze wzoru P = 0.5 \cdot a \cdot b \cdot sin(a,b). Tu wchodzą nasze zmienne s_k, które są przybliżeniem sinusów kolejnych 2 razy mniejszych kątów (korzystamy z wzoru na sinus połowy kąta). Czyli pole takiego jednego trójkąta w k-tym kroku, to 0.5 \cdot s_k. Teraz w zmiennych P_{2^k} obliczamy pole całej figury, 2^k trójkątów o polach 2^{-1}\cdot s_k czyli w sumie s_k \cdot 2^{k-1}.
Wzory z wikipedii na sinus i cosinus połowy kąta:
\displaystyle \sin(\frac \theta 2) = \sqrt{\frac {1 - \cos(\theta)} {2}}
\displaystyle \cos(\frac \theta 2) = \sqrt{\frac {1 + \cos(\theta)} {2}}

  • (b)
scale=1000
s2=1
c2=0
s3=sqrt(0.5*(1-c2))
c3=sqrt(0.5*(1+c2)) 
s4=sqrt(0.5*(1-c3))
c4=sqrt(0.5*(1+c3)) 
s5=sqrt(0.5*(1-c4)) 
c5=sqrt(0.5*(1+c4)) 
s6=sqrt(0.5*(1-c5)) 
c6=sqrt(0.5*(1+c5)) 
s7=sqrt(0.5*(1-c6))
c7=sqrt(0.5*(1+c6))
s8=sqrt(0.5*(1-c7))
c8=sqrt(0.5*(1+c7))
p8=2^7 *s8
p8
3.141277250932772868062019770788214408379663262649789129824867044927\
09736158652596149127438022578674388209263785384869616555668049889461\
84585278704511518428811680164363557551530902166131338189142906940778\
93480973561612038255372174392819335511511467089803216041958520386897\
30834987305305767622214615396317069324665347516201800432586812460512\
07486490192205552330719398728339010166008001833883930035588852870710\
19521744029099625902287135548861204054810145482049931356283027779024\
40843443760847377193860905009798698134298507330304241540844004706425\
48829551918708437035308140470158331838452900315154864093040883076105\
92415001965651157406859082468905623440418754722528739308323874076302\
63629570730869795154136105563498014902624436484653850710850250335484\
17393316815925842231808055025332598204635874485130345866443945123684\
16069345632393008242627161180998244292827789150527389836623293292626\
09572670022782052752873282096736756767461754164742790043307103466538\
49946250781517806645611519519106968471444319458944

wynik przy obliczeniu w t=4:

3.135
  • ©

Problem występuje, gdy kąt jest coraz bliższy zeru, wtedy cosinus rośnie do 1 i w odejmowaniu, we wzorze na sinus tracimy dokładność:
\displaystyle 1 - \cos = \frac {1 - \cos^2} {1 + \cos} = \frac {\sin^2} {1 + \cos}. Teraz już nie ma odejmowania.

 
analiza_numeryczna/lista1m.10.txt · ostatnio zmienione: 2010/10/13 17:25 przez tomcat
 
Wszystkie treści w tym wiki, którym nie przyporządkowano licencji, podlegają licencji:MIT License
Recent changes RSS feed