%% Interaktyvus pratimas nr. 5. Ribos
% Jau žinome iš paskaitos, kad ribos savoka yra skirta funkcijos elgesiui tam tikro taško aplinkoje arba argumentui neaprėžtai didėjant (absoliučiąja prasme) aprašyti. Šis interaktyvus pratimas yra skirtas tam, kad kurso klausytojai geriau suprastų šią savoką. Išnagrinėsime keturias ribas ir paanalizuosime skirtingą funkcijų elgesį.
%% I dalis. Baigtinė riba kai x neaprėžtai didėja.
% Nagrinėsime gerai žinomą hiperbolės funkciją f\left(x\right)=\frac{a}{x}. Gerai žinome, kad \underset{x\to +\infty }{\mathrm{lim}} \frac{a}{x}=0. Šioje pratimo dalyje paanalizuosime šią ribą plačiau. Grafikas bus braižomas intervale x\in \left\lbrack 0;10000\right\rbrack.
% Galite keisti hiperbolės parametrą a\in \left\lbrack 0\ldotp 01;10\right\rbrack ir tris parametrus, kurie yra atsakingi už tai, kokia grafiko dalis yra priartinama:
% Prarametras \varepsilon yra yra naudojamas trupmenos vardiklyje, t.y. skaičiuojama funkcijos reikšmė f\left(\varepsilon \right);
% Parametrai z_{1\;} ir z_2 yra koeficientai, iš kurių yra dauginama f\left(\varepsilon \right), t.y. priartinama grafiko dalis yra x\in \left\lbrack z_{1\;} \cdot f\left(\varepsilon \right);{\;z}_{1\;} \cdot f\left(\varepsilon \right)\right\rbrack, y\in \left\lbrack \frac{1}{z_{1\;} \cdot f\left(\varepsilon \right)};\frac{1}{z_{2\;} \cdot f\left(\varepsilon \right)}\right\rbrack.
% Galite stebėti, kaip funkcijos grafikas artėja prie \mathrm{Ox} ašies.

hyp_coef = 2.04;
hyp_epsilon = 0.3;
zoom_in_low_factor = 23;
zoom_in_high_factor = 68;
xx = 0:0.01:10000;
yy = hyp_coef./xx;
plot(xx, yy)
xx_low = (zoom_in_low_factor * hyp_coef)/hyp_epsilon;
xx_up = (zoom_in_high_factor * hyp_coef)/hyp_epsilon;
xlim([xx_low xx_up])
ylim([1/xx_up 1/xx_low])

%
%% II dalis. Baigtinė riba kai x artėja į nulį.
% Šioje dalyje nagrinėsime dar vieną gerai žinomą ypatingąją ribą \underset{x\to 0}{\mathrm{lim}} \frac{\mathrm{sin}\left(x\right)}{x}=1. Funkcijos f\left(x\right)=\frac{\mathrm{sin}\left(x\right)}{x} grafikas bus braižomas intervale x\in \left\lbrack -1;1\right\rbrack.
% Galite keisti du parametrus, kurie yra atsakingi už tai, kokia grafiko dalis yra priartinama:
% Prarametras z  yra naudojamas ašiai \mathrm{Ox} priartinti, t.y. vaizduojamas intervalas x\in \left\lbrack -1+\frac{z}{1000};1+\frac{z}{1000}\right\rbrack;
% Parametras \varepsilon yra naudojamas ašiai \mathrm{Oy} priartinti, t.y. vaizduojamas intervalas x\in \left\lbrack 1-\varepsilon \cdot \frac{z}{1000};1+\varepsilon \cdot \frac{z}{1000}\right\rbrack.
% Galite stebėti, kaip funkcijos grafikas artėja prie tiesės y=1.

unity_zoom_factor = 903;
unity_epsilon = 0.01;

xu = -1:0.00001:1;
yu = sin(xu)./xu;
plot(xu, yu)
        
xlim([-1+unity_zoom_factor/1000 1 - unity_zoom_factor/1000])
ylim([1 - unity_epsilon * unity_zoom_factor/1000 1 + unity_epsilon * unity_zoom_factor/1000])

%
%% III dalis. Begalinė riba kai x artėja į nulį.
% Panagrinėkime dar vieną funkciją: f\left(x\right)=\frac{a}{x^2 }. Žinome, kad šios funkcijos riba \underset{x\to 0}{\mathrm{lim}} \frac{a}{x^2 }=+\infty. Paanalizuosime šią ribą plačiau. Grafikas bus braižomas intervale x\in \left\lbrack -1;1\right\rbrack.
% Galite keisti funkcijos parametrą a\in \left\lbrack 0\ldotp 01;10\right\rbrack ir du parametrus, kurie yra atsakingi už tai, kokia grafiko dalis yra priartinama. Parametrai \varepsilon ir z  yra naudojamas ašiai \textrm{Ox} priartinti, t.y. vaizduojamas intervalas x\in \left\lbrack -\varepsilon +\frac{z}{1000};\varepsilon +\frac{z}{1000}\right\rbrack.
% Galite stebėti, kaip funkcijos grafikas artėja prie \mathrm{Oy} ašies.

inv_sq_coeff = 0.84;
inv_sq_epsilon = 0.007;
inv_sq_zoom = 1000;
x = -1:0.00001:1;
y = inv_sq_coeff./x.^2;
plot(x, y)        
xlim([-inv_sq_epsilon-1/inv_sq_zoom inv_sq_epsilon + 1/inv_sq_zoom])
ylim([min(y) max(y)])

%
%% IV dalis. Riba neegzistuoja kai x neaprėžtai didėja.
% Nagrinėsime sinuso funkciją f\left(x\right)=\mathrm{sin}\left(x\right). Akivaizdu, kad \underset{x\to +\infty }{\mathrm{lim}} \mathrm{sin}\left(x\right) neegzistuoja. Paanalizuosime sinuso funkcijos elgesį plačiau. Grafikas bus braižomas intervale x\in \left\lbrack -100;100\right\rbrack.
% Galite keisti intervalo galus z_1 ir z_2 ir matyti funkcijos elgesį.

sin_int_low = -100;
sin_inv_high = 100;
t = -100:0.01:100;
z = sin(t);
plot(t, z)
xlim([sin_int_low sin_inv_high])
ylim([-1 1])

%% Pabandykite patys
% Šiame pratine nagrinėjome pirmąją ypatingąją ribą \underset{x\to 0}{\mathrm{lim}} \frac{\mathrm{sin}\left(x\right)}{x}=1. Paanalizuokite antrąją ypatingąją ribą \underset{x\to \infty \;}{\mathrm{lim}} {\left(1+\frac{1}{x}\right)}^x =e.
% Grafiškai pavaizduokite ribą {\underset{x\to +0}{\mathrm{lim}} \;x}^{\frac{2}{\mathrm{ln}\left(x\right)}} ir raskite jos reikšmę.