%
% Interpolación lineal básica.
%

senexp = @(x) (exp(-x / 2) .* sin((exp(x) - 1) / 2));

xtable = 0:0.005:5;
ytable = senexp(xtable);
ntable = length(xtable);

setintertable(ntable, xtable, ytable);

xfun = 0:0.001:5;
yfun = senexp(xfun);

close all;
plot(xfun, yfun, '-g');
hold on;

yint = xfun;

global NroInvocaciones NroIteraciones;
NroInvocaciones = 0;
NroIteraciones = 0;

for i = 1:length(xfun)
  yint(i) = interpol2c(xfun(i));
end

plot(xfun, yint, '-r');

figure;
plot(xfun, yfun, '-g');
xlim([4.63 4.67]);
hold on;
plot(xfun, yint, '-r');

fprintf('Invocaciones %d, Iteraciones %d\n', ...
        NroInvocaciones, NroIteraciones);
fprintf('Prom. iteraciones por invocación %g\n', ...
        NroIteraciones / NroInvocaciones);
    