Contents

Called Functions

VL 10

clear all;
close all;

Kondition

A = [4.1, 2.8; 9.7, 6.6];
b = [4.1; 9.7];
x = A\b
x =

     1
     0

btilde = [4.11;9.70];
xtilde = A\btilde
xtilde =

    0.3400
    0.9700

db = b-btilde;
norm(db,2)
dx = x-xtilde;
norm(dx,2)
ans =

    0.0100


ans =

    1.1732

B=norm(db,2)/norm(b,2)
X=norm(dx,2)/norm(x,2)
B =

   9.4959e-04


X =

    1.1732

Es gilt: Kondition von A >= X/B

X/B
cond(A,2)
ans =

   1.2355e+03


ans =

   1.6230e+03

Interpolation

Stueckweise lineare Interpolation

x = 1:6;
y = [16,18,21,17,15,12];
plot(x,y,'ro',x,y,'b-')
title('Stueckweise lineare Interpolation','FontSize',14)

Wie berechnet Matlab die blaue Kurve?

PIECELIN: Berechne stueckweise lineare Interpolation

u = 1:0.0001:6;
v = piecelin(x,y,u);
plot(u,v,'k',x,y,'ro')
piecelin
function v = piecelin(x,y,u)
%PIECELIN  Piecewise linear interpolation.
%  v = piecelin(x,y,u) finds the piecewise linear L(x)
%  with L(x(j)) = y(j) and returns v(k) = L(u(k)).

%  First divided difference

   delta = diff(y)./diff(x);

%  Find subinterval indices k so that x(k) <= u < x(k+1)

   n = length(x);
   k = ones(size(u));
   for j = 2:n-1
      k(x(j) <= u) = j;
   end

%  Evaluate interpolant

   s = u - x(k);
   v = y(k) + s.*delta(k);