

%fl.m

%zad 1 eps maszynowy experymentalnie

a=1;n=0;
while(a+1>1)
 a=a*0.5;
 n++;
end
n-1
2*a
eps

%zad 2 wykres f(x)(1+a)-a dla a=10^k k=3,4,5,6...

a=1e10;
x=linspace(0,1);
for k=1:10,
 plot(x,(x+a)-a);
 a*=5;
 pause(1);
end


%zad 3 f(x)=x-sqrt(1+x.*x)
% kontra matematycznie tozsamy wzor -1./(1+sqrt(1+x.*x)
N=15; x=zeros(N,1);
x(1)=1;
for k=2:N,
 x(k)=x(k-1)*10;
end

f1=@(x) x-sqrt(1+x.*x);
f2=@(x) -1.0./(x+sqrt(1+x.*x));

y1=f1(x);
y2=f2(x);
ar=abs(y1-y2);
re=ar./(-y2)


%zad 4 nasz exp(x) \approx \sum_{k=0}^N x^k/k!


function y=nexp(x,N=100)

 y=a=ones(size(x));
 k=1; 
 for k=1:N,
   a=(a.*x)/k;  %a=x^k/k!=(x^{k-1}/(k-1)!)*x/k
   y+=a;
 endfor
end%function

x=[0.1, 1, 2, 10, 20,30,40,50];
x=[-fliplr(x),x];
ar=nexp(x)-exp(x)
re=ar./exp(x)

%zad 5 wykres (x-2)^4 liczony na dwa sposoby
%a=(x-2)*(x-2)*(x-2)*(x-2) i z rozwiniecia
% w dwumian Newtona a=x^4-...+2^4
%na [2-a,2+s] dla a1e-2,1e-3,1e-4
%czy obliczenia wartosci wfunkcji dla x: |x-2|<10^{-4} ma sens
%(oczywiscie uwzgledniajac dokladnosc wzgledna)?
f1=@(x) (x-2).*(x-2).*(x-2).*(x-2);
f2=@(x) 16 - 8*4*x + 4*6*x.*x - 2*4*x.*x.*x + x.*x.*x.*x;

a=1e-2;
for k=1:3,
 x=linspace(2-a,2+a);
 comment=[";x^4+..16,a=",num2str(a),";"]
 plot(x,f1(x),";(x-2)^4;",x,f2(x),comment);
 pause(3);
 a*=1e-1;
end


%calka I(n)=\int_0^1 x^(n-1)/(x+5) n=1,2,3
%wzor rekurencyjny I(n)=1/(n-1) - 5*I(n-1) n=2,3,...
%I(0)=log(6/5)
%1/(6*n)<=I(n)<=1/(6*n) poniewaz 5<=(x+5)<=6 i \int_0^1 x^(n-1)=1/n
I=zeros(31,1);
I(1)=log(6/5);
for k=2:31,
 I(k)=1/(k-1)-5*I(k-1);
end
nn=(1:31)';
in=1./nn;
lin=(in >6*I);
rin=(in < 5*I);
WRONG=lin+rin;
[nn,I,lin,rin,WRONG]

%iteration backward
IB=zeros(31,1);
IB(31)=in(31)/5.5;
for k=31:-1:2,
 %I(k)=1/(k-1)-5*I(k-1);
 IB(k-1)=(1/(k-1)-IB(k))/5;
end
IB-I
IB(1)-log(6/5)
