Blatt 5

Contents

Called Functions

Aufgabe 17

x = [-30 -3 3 30];

err=MyExp(x)-exp(x);
disp(' ')
for i = 1:length(x)
    fprintf('MyExp(%2.f)-exp(%2.f) = %8.8e \n',x(i),x(i),err(i))
end
disp(' ')
 
MyExp(-30)-exp(-30) = 7.57306469e-29 
MyExp(-3)-exp(-3) = -2.56739074e-16 
MyExp( 3)-exp( 3) = 6.39488462e-14 
MyExp(30)-exp(30) = -7.81250000e-03 
 

Aufgabe 18

d=[3, 7, 15, 1, 292, 1, 1, 1, 2, 1, 3, 1, 14, 2, 1, 1, 2, 2,...
  2, 2, 1, 84, 2, 1, 1, 15, 3, 13, 1, 4, 2, 6, 6, 99, 1, 2,...
  2, 6, 3, 5, 1, 1, 6, 8, 1, 7, 1, 2, 3, 7, 1, 2, 1, 1];

disp(' ')
for i = 1:length(d)
    MyPi = MyKett(d(1:i));
    fprintf('# = %2i, pi - MyPi = %8.8e\n',i,pi-MyPi)
    if pi-MyPi == 0
        break
    end
end
disp(' ')
 
# =  1, pi - MyPi = 1.41592654e-01
# =  2, pi - MyPi = -1.26448927e-03
# =  3, pi - MyPi = 8.32196275e-05
# =  4, pi - MyPi = -2.66764189e-07
# =  5, pi - MyPi = 5.77890624e-10
# =  6, pi - MyPi = -3.31628058e-10
# =  7, pi - MyPi = 1.22356347e-10
# =  8, pi - MyPi = -2.91433544e-11
# =  9, pi - MyPi = 8.71525074e-12
# = 10, pi - MyPi = -1.61071156e-12
# = 11, pi - MyPi = 4.04121181e-13
# = 12, pi - MyPi = -2.22044605e-14
# = 13, pi - MyPi = 4.44089210e-16
# = 14, pi - MyPi = -4.44089210e-16
# = 15, pi - MyPi = 0.00000000e+00
 

Aufgabe 19

A = magic(5);   B = rand(6);

disp(' ')
fprintf('MyDet(A) = %4.4e, det(A) = %4.4e, ERR = %4.4e\n',...
                  MyDet(A),       det(A) , abs(MyDet(A)-det(A)))
fprintf('MyDet(B) = %4.4e, det(B) = %4.4e, ERR = %4.4e\n',...
                  MyDet(B),       det(B) , abs(MyDet(B)-det(B)))
 
MyDet(A) = 5.0700e+06, det(A) = 5.0700e+06, ERR = 9.3132e-10
MyDet(B) = 1.2923e-03, det(B) = 1.2923e-03, ERR = 7.1557e-18

Aufgabe 20

f   = @(x) (x^2-2)^2;
tol = 1.e-6;
x0  = 1.;
x1  = 1.5;

[x, n] = sekant(f,x0,x1,tol);

disp(' ')
fprintf('NST = %9.8f, Nach n = %3i Iterationen.\n',x,n)
 
NST = 1.41450882, Nach n =  13 Iterationen.
MyDet
function d = MyDet(A)
[n,m]=size(A);
if n~=m; return; end

if n==2
    d = A(1,1)*A(2,2)-A(1,2)*A(2,1);
else
    d=0;
    for i=1:n
        d = d + A(i,1)*(-1)^(i+1)*MyDet(A([1:i-1,i+1:n],[2:n]));
    end
end
end
MyExp
function My_exp = MyExp(x)

    n=1;
    while any(abs(x) > 0.5)
        n=n*2;
        x=x./2.;
    end
    My_exp = 1;
    div = 1;
    for i=1:15
        div = div*i;
        My_exp = My_exp + 1/div*x.^i;
    end
    My_exp=My_exp.^n;
end
MyKett
function MyPI = MyKett(d)

if length(d)>1
    MyPI = d(1)+1./MyKett(d(2:end));
else
    MyPI = d(1);
end
end
sekant
function [x, n] = sekant(f,x0,x1,tol)
n    = 0;
xn   = x1;
xn_1 = x0;

while ( abs(f(xn))>tol && abs(xn-xn_1)>tol && n<1000)
    tmp = xn - (xn-xn_1)/(f(xn)-f(xn_1))*f(xn);
    xn_1 = xn;
    xn   = tmp;
    n    = n+1;
end
x = xn;
end