Il metodo dei minimi quadrati è un metodo numerico per trovare
un vettore
che minimizza
e può essere
applicato all'interpolazione di funzioni mediante polinomi.
Supponiamo di aver effettuato dei campionamenti su un fenomeno
mediante
coppie
e supponiamo che il fenomeno cresca
come un polinomio di grado
il problema è
trovare il polinomio
che minimizza le distanze
euclidee
;
chiamiamo
con
p=MinQuad(x,y,grado) -
Trova i coefficienti di un polinomio
del grado immesso come parametro, che minimizza le distanze euclidee
tra i dati sperimentali (x[i],y[i]) e i valori assunti dal polinomio
nelle varie x[i].
%MINQUAD %function p=MinQuad(x,y,grado) % % Calcola il polinomio del grado specificato % date le misure sperimentali x e y con il % metodo dei minimi quadrati. function p=MinQuad(x,y,grado) V=VandermondeRett(x,grado+1); p=OR(V,y,2); return
>> x=1:1:10;
>> MinQuad(x,x,1)
ans =
0 1
>> type parabpert
function y=parabpert(x)
y=3*x^2+2*x+5+sin(x/10);
>> x=1:1:10;
>> y=mfeval('parabpert',x)
y =
10.0998
21.1987
38.2955
61.3894
90.4794
125.5646
166.6442
213.7174
266.7833
325.8415
>> MinQuad(x,y,2)
ans =
5.0033 2.1035 2.9982
>> polyfit(x,y,2)
ans =
2.9974 2.1114 4.9873
La procedura descritta sopra utilizza due procedure ausiliarie:
|
2004-05-29