% Esempio di Carl Runge
f = inline('1./(1 + x.^2)')
x = linspace(-5,5);
plot(x,f(x));
axis equal;
hold on;
nodi = linspace(-5,5,10);
p9 = polyfit(nodi,f(nodi),9)
yp9 = polyval(p9,x);
plot(x,yp9,'r');
nodi16 = linspace(-5,5,16);
p15 = polyfit(nodi16,f(nodi16),15);
yp15 = polyval(p15,x);
plot(x,yp15,'g');
axis equal off;
hold off;
% nodi di Chebyshev-Gauss-Lobatto
nodic = -5*cos(pi/15*[0:15]);
p15c = polyfit(nodic,f(nodic),15);
yp15c = polyval(p15c,x);
plot(x,f(x));
hold on;
plot(x,yp15c,'r');
% retta di regressione o dei minimi quadrati
x = [1 2 5]
y = [4 1 4]
hold off;
plot(x,y, 'or');
retta = polyfit(x,y,1)
xx = linspace(1,5);
yretta = polyval(retta,xx);
plot(xx,yretta)
hold on
plot(x,y, 'or');
plot(mean(x),mean(y),'ob');
cov(x,y)/var(x)
% scambio di x e y NON risulta in una retta di regressione
% specolare rispetto alla retta di equazione y =x
plot(mean(y),mean(x),'og');
plot(xx,xx,'k');
axis equal;
retta2 = polyfit(y,x,1);
yretta2 = polyval(retta2, xx);
plot(xx, yretta2, 'g');
quit
# Octave 3.6.2, Wed Dec 12 16:59:43 2012 CET <achilles@achilles-TOSH>

