• Non ci sono risultati.

Minimi quadrati in Matlab per Ingegneria dell’Energia Laboratorio. 1

N/A
N/A
Protected

Academic year: 2021

Condividi "Minimi quadrati in Matlab per Ingegneria dell’Energia Laboratorio. 1"

Copied!
2
0
0

Testo completo

(1)

Minimi quadrati in Matlab per Ingegneria dell’Energia Laboratorio. 1

A. Sommariva

2

Abstract

Interpolazione spline, esempi.

Ultima revisione: 17 dicembre 2018

1. Esercizio

Si supponga che le coppie, (x

k

, y

k

), k = 1, . . . , 21, corri- spondano alla k-sima riga della matrice

dati=[ 1.0000e+00 -1.9450e+00 1.2000e+00 -1.2530e+00 1.4000e+00 -1.1400e+00 1.6000e+00 -1.0870e+00 1.8000e+00 -7.6000e-01 2.0000e+00 -6.8200e-01 2.2000e+00 -4.2400e-01 2.4000e+00 -1.2000e-02 2.6000e+00 -1.9000e-01 2.8000e+00 4.5200e-01 3.0000e+00 3.3700e-01 3.2000e+00 7.6400e-01 3.4000e+00 5.3200e-01 3.6000e+00 1.0730e+00 3.8000e+00 1.2860e+00 4.0000e+00 1.5020e+00 4.2000e+00 1.5820e+00 4.4000e+00 1.9930e+00 4.6000e+00 2.4730e+00 4.8000e+00 2.5030e+00 5.0000e+00 2.3220e+00];

Si definisca un file

esercizio regressione lineare come segue.

• Mediante il comando dati(:,1), dati(:,2), si se- lezionino le ascisse x e le ordinate y.

• Si calcoli i coefficienti P della retta di regressione.

• Stampare il polinomio di regressione p

1

utilizzando fprintf.

Il polinomio `e P (1) · x + P (2) oppure P (2) · x + P (1)?

• Si valuti il polinomio di regressione p

1

nei punti equispa- ziati x

j

e sia z

k

= p

1

(x

k

).

• Si calcolino mediante tali valutazioni, l’errore di regres- sione

v u u t

21

X

k=1

(y

k

− z

k

)

2

e lo si stampi a video.

• In una figura si determino le coppie estratte dal file di dati e si disegni la retta di regressione.

2. Svolgimento

Utilizziamo quale base

demo regressione lineare

function esercizio_regressione_lineare

% esercizio sulla regressione lineare

% vettori riga dei dati da approssimare dati=[ 1.0000e+00 -1.9450e+00

1.2000e+00 -1.2530e+00 1.4000e+00 -1.1400e+00 1.6000e+00 -1.0870e+00 1.8000e+00 -7.6000e-01 2.0000e+00 -6.8200e-01 2.2000e+00 -4.2400e-01 2.4000e+00 -1.2000e-02 2.6000e+00 -1.9000e-01 2.8000e+00 4.5200e-01 3.0000e+00 3.3700e-01 3.2000e+00 7.6400e-01 3.4000e+00 5.3200e-01 3.6000e+00 1.0730e+00 3.8000e+00 1.2860e+00 4.0000e+00 1.5020e+00 4.2000e+00 1.5820e+00 4.4000e+00 1.9930e+00 4.6000e+00 2.4730e+00 4.8000e+00 2.5030e+00 5.0000e+00 2.3220e+00];

x=dati(:,1); y=dati(:,2);

% coeff. retta regressione "P(1)*x+P(2)".

P=polyfit(x,y,1);

% stampa retta regressione

fprintf('\n \t (%1.15e)*x+(%1.15e)',P(1),P(2));

% --- calcolo errore regressione ---

% valore "p_1" nelle ascisse "x"

z=polyval(P,x);

% errore ||f-p_1||_2 err2=norm(z-y,2);

1

(2)

fprintf('\n \t Errore regressione norma2: %1.2e',err2);

% --- grafico esperimento regressione ---

clf;

% plot punti

plot(x,y,'go','LineWidth',1,...

'MarkerEdgeColor','k',...

'MarkerFaceColor','g',...

'MarkerSize',10);

hold on;

% plot retta regressione plot(x,z,'k-','LineWidth',2);

% titoli e legenda

title('Regressione lineare');

legend('Dati','Retta di regressione') hold off;

fprintf('\n \n');

Il file `e simile a quello citato. Alcune differenze sono le seguenti.

• Con x=dati(:,1); y=dati(:,2); si estraggono i vettori di ascisse e ordinate.

• Determinato il vettore dei coefficienti, per stamparlo ba- sta

fprintf('\n \t (\%1.15e)*x+(\%1.15e)',P(1),P(2));

Per convincersi che `e l’ordine giusto, l’help di polyval dice

>> help polyval

polyval Evaluate polynomial.

Y = polyval(P,X) returns the value of a ...

polynomial P evaluated at X. P

is a vector of length N+1 whose elements are ...

the coefficients of the

polynomial in descending powers.

Y = P(1)*XˆN + P(2)*Xˆ(N-1) + ... + P(N)*X...

+ P(N+1)

• Per fare il plot del polinomio di miglior approssimazione ai minimi quadrati, visto che `e una retta bastano due pun- ti della stessa. Quindi visto che (x

k

, z

k

), k = 1, . . . , 21, z

k

= p

1

(x

k

) giacciono su tale retta, unendoli tra di lo- ro per interpolazione lineare (come fa plot) si ottiene proprio la retta desiderata.

Il grafico dell’esperimento viene espresso in figura.

1 1.5 2 2.5 3 3.5 4 4.5 5

-2 -1.5 -1 -0.5 0 0.5 1 1.5 2 2.5

3 Regressione lineare

Dati Retta di regressione

Figura 1: Dati e retta di regressione.

2

Riferimenti

Documenti correlati

Ricordiamo che in generale, non ha senso cercare un grado troppo alto del poli- nomio di miglior approssimazione p N in quanto si otterrebbe a partire da un certo valore il

Si può dimostrare usando la procedura di Gram-Schmidt che una tal famiglia tri- angolare di polinomi esiste e con la stessa procedura costruirla direttamente; inoltre è

quasi sempre va risolto con metodi numerici iterativi, al computer in alcuni casi particolari, esiste la soluzione analitica (es.: fit lineare)... altrimenti lo accetto, e i valori

presentare forti oscillazioni tra un nodo e l’altro soprattutto verso gli estremi dell’intervallo, rappresentando male l’andamento dei dati (fenomeno di Runge). Inoltre un polinomio

[r]

Cioè la varianza della media pesata è data dall'inverso della somma degli inversi delle singole varianze (e quindi è inferiore alla più piccola di esse).. Bisogna prestare

1 Se la funzione assume esattamente i valori rilevati, e quindi il suo grafico passa per tutti i punti del diagramma a dispersione, parliamo di interpolazione per punti noti

Se vogliamo minimizzare (col metodo dei  minimi quadrati) la distanza di un punto da  una retta ...