#fl

#zad 1 eps maszynowy
#w arytmetyce double:

y=1;
t=0;
x=1+y;
while(x>1)
 x=1+y;
 y=y/2;
 t++;
end
t--
y*2
#w arytmetyce single
y=1;
t=0;
x=1+y;
x=single(x);y=single(y);
while(x>1)
 x=1+y;
 y=y/2;
 t++;
end
t--
y*2
#zad 2 wykres (x-2)^4 wokol 2

a=1e-3;
x=linspace(2-a,2+1.2*a,1000);
y1=(x-2).*(x-2);y1=y1.*y1;
y2=x.*x.*x.*x-8*x.*x.*x + 24*x.*x -32*x+16;
 
plot(x,y1);
pause(1);
plot(x,y2,x,0*x,"r")
pause(2);
plot(x,y1-y2)

#zad 3 exp(x) z szeregu

function a=nexp(x,N=1000)

 a=1+x;
 y=x;
 for k=2:N,
   y=y.*x/k;
   a+=y;
 endfor
endfunction

x=-100:10:100;

#blad bezwgledny
er=exp(x)-nexp(x)
#blad wzgledny
erw=er./exp(x)


function a=nexpp(x,N=1000)
#poprawiona funkcja 
#dla x<0 a=1/nexp(-x,N)
#wersja wektorowa (bez petli)
 uj=(x<0);
 nuj=(x>=0);
 b=1./nexp(-x,N);
 a=nexp(x,N);
 a=a.*nuj + b.*uj; 
endfunction

x=-100:10:100;

#blad bezwgledny
er1=exp(x)-nexpp(x)
#blad wzgledny
erw1=er1./exp(x)





