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: yb, 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)');