• 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 è

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

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

[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 ...