Materiały pomocnicze - Wydział Elektrotechniki i Automatyki

Transkrypt

Materiały pomocnicze - Wydział Elektrotechniki i Automatyki
Politechnika Gdańska
Wydział Elektrotechniki i Automatyki
Katedra Inżynierii Systemów Sterowania
MODELOWANIE I IDENTYFIKACJA
Studia niestacjonarne
Estymacja parametrów modeli, metoda najmniejszych
kwadratów.
Materiał pomocniczy do laboratorium – termin 4
Opracowanie:
Kazimierz Duzinkiewicz, dr hab. inż.
Michał Grochowski, dr inż.
Robert Piotrowski, dr inż.
Tomasz Rutkowski, dr inż.
Studia niestacjonarne: LABORATORIUM MODELOWANIA I IDENTYFIKACJI
2013/2014
Zadanie 1
Wykorzystując metodę najmniejszych kwadratów oraz zestaw danych pomiarowych
(Tabela 1), wyznaczyć „optymalne” wartości współczynników modelu
matematycznego:
yb, u   b0  b1u
Optymalne wartości współczynników oznaczają „najlepsze” dopasowanie modelu do
danych eksperymentalnych.
W zadaniu, należy:

wyznaczyć optymalne wartości współczynników metodą najmniejszych
kwadratów,

przedstawić graficznie „dopasowanie” analizowanego modelu do zestawu
danych eksperymentalnych,

wyznaczyć i przedstawić graficznie błędy resztkowe (residua).
Tabela 1. Zestaw danych eksperymentalnych
- rozpuszczalność azotanu sodu w zależności od temperatury
pomiar
temperatura
rozpuszczalność
1
0
66,7
2
4
71,0
3
10
76,3
4
15
80,6
5
21
85,7
6
29
92,9
7
36
99,4
8
51
113,6
9
68
125,1
Wskazówka:
W celu rozwiązania zadania należy napisać odpowiedni skrypt/skrypty w m-pliku.
Studia niestacjonarne: LABORATORIUM MODELOWANIA I IDENTYFIKACJI
2013/2014
Rozwiązanie Zadania 1
Przykładowe skrypty w m-plikach realizujące polecania z Zadania 1
1) Skrypt do wyznaczanie „optymalnych” parametrów modelu metodą najmniejszych
kwadratów.
%------------------------------------------------------% Metoda Najmniejszych Kwadratow
% - czyli jak najlepsze wpasowanie Modelu (2) w Dane (1)
%------------------------------------------------------%------------------------------% Dane eksperymentalne (1)
%------------------------------% wektor wejsc
u = [0 4 10 15 21 29 36 51 68];
u = u';
% wektor wyjsc
y = [66.7 71.0 76.3 80.6 85.7 92.9 99.4 113.6 125.1];
y = y';
% ile jest danych eksperymentalnych
[ile_w ile_k] = size(u);
%------------------------------% Model
(2)
%------------------------------% model ktorego wspolczynnikow poszukujemy:
% y = b0*u0 + b1*u1
% przy czym w naszym przypadku u0 = 1, wiec:
% y = b0 + b1*u1
%
% y - jedno wyjscie
% u = [u0 u1] = [1 u1] - dwa wejscia
liczba_wejsc = 2;
%------------------------------% Konstruowanie macierzy
%------------------------------% macierz wejsc U
H = zeros(ile_w, liczba_wejsc);
% pierwsza kolumna macierzy H
H(:,1) = 1;
% druga kolumna macierzy H
H(:,2) = u;
%------------------------------% Metoda Najmniejszych Kwadratow
% - wyznaczenie optymalnych wartosci parametrow b0 i b1 Modelu (2)
% - b_est = [b0 b1]
%------------------------------b_est = (H'*H)^-1*H'*y
%------------------------------% Wyznaczenie wyjscia Modelu (2) przy optymalnych parametrach b_est
%------------------------------y_est = b_est(1,1) + b_est(2,1).*u;
Studia niestacjonarne: LABORATORIUM MODELOWANIA I IDENTYFIKACJI
2013/2014
2) Skrypt przedstawiający w formie graficznej dopasowanie modelu do danych
eksperymentalnych oraz błędy resztkowe (residua)
%------------------------------% Dopasowanie modelu do danych eksperymentalnych
%------------------------------figure;
plot(u(:,1),y(:,1),'+');
xlabel('Temperatura');
ylabel('Rozpuszczalnosc: dane eksperymentalne i najlepsze dopasowanie');
title('Dopasowanie Modelu (2) do danych eksperymentalnych (1)');
hold;
plot(u(:,1),y_est(:,1));
%------------------------------% Bledy resztkowe (Residua)
%------------------------------res = y - y_est;
figure;
plot(u(:,1),res(:,1),u(:,1),res(:,1),'o');
xlabel('Temperatura');
ylabel('Bledy resztkowe (residua)');

Podobne dokumenty