Anda di halaman 1dari 3

INTERPOLASI DAN EKSTRAPOLASI

INTERPOLASI

Koding 1

% Program Interpolasi Kuadrat

% x0 x1 x2 adalah titik data

clc;

clear;

x=input ('Masukkan x = ');

x0=input ('Masukkan x0= ');

x1=input ('Masukkan x1= ');

x2=input ('Masukkan x2= ');

% f(x)=ln(x)

fx0=log(x0);

fx1=log(x1);

fx2=log(x2);

b0=fx0;

b1=(fx1-fx0)/(x1-x0);

c=(fx2-fx1)/(x2-x1);

d=(fx1-fx0)/(x1-x0);

b2=(c-d)/(x2-x0);

fx=b0+b1(x-x0)+b2(x-x0)*(x-x1);

fprintf('jadi y=%3.7f\n',fx)

koding 2

% Interpolasi Lagrange

clc;

clear;

fprintf('Interpolasi Lagrange\n')

n=input ('Banyak pasangan titik (n) yang diketahui = ');


for i=1:n

x(i)=input(['x',num2str(i),'=']);

y(i)=input(['y',num2str(i),'=']);

end;

xb=input('Masukkan Nilai x yang akan dicari = ');

int_lag=0

for i=1:n

Li=1;

for j=1:n

if(j~=i)

a=(xb-x(j))/(x(i)-x(j));

Li=Li*a;

end;

end;

int_lag=int_lag+Li*y(i);

end;

fprintf('Nilai Interpolasi Lagrange Dari x adalah %8.5f\n',int_lag)

Extrapolasi

Koding 1

clc;

clear;

disp ( ' EKSTRAPOLASI ' );

disp (' ')

x = [0.01559 0.30748 0.31205 0.90105 1.21687 1.47891 1.52135 3.25427 3.42342 3.84589]';

y = [0.73138 0.91397 0.83918 1.05687 1.18567 1.23277 1.25152 1.79252 1.85110 1.98475]';

V = [x x.^0];

c=V\y

polyval( c, 4.5 )

plot( x, y, 'o' );
xs = 0:5;

ys = polyval( c, xs );

hold on

plot( xs, ys );

koding 2

clc;clear;

disp ( ' EKSTRAPOLASI ' );

disp (' ')

x = [.1 .2 .3 .4 .5 .6 .7 .8 .9 1.7 1.8 1.9 2];

y = [50 65 70 80 90 100 110 120 150 180 220 295 400 ];

[p,S,mu] = polyfit(x,y,5);

xe = linspace(min(x),4);

[ye,dlta] = polyval(p,xe,S,mu);

figure(1)

plot(x,y, '*')

hold on

plot(xe,ye,'-b', xe,ye+dlta,'-r', xe,ye-dlta,'-r')

hold off

% axis([0 3 0 500])

grid

fprintf(1,'\n\tExtrapolated value at x = 4 is %.4f ± %.4f\n\n', ye(end), dlta(end))

Anda mungkin juga menyukai