Alkalmazott Analízis I., 2016/2017. tavasz





Általános információk:

Számonkérés:

  • 2 db zárthelyi; mindkettő legalább elégséges
  • Beadható feladatokkal lehet bónuszpontokat szerezni

3 kívánság:




1. Feladatsor

Kerekítési hiba, numerikus instabilitás

1.feladat. Oldjuk meg az eredeti és a hibával terhelt rendszert.

(a) $\left( \begin{array}{cc} 1 & 1 \\ 1 & 1.01 \end{array} \right)$ $\left( \begin{array}{c} x_{1}\\ x_{2} \end{array} \right)$=$\left( \begin{array}{c} 2 \\ 2.01 \end{array} \right)$

(b) $\left( \begin{array}{cc} 1 & 1 \\ 1 & 1.01 \end{array} \right)$ $\left( \begin{array}{c} y_{1}\\ y_{2} \end{array} \right)$=$\left( \begin{array}{c} 2 \\ 2.02 \end{array} \right)$

In [1]:
A_1=[1 1; 1 1.01]
b_1=[2 2.01] % A % a kommentelés MATLAB-ban. Nem kapunk jó eredmény, mert b_1 nem oszlopvektor.
%Transzponáljunk!
x_1=A_1\b_1
Matrix dimensions must agree.
In [16]:
A_1=[1 1; 1 1.01], b_1=[2 2.01]'
x_1=A_1\b_1 % A megoldás: x_1=A_1^{-1}*b_1
% Ez lenne a megfelelő MATLAB parancs: x_1=inv(A_1)*b_1 Ha lehet kerüljük, mert lassú!
A_1 =

   1.000000000000000   1.000000000000000
   1.000000000000000   1.010000000000000


b_1 =

   2.000000000000000
   2.010000000000000


x_1 =

   1.000000000000022
   0.999999999999978
In [3]:
b_2=[2 2.02]'; x_2=A_1\b_2 % A hibával terhelt megoldás
cond(A_1) % A A_1 mátrix euklidészi, azaz 2-es kondíciószáma
x_2 =

     0
     2


ans =

  402.0075

2.feladat. Tekintsük az alábbi integrált: $$\displaystyle I_n=\int_0^1\frac{x^n}{10+x}dx,$$ ahol $n\in\mathbb{N}$.

(a) Mutassuk meg, hogy $I_n\geq 0$, $I_{n+1}\leq I_n$ és $I_n\to 0$, ha $n\to\infty$.
(b) Adjunk rekurziót $I_n$-re. Számoljuk ki a rekurzió elsõ pár tagját. Magyarázzuk meg, miért viselkedik a rekurzió nagy $n$-ekre rosszul és javítsuk az algoritmust.

In [17]:
format long
n=15;
I_1=zeros(n+1,1);
I_1(1)=log(1.1); % I_1(1) a feladatbeli I_0
for i=1:n
I_1(i+1)=1/i-10*I_1(i);
end    
I_1
I_1 =

   0.095310179804325
   0.046898201956751
   0.031017980432493
   0.023153529008398
   0.018464709916015
   0.015352900839845
   0.013137658268212
   0.011480560175024
   0.010194398249764
   0.009167128613475
   0.008328713865254
   0.007621952256554
   0.007113810767796
   0.005784969245117
   0.013578878977397
  -0.069122123107305
In [18]:
% Numerikusan stabil algoritmus
n=20;
I_2=zeros(n,1);
I_2(n)=0;
for i=1:n-1
        I_2(n-i)=1/10*(1/(n+1-i)-I_2(n+1-i));
end    
I_2(15:end-1) % Ha csak az utolsó elemek az érdekesek
ans =

   0.005712557103543
   0.005374428964568
   0.005079239766082
   0.004763157894737
   0.005000000000000

3.feladat. (Beadható házi feladat)
Tekintsük az alábbi integrált: $$\displaystyle I_n=\int_0^1 x^ne^{-x}dx,$$ ahol $n\in\mathbb{N}$.

(a) Mutassuk meg, hogy $I_n\geq 0$ és $I_n\to 0$, ha $n\to\infty$.
(b) Adjunk rekurziót $I_n$-re. Számoljuk ki $I_{10},\ I_{20},\ I_{30}$ értékeit.

Gépi matematika

Gépi számok halmaza

$$M\equiv M(a,t,k^-,k^+):=\{\pm a^k\sum_{i=1}^t x_ia^{-i} : k^-\leq k\leq k^+, 0\leq x_i\leq a-1, i=1,\ldots,t\}\subset\mathbb{R}$$ ahol

  • $a\in\mathbb{N}^+$ a számrendszer alapja
  • $t\in\mathbb{N}$ a mantissza hossza
  • $k\in\mathbb{Z}$ az exponens vagy karakterisztika
  • Megállapodás: $x_1\neq 0$ (normalizált lebegőpontos szám)

Nevezetes gépi értékek:

  • $x'$ az $x$ rákövetkezője
  • $\epsilon_0$ a 0 rákövetkezője
  • $0.5\cdot\epsilon_1=0.5\cdot a^{1-t}$ a gépi epszilon
  • $M_{\infty}$ a legnagyobb gépi szám
Valós számok konverziója gép számmá

Legyen $x\in\mathbb{R}$ olyan, hogy $|x|\leq M_{\infty}.$ Definiáljuk az fl$:\mathbb{R}\to M$ függvényt az alábbi módon:

  • $fl(x):=0,\ \mathrm{ha}\ |x|<\epsilon_0$
  • $fl(x):=x\text{-hez legközelebb eső gépi szám},\ \mathrm{ha}\ \epsilon_0\leq |x|\leq M_{\infty}$

Ha $|x|>M_{\infty}$, akkor fl$(x)$

  • nem értelmezett vagy
  • NaN (Not a Number)
In [7]:
eps
ans =

     2.220446049250313e-16



4.feladat. Írjuk fel $M(2,2,-2,1)$ összes elemét! Számítsuk ki $M_{\infty},\ \epsilon_0,\ \epsilon_{0}^{'},\ \epsilon_{1}$ értékét.

5.feladat. Ábrázoljuk az $M(2,2,-2,1)$ paraméterekkel rendelkezõ gépen a következõ számokat: $$\frac{1}{2},\ \frac{3}{16},\ \frac{1}{10},\ \frac{6}{10},\ \frac{1}{\pi}.$$

6.feladat. Tekintsük az $M(2,4,-3,3)$ paraméterekkel rendelkezõ számítógépet. Keressünk olyan $x,\ y,\ z$ nemnulla számokat $M$-ben, hogy

  • $x+y=x$,
  • $(x+y)+z\neq x+(y+z).$
In [3]:
% Algoritmus 1
format long
n=999999;
s=0; 
for i=1:n 
s=s+1/(i*(i+1)); 
end 
s
s =

   0.999999000000048

7.feladat. Tekintsük az $a_1+a_2+\ldots+a_n$ alakú összegek kiszámításásra az alább két algoritmust.

Algoritmus 1 Algoritmus 2
s=0;
for i=1:n
s=s+a(i);
end
s=0;
for i=n:-1:1
s=s+a(i);
end
Számoljuk ki az $S_n=\displaystyle\sum_{i=1}^n \frac{1}{i\cdot(i+1)}$ értékét mindkét algoritmussal $n=999999$ esetén. Melyik lesz pontosabb?

In [4]:
% Algoritmus 2
n=999999;
s=0; 
for i=n:-1:1 
s=s+1/(i*(i+1)); 
end
s
s =

   0.999999000000000

Hibakorlátok

Legyen $a\in\mathbb{R}$ a pontos érték. Gépi közelítése $a'$. Ekkor

  • $\Delta a=|a-a'|$ abszolút hiba
  • $\delta a=\frac{|a-a'|}{|a|}$ relatív hiba

8.feladat. Közelítsük $\pi$-t a $\pi'=3.14$ értékkel. Mekkora a közelítés abszolút és relatív hibakorlátja?

9.feladat. Legyen egy henger sugara $r=1\pm 0.01$ és magassága $h=2\pm 0.02$. A $\pi$ értékét $3.14$-nek véve számítsuk ki közelítõleg a térfogatát! Mekkora lesz az eredmény abszolút hibája?

10.feladat. Mekkora relatív hibával közelíti az $1-x$ kifejezés az $1/(1+x)$ kifejezést a $[-0.1,\ 0.1]$ intervallumon?

11.feladat. Számoljuk ki számológéppel az $a=\sqrt{9876}$, illetve a $b=\sqrt{9875}$ számok hat tizedesjegyre kerekített $a',\ b'$ értékét. Az $x=a-b$ különbséget mekkora abszolút és relatív hibával közelíti az
(a) $x'=a'-b'$,
(b) $x''=1/(a'+b')$.