Computational Fluid Dynamics - Elementary (b-3)



Least squares method



In previous sections, it is described how to determine polynomials which go exactly through a set of points using Lagrange interpolation and Spline interpolation. In this section obtaining a simple curve (like a line) which goes approximately through a set of data points is considered. For simplicity, just the linear approximation (constant and linear fit) is explained here.


Constant least squares


Using constant least square method, it is possible to approximate a line $ y = c $ through the set of data points considering the minimum deviation from each point. Therefore the error function $ g $ should be minimum:
\begin{equation} g(c) = \sum\limits_{i=1}^m w_i(c-f_i)^2. \end{equation} Consequently, the constant $ c $ can be derived considering $ g'(x) = 0 $:
\begin{equation} c = \frac{\sum w_i f_i}{\sum w_i}. \end{equation}

Linear least squares


In this case, the polynomial is $ y = a_0 + a_1 x $, and the error function can be expressed as:
\begin{equation} g(a_0,a_1) = \sum\limits_{i=1}^m w_i(a_0+a_1 x-f_i)^2. \end{equation} In order to minimize the error, the following linear system has to be solved to obtain coefficients $ a_0 $ and $ a_1 $:
\begin{equation} \begin{pmatrix} \sum w_i & \sum w_i x_i \\ \sum w_i x_i & \sum w_i x_i^2 \end{pmatrix} \begin{pmatrix} a_0\\ a_1 \end{pmatrix} = \begin{pmatrix} \sum w_i f_i\\ \sum w_i f_i x_i \end{pmatrix} \end{equation}

The relevant Matlab code can be found at the end of 1-D discrete data analysis section.

No comments:

Post a Comment