Zajęcia laboratoryjne: Excel dla Inżynierów (EXDIN)
Temat: Rozwiązywanie układów równań liniowych z wykorzystaniem działań na macierzach cz.2
Plan zajęć:
Analiza danych w pomiarach odchyłek kształtu,
Równanie algebraiczne okręgu i zapis macierzowy,
Metody rozwiązywania układów równań liniowych z wykorzystaniem funkcji SVD,
Wprowadzenie funkcji generowania liczb pseudolosowych,
Prezentacja graficzna wyników regresji,
Realizacja zadań obliczeniowych.
Analiza danych w pomiarach odchyłek kształtu
Zagadnienie dopasowania danych pomiarowych do równania okręgu jest problemem powszechnym w inżynierii pomiarowej. Dotyczy to takich zagadnień jak pomiary odchyłek kształtu (okrągłości), gdzie obok poszukiwania okręgów opisanych i wpisanych w dane pomiarowe poszukuje się również równania „dopasowanego” metodą najmniejszych kwadratów. Współrzędnościowa technika pomiarowa stosowana powszechnie w specjalistycznych maszynach pomiarowych pozwala na rejestrację punktów pomiarowych tworzących rzeczywisty zarys obiektu. Dane te stanowią podstawę do dalszych obliczeń statystycznych i metrologicznych badanego zarysu. Rys. 1 przedstawia typowe przykłady obliczeniowe zarysu rzeczywistego dla czterech różnych przypadków opisanego okręgu. Omawiany w dalszej części przykład dotyczy dopasowania „kwadratowego”.
Zagadnienie dopasowania „kwadratowego” jest problemem nieliniowym jakkolwiek jednak można zastosować pewne uproszczenia i rozwiązać ten problem z wykorzystaniem zapisu liniowego. To uproszczenie określane jest mianem minimalizacji odległości w zapisie algebraicznym. Rozwiązanie takie można stosować w przypadkach dużej ilości danych pomiarowych i przy niewielkich błędach pomiarowych. Najczęściej jest jednak stosowane do wstępnego określenia promienia i przesunięcia środka okręgu do dalszych, bardziej precyzyjnych obliczeniach numerycznych.
Rys. 1. Okręgi współrzędnościowego pomiaru: a) minimalnej strefy, b) najmniejszych kwadratów, c) najmniejszy opisany, d) największy wpisany
Równanie algebraiczne okręgu i zapis macierzowy
Zaproponowane w pracy [1] podejście algebraiczne pozwala na zapisanie równia okręgu w następującej postaci:
axTx + bTx + c = 0 (1)
Stosując podstawienie wektorów:
x=(x1, x2)T oraz b=(b1, b2)T
otrzymamy kolejną postać zapisu algebraicznego:
$\text{a.}\left( x_{1}\text{\ \ }x_{2} \right).\begin{pmatrix} x_{1} \\ x_{2} \\ \end{pmatrix} + \left( b_{1}\text{\ \ }b_{2} \right).\begin{pmatrix} x_{1} \\ x_{2} \\ \end{pmatrix} + c = 0$ (2)
a stąd po wymnożeniu równanie przyjmuje następującą postać
a(x12+x22) + b1x1 + b2x2 + c = 0 (3)
Równanie (3) pozwala na przejście do zapisu macierzowego, zgodnie z którym:
$\left( \begin{matrix} x_{m1}^{2} + x_{m2}^{2} & x_{m1} & x_{m2} \\ \vdots & \vdots & \vdots \\ \end{matrix}\text{\ \ \ \ }\begin{matrix} 1 \\ \vdots \\ \end{matrix} \right).\begin{pmatrix} \begin{matrix} a \\ b_{1} \\ b_{2} \\ \end{matrix} \\ c \\ \end{pmatrix} = 0$ (4)
$\left( \begin{matrix} x_{m1}^{2} + x_{m2}^{2} & x_{m1} & x_{m2} \\ \vdots & \vdots & \vdots \\ \end{matrix}\text{\ \ \ \ }\begin{matrix} 1 \\ \vdots \\ \end{matrix} \right)$ (4a)
gdzie: wzorem (4a) określamy macierz główną, m określa ilość równań
i jednocześnie ilość punktów pomiarowych. Rozwiązanie równania (4) odbywa się podobnie jak w przykładzie dotyczącym poszukiwania równania płaszczyzny dopasowanej do punktów pomiarowych. Uruchomienie makra z dodatkami do Algebry Liniowej pozwala na zastosowanie funkcji SVDV rozszerzającej możliwości programu EXCEL w zakresie obliczeń macierzowych. Poniżej przedstawiono sposób wyznaczania wektora niewidomych (4) wykorzystując macierz V:
$\text{SVDV}\left( \begin{matrix} x_{m1}^{2} + x_{m2}^{2} & x_{m1} & x_{m2} \\ \vdots & \vdots & \vdots \\ \end{matrix}\text{\ \ \ \ }\begin{matrix} 1 \\ \vdots \\ \end{matrix} \right) \Rightarrow V^{T} = \ \left( \begin{matrix} \begin{matrix} v_{11} & v_{21} & v_{31} \\ v_{12} & v_{22} & v_{32} \\ v_{13} & v_{23} & v_{33} \\ \end{matrix}\text{\ \ \ \ }\begin{matrix} v_{41} \\ v_{42} \\ v_{43} \\ \end{matrix} \\ \begin{matrix} v_{14} & v_{24} & \begin{matrix} v_{34} & v_{44} \\ \end{matrix}\ \\ \end{matrix} \\ \end{matrix}\text{\ \ \ \ } \right)\text{\ \ \ \ \ \ \ \ }$ (4b)
$\begin{pmatrix} a & b_{1} & \begin{matrix} b_{2} & c \\ \end{matrix} \\ \end{pmatrix} = \begin{pmatrix} v_{14} & v_{24} & \begin{matrix} v_{34} & v_{44} \\ \end{matrix} \\ \end{pmatrix}$ (4c)
Wyznaczony wektor niewiadomych a,b,c (4c) pozwala na określenie parametrów poszukiwanego okręgu. Poniższy zapis pozwala prześledzić sposób określenia tych wielkości (A, B, R)=f(a,b,c). Bazując na zapisie (3) przekształcamy równanie do postaci powszechnie stosowanej:
(x1 − A)2 + (x2 − B)2 = R2 (5)
gdzie: A i B określają przesunięcie okręgi i R – promień.
Powracając do równania (3) dzielimy dwie strony przez wartość a :
$\left( x_{1}^{2} + x_{2}^{2} \right) + \frac{b_{1}x_{1}}{a} + \frac{b_{2}x_{2}}{a} + \frac{c}{a} = 0$ (6)
Następnie dodajemy do dwóch stron wartość (b1/2a)2+(b2/2a)2 otrzymując:
$x_{1}^{2} + \frac{b_{1}}{a}x_{1} + \left( \frac{b_{1}}{2a} \right)^{2} + x_{2}^{2} + \frac{b_{2}}{a}x_{2} + \left( \frac{b_{2}}{2a} \right)^{2} = - \frac{c}{a} + \left( \frac{b_{1}}{2a} \right)^{2} + \left( \frac{b_{2}}{2a} \right)^{2}$ (7)
Powyższa postać pozwala na uproszczenie wyrażeń do znanej postaci równania okręgu:
$\left( x_{1}^{2} + \frac{b_{1}}{2a} \right)^{2} + \left( x_{2}^{2} + \frac{b_{2}}{2a} \right)^{2} = \left( \frac{b_{1} + b_{2}}{2a} \right)^{2} - \frac{c}{a}$ (8)
co ostatecznie pozwala wyznaczyć poszukiwane parametry przez porównanie równań (5) i (8):
$$A = - \frac{b_{1}}{2a};\ \ \ B = - \frac{b_{2}}{2a};\ \ \ R = \ \sqrt{\left( \frac{b_{1}^{2} + b_{2}^{2}}{2a^{2}} \right) - \frac{c}{a}}$$
Metody rozwiązywania układów równań liniowych z wykorzystaniem funkcji SVD
Podobnie jak na poprzednich ćwiczeniach, planowane jest zastosowanie funkcji SVD do rozwiązania zagadnienia dopasowania kwadratowego. Zgodnie z tym założeniem każdą macierz rzeczywistą A można przedstawić w postaci rozkładu SVD:
A = U.D.VT (10)
Gdzie ostatni wektor macierzy VT określa wektor niewiadomych układu równań liniowych –zapis (4).
Metody rozwiązywania układów równań liniowych - podsumowanie
Podsumowując podane informacje z zakresu rozwiązywania układów równań liniowych można podać następujący schemat dotyczący rodzaju układów liniowych i ich rozwiązań:
Układ kwadratowy – metoda macierzy odwrotnej i metoda wyznacznikowa
Układ prostokątny jednorodny –wektor macierzy VT
Układ prostokątny ogólny –metoda macierzy pseudoodwrotnej
Wprowadzenie funkcji generowania liczb pseudolosowych
Kolejną funkcją wprowadzoną do realizacji zadań w ćwiczeniach jest generowanie liczb pseudolosowych. Wykorzystanie tej funkcji ma na celu generowanie liczb w modelu matematycznym wykorzystywanym do sprawdzenia założeń. Bazując na danej funkcji możemy utworzyć zbiór liczb idealnych w sensie rozpatrywanego modelu matematycznego. Zaburzenie tych liczb pozwala na poszukiwanie dokładności zastosowanej metody. Poniżej przedstawiono przykład zastosowania tej funkcji.
Funkcja LOS generuje liczbę losowa z zakresu od 0 do 1 za każdym razem, kiedy arkusz jest przeliczany (rys.2). Składnia funkcji jest następująca:
LOS()
Rysunek 2. Funkcja generowania liczb losowych
Prezentacja graficzna wyników regresji
Wykresy 2D
W celu stworzenia krzywej wykresu należy najpierw określić tzw. serie danych w tym celu są potrzebne dwa ciągi kolejnych wartości w celu przypisania ich później do odpowiednich osi. Stwórzmy serie danych, dla osi odciętych – X, tworząc kolumnę przykładowych wartości. Następnie analogicznie dla osi Y, równanie funkcji f(x)=2*x-(0.5*x)^2. W tym momencie mamy już określone wartości dla każdej z osi. Klikamy z menu WSTAW opcje WYKRES.
Wybieramy zakładkę TYPY STANDARDOWE – XY (Punktowy) rys.3.
Rysunek 3. Grafika
Zatwierdzamy wybór przyciskiem DALEJ
Kolejno w zakładce serie klikamy DODAJ, wpisujemy przykładowa nazwę pierwszej z serii „funkcja 1” w polu WARTOSC zaznaczamy w arkuszu żądany zakres argumentów funkcji.
Następnie analogicznie WARTOSC Y. Zatwierdzamy wybór – DALEJ.
Dostęp do menu formatowania wykresu w celu uzyskania przezroczystego obrazu wyników otrzymujemy po kliknięciu prawym przyciskiem myszy na nim (FORMATUJ OBSZAR WYKRESU). W celu sformatowania krzywej wykresu równie mamy dostęp do menu klikając na nią uprzednio a następnie opcje FORMATUJ SERIE DANYCH.
Realizacja zadań obliczeniowych
Zadanie 1
Należy wygenerować zbiór liczb symulujących pomiary okrągłości, deklarując określony błąd losowy i dokonać regresji liniowej. Wykorzystując zapis macierzowy równania okręgu (4) należy wyznaczyć parametry okręgu i dokonać zestawienia danych pomiarowych z wyznaczonym równaniem.
Kolejność działań:
korzystając z zapisy parametrycznego równania okręgu należy wygenerować 90 punktów pomiarowych odpowiadających zadanej funkcji:
$$\left. \ \begin{matrix}
x_{1} = R*\cos\left( \alpha \right) + A \\
x_{2} = R*\sin\left( \alpha \right) + B \\
\end{matrix}\ \right\} dla\ \alpha = 0 \div 360\ stopni$$
przyjmując R=4, A=0.625, B=0.5
dokonać zaszumienia wygenerowanych danych (w przedziale -0.1 do 0.1) wykorzystując funkcję los() (rys.4):
Rysunek 4 obraz wygenerowanych i zaszumionych danych
przedstawić graficznie wyniki danych na wykresie zgodnie z punktem 4. opisu (rys.5).
Rysunek 5. Prezentacja graficzna danych oryginalnych i zaszumionych
utworzyć macierz opisującą system liniowy zapisany wzorem (4a) dla wygenerowanych danych niezaszumionych. W tym celu należy utworzyć cztery kolumny na długości 90 wierszy kolejno dla: sumy kwadratów współrzędnych, współrzędnej odciętej i rzędnej oraz dla jedności (rys.6).
Rysunek 6. Generowanie macierzy głównej układu równań
uruchomienie makra (matrix.xla) zlokalizowanego w katalogu:
Ćwiczenie 3\matrix
obliczyć macierz V a następnie dokonać jej transpozycji VT
wskazać ostatni wektor tej macierzy jako poszukiwane niewiadome układu według wzoru: 4(b) i 4(c) i obliczyć parametry okręgu zgodnie z równaniem (9) (rys.7).
Rysunek 7. Poszukiwane niewiadome układu równań
Uwaga: uzyskany wynik A, B i R powinien być zbliżone z zadeklarowanymi wartościami - punkt pierwszy realizacji zadań.
powtórzyć działania w zakresie utworzenia systemu liniowego dla danych zaszumionych i wyznaczyć poszukiwane wielkości A, B i R.
Dla wyznaczonych wielkości A, B i R wykreślić okrąg i zestawić z danymi zaszumionymi (rys.8)
Rysunek 8. Zestawienie wyników
Zadanie 2
Podobnie jak w poprzednim zadaniu, korzystając z zapisy parametrycznego równania okręgu należy wygenerować 90 punktów pomiarowych odpowiadających zadanej funkcji:
$\left. \ \begin{matrix} x_{1} = R*\cos\left( \alpha \right) + A \\ x_{2} = R*\sin\left( \alpha \right) + B \\ \end{matrix}\ \right\} dla\ \alpha = 0 \div 360\ stopni$ (11)
przyjmując R=4, A=0.625, B=0.5
Dokonać przeskalowania danych zgodnie z poniższym zapisem operacji macierzowych:
$\begin{pmatrix} x_{1}^{'} & x_{2}^{'} \\ \vdots & \vdots \\ \end{pmatrix} = \begin{pmatrix} x_{1} & x_{2} \\ \vdots & \vdots \\ \end{pmatrix}.\begin{pmatrix} s_{x1} & 0 \\ 0 & s_{x2} \\ \end{pmatrix}$ (12)
Obliczyć niewiadome równania (a,b,c) na podstawie macierzy głównej –wzory: (4a,b,c).
Wyznaczyć parametry równania okręgu- wzór (9)
Przedstawić graficznie okrąg o wyznaczonych parametrach
Źródła:
Excel w zastosowaniach inżynierskich, Zbiegniew Smogur, Wydawnictwo Helion
Excel 2007 PL –Biblia, John Walkenbach, Wydawnictwo Wiley
Wikipedia.org
Least-Squares Fitting of Circles and Ellipses-Walter Gander ,Gene H. Golub, Rolf Strebel