APPENDIX C NONLINEAR EQUATIONS AND TAYLOR'S THEOREM
C.1 INTRODUCTION
In adjustment computations, it is frequently necessary to deal with nonlinear equations. For example, some observation equations relate observed quantities to unknown parameters through the transcendental functions of sine, cosine, or tangent, while others relate them through terms raised to second- and higher-order powers. The task of solving a system of nonlinear equations is formidable. To facilitate the solution, a first-order Taylor series approximation can be used to create a set of linear equations. The equations can then be solved by matrix methods discussed in Appendix A.
C.2 TAYLOR SERIES LINEARIZATION OF NONLINEAR EQUATIONS
Suppose that the following equation relates an observed value L to its unknown parameters x and y through nonlinear coefficients as
(C.1)
By Taylor's theorem, the equation can be represented as
In Equation (C.2), x0 and y0 are approximations for x and y; f(x0, y0) is the nonlinear function evaluated at these approximations; R is the remainder, and dx and dy are corrections to the approximations, such that
A more exact Taylor series approximation is obtained by increasing the value of n in Equation (C.2). However, as the order of each successive term increases, its significance in the overall expression decreases. If all terms containing derivatives higher than the first are dropped, the following linear expression is obtained:
Once the initial approximations are selected, the only unknowns in Equation (C.4) are the corrections dx and dy. Of course, by dropping the higher-order terms from the Taylor series, Equation (C.4) becomes only a good approximation of the original equation. However, an iterative procedure can be followed in the solution that yields accurate results. This iterative procedure uses the following steps:
Step 1: Determine initial approximations for the unknowns. They may be obtained by guessing or from observations. It should be understood that the closer the initial approximations are to the final solution, the faster the final solution will be obtained. For some problems, initial approximations are obtained from graphical solutions or computed from available data or observations. For others, the determination of initial approximations can involve considerable computational effort.
Step 2: Substitute the initial approximations into Equation (C.4) and solve for the corrections dx and dy.
Step 3: Calculate revised values of x and y using Equations (C.3).
Step 4: Using these newly revised values for x and y, repeat steps 2 and 3.
Step 5: Continue the above procedure until the corrections dx and dy are small enough to bring x and y within tolerable accuracy. When this occurs, the solution is said to have converged.
C.3 NUMERICAL EXAMPLE
To clarify this procedure further, a numerical example will be solved.
C.4 USING MATRICES TO SOLVE NONLINEAR EQUATIONS
The example of Section C.3 could be solved using matrix methods. However as in the algebraic approach, the equations must be linearized using Taylor series. To facilitate linearization using Taylor's theorem, a Jacobian matrix (a matrix consisting of the partial derivatives taken with respect to the unknown variables) is formed. This is the coefficient matrix of the linearized equations. The Jacobian matrix for the example of Section C.3 is
In the preceding Jacobian matrix, the first column contains the partial derivative for each equation with respect to x, and the second column contains each the partial derivative of each equation with respect to y. The linearized form of the equations can then be expressed in matrix notation as
In Equation (C.5), J is the Jacobian matrix, X the matrix of unknown corrections dx and dy, and K the matrix of constants. Specifically for the example of Section C.3, these matrices are
where F(x0, y0) and G(x0, y0) are the equations F and G solved at the approximates of x0 and y0.
Beginning with a set of approximations x0 and y0, the J and K matrices of Equation (C.5) are formed. X is computed using the matrix methods presented in Appendix B. Having updated the unknowns according to Equations (C.3), the J and K matrices are formed again and the solution for X computed again. This procedure is iterated until convergence is achieved.
C.5 SIMPLE MATRIX EXAMPLE
C.6 PRACTICAL EXAMPLE
Sometimes, more than one method is available for solving a problem. For example, in the preceding problem an alternative linear form of the equation of a circle could be used. That equation is x2 + y2 + 2dx + 2ey + f = 0, where the center of the circle is at (−d, −e) and the circle's radius is found as . Note that the equation is linear in terms of its unknowns (d, e, f), and thus iterations are not necessary in solving for the unknowns. Writing a rearranged form of this linear equation for each of three observed sets of (x, y) coordinates yields
Equations (C.10) can, in turn, be represented in matrix notation as
Solving this matrix system, the center of the circle is again found to be (6.72, 4.39) and its radius is determined to be 2.94.
C.7 CONCLUDING REMARKS
In this appendix, the Taylor series has been applied to solve for the unknowns in nonlinear equations. Many equations in surveying, geodesy, and photogrammetry are nonlinear. In surveying, examples include the distance and angle formulas that are nonlinear in terms of station coordinates. The Taylor series is used to linearize these equations and find least squares solutions. Thus, when performing least squares adjustments of plane observations, the techniques presented in this appendix must be used in the solutions.
The MATRIX software can be used in conjunction with a spreadsheet to solve these nonlinear problems. As an example, matrices for Example C.3 are formulated using a spreadsheet as shown in Figure C.1. The “final” values for h, k, and r are formed by summing the columns to their left. These values are used to formulate the J and K matrices. Thus, as the updates to the approximate values for the unknowns are entered into the appropriate cells, the matrices are automatically updated. These updated matrices can then be cut and pasted directly into the MATRIX editor, saved, and the problem solved. Of course, for small problems such as this, the matrix routines available in most spreadsheets can be used also. This was done in Figure C.1. However, as the problem grows, the MATRIX software can easily handle their solution. These procedures are demonstrated in the spreadsheet Example C-3.xls on the companion website for this book.
PROBLEMS
C.1 Solve for the unknowns x and y in the following nonlinear equations using Taylor's theorem. (Use x0 = 5 and y0 = 5 for initial approximations).
C.2 Solve for the unknown values of x, y, and z in the following three nonlinear equations using the Taylor series. (Use x0 = y0 = z0 = 2 for initial approximations.)
C.3 Use the MATRIX software to solve Problem C.1.
C.4 Use the MATRIX software to solve Problem C.2.
C.5 Find center and radius of a circle using the equation (x − h)2 + (y − k)2 = r2 given the coordinates of points A, B, and C, on the circle. Follow the procedures discussed in Section C.5. Use initial approximations of h0 = 5, k0 = 4, and r0 = 2 for the first iteration.
C.6 Repeat Problem C.5 using the linear equation: x2 + y2 + 2dx + 2ey + f = 0.
C.7 Repeat Problem C.5 using the points A: (0.50, −0.70), B: (1.00, 0.00), C: (0.70, 0.70).
Use initial approximations of h0 = 0, k0 = 0, and r0 = 1.
C.8 Repeat Problem C.7 using the linear equation: x2 + y2 + 2dx + 2ey + f = 0.
C.9 Use the ADJUST software to solve Problem C.5.
C.10 Use the ADJUST software to solve Problem C.7.
C.11 The distance formula between two stations i and j is
Write the linearized form of this equation in terms of the variables xi, yi, xj, and yj.
C.12 The azimuth formula between two stations i and j is
Write the linearized form of this equation in terms of the variables xi, yi, xj, and yj.
C.13 The formula for an angle ∠jik is αik − αij, where α is defined in Problem C.12. Write the linearized form of this equation in terms of the variables xi, yi, xj, yj, xk, and yk.
PROGRAMMING PROBLEMS
C.14 Create a programmed package that solves Problem C.6.
C.15 Create a programmed package that solves Problem C.5.