Non-Linear Simultaneous Equations Chapter 8 Solving Simultaneous Equations Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Review: Linear Equations in Matrix Form • The first step in using matrix methods to solve a series of linear simultaneous equations is to write them in matrix form • For n simultaneous equations and n unknowns: where A is the coefficient matrix (n × n); X is the matrix of unknowns (n × 1), and C is the constant matrix (n × 1) Engineering Computation: An Introduction Using MATLAB and Excel Review: Linear Simultaneous Equations • Recall that if there are more unknowns then equations, then we cannot find a unique solution • If there are more equations than unknowns, then some equations must be redundant • If there are exactly the same number of equations and unknowns, then there may be a unique solution. In this case the coefficient matrix will be square Engineering Computation: An Introduction Using MATLAB and Excel Solution of System of Linear Equations • We can find the unknown variables by multiplying the inverse of the coefficient matrix by the constant matrix Engineering Computation: An Introduction Using MATLAB and Excel Summary – Linear Equations • If the inverse of the coefficient matrix exists, then there is a solution, and that solution is unique • If the inverse does not exist, then there are two possibilities: – The equations are incompatible, and so there are no solutions, or – At least two of the equations are redundant, and so there are more unknowns than unique equations. Therefore, there are an infinite number of solutions Engineering Computation: An Introduction Using MATLAB and Excel Non-Linear Equations • If any of the equations are non-linear, then the matrix method will not work • Example: Consider these two equations: • The x2 term in the first equation prevents the use of a matrix solution Engineering Computation: An Introduction Using MATLAB and Excel Excel Solver • Solver is an Excel Add-In that can find solutions to many problems with multiple independent variables • The first step is to check that Solver is installed • If so, it will appear in the Data group of the ribbon: Engineering Computation: An Introduction Using MATLAB and Excel Installing Solver • If Solver is not present on the ribbon, start by clicking the Office Button… • And selecting Excel Options… Engineering Computation: An Introduction Using MATLAB and Excel Installing Solver • Choose Add-Ins… • And click Go beside Excel Add-Ins… Engineering Computation: An Introduction Using MATLAB and Excel Installing Solver • Check Solver and click OK • If Solver has not been installed, click Yes to install it now Engineering Computation: An Introduction Using MATLAB and Excel Using Solver • Solver attempts to set the value of a target cell to its minimum, its maximum, or a specific value, • By changing one or more input cells (independent variables, • While maintaining specified constraints (optional) Engineering Computation: An Introduction Using MATLAB and Excel Solver Example • Consider this equation: • Use Solver to find values of x for which – y is minimized – y is equal to exactly 50 – y is maximized, within limits of x from 0 to 10 Engineering Computation: An Introduction Using MATLAB and Excel Solver Example • To better understand this problem, consider this plot of y vs. x: 200 180 y 160 140 120 100 80 60 40 20 0 -10 -5 0 5 10 15 x Engineering Computation: An Introduction Using MATLAB and Excel Solver Example • Label a cell for the independent variable x and enter the formula for y in another cell: Engineering Computation: An Introduction Using MATLAB and Excel Solver Example • Start Solver. For the first part of the problem we want to minimize y (Target Cell C4) by changing x (cell C2): Engineering Computation: An Introduction Using MATLAB and Excel Solver Example • The answer is that when x = 2, y = 16, the minimum value of y that is possible: 200 180 y 160 140 120 100 80 60 40 20 0 -10 -5 0 5 10 15 x Engineering Computation: An Introduction Using MATLAB and Excel Solver Example • Next, find the value of x for which y = 80: Engineering Computation: An Introduction Using MATLAB and Excel Solver Example • But we can see from the graph that there are two solutions to the problem • This is typical for nonlinear problems; multiple solutions are possible • The solution found often depend on the initial guess entered before running Solver 200 180 y 160 140 120 100 80 60 40 20 0 -10 -5 0 5 10 x Engineering Computation: An Introduction Using MATLAB and Excel 15 Solver Example • Try x = -10 as the initial guess and run Solver again: Engineering Computation: An Introduction Using MATLAB and Excel Solver Example • Now try to maximize y: Engineering Computation: An Introduction Using MATLAB and Excel Solver Example • Since the value of y increase to infinity for both increasing and decreasing values of x, there are no maxima values to be found • However, we can constrain the problem by requiring the input value of x to be between 0 and 10: Engineering Computation: An Introduction Using MATLAB and Excel Solver Example • We find that when x = 10, y = 80. This is the maximum value that y can have, subject to the constraints on x. Engineering Computation: An Introduction Using MATLAB and Excel Solver Example • However, even this solution is affected by the initial guess. For example, if we try x = -10 as the initial value: • Then we get a different solution, although the value of y is clearly not maximized: Engineering Computation: An Introduction Using MATLAB and Excel Solver Example • It is important to realize that Solver finds local maximum and minimum values 200 180 y Allowable x-values 160 140 120 100 80 60 40 20 0 -5 0 5 10 15 x Engineering Computation: An Introduction Using MATLAB and Excel Simultaneous Equation Example • Back to our earlier example - consider these two equations: • Can we find values of x and y that satisfy both equations? Engineering Computation: An Introduction Using MATLAB and Excel Simultaneous Equation Example • With non-linear simultaneous equations, the first step is to write the equations with all of the variables and constants on the same side of the equal sign • We give the resulting expressions variable names (f1 and f2 here): • When both f1 and f2 are zero, then the equations are satisfied Engineering Computation: An Introduction Using MATLAB and Excel Simultaneous Equation Example • Start by labeling two cells for the input variables (x and y) • Label two cells for f1 and f2, and enter their formulas: Engineering Computation: An Introduction Using MATLAB and Excel Simultaneous Equation Example • Remember that Solver must have a single target cell: we cannot specify that both f1 and f2 are to be zero • We could specify that the sum of f1 and f2 be zero; however, this would not guarantee that both are zero as one could be positive and the other negative • If we square both values, then both these values must be greater than or equal to zero • If the sum of the squares equals zero, then both f1 and f2 must be zero Engineering Computation: An Introduction Using MATLAB and Excel Simultaneous Equation Example • Add cells for the squares and their sum. The sum (cell C7) will be the Target Cell in the Solver setup: Engineering Computation: An Introduction Using MATLAB and Excel Simultaneous Equation Example Engineering Computation: An Introduction Using MATLAB and Excel Simultaneous Equation Example • Solver has found a solution: x is about -1 and y is about 0 Engineering Computation: An Introduction Using MATLAB and Excel Simultaneous Equation Example • These are the exact values for the solution: Engineering Computation: An Introduction Using MATLAB and Excel Simultaneous Equation Example • Try different guess values of x and y: Engineering Computation: An Introduction Using MATLAB and Excel Simultaneous Equation Example • A second solution if found: x = 1.5 and y = 12.5 Engineering Computation: An Introduction Using MATLAB and Excel Simultaneous Equation Example • A graphical solution is possible with two equations. Notice that the curves intersect in two places 80 60 Equation 1 y Equation 2 40 20 0 -20 -40 -5 -4 -3 -2 -1 0 1 2 3 4 5 x Engineering Computation: An Introduction Using MATLAB and Excel Simultaneous Equation Example • Zooming in, we can see the solutions that we found with Solver 20 15 Equation 1 y Equation 2 10 5 0 -5 -10 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 x Engineering Computation: An Introduction Using MATLAB and Excel Simultaneous Equation Example • Now try these equations (only the second is changed) Engineering Computation: An Introduction Using MATLAB and Excel Simultaneous Equation Example • In this case, no solution can be found Engineering Computation: An Introduction Using MATLAB and Excel Simultaneous Equation Example • Graphing the equations shows that they do not intersect 20 15 Equation 1 y Equation 2 10 5 0 -5 -10 -15 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 x Engineering Computation: An Introduction Using MATLAB and Excel Summary • Excel Solver can be used to numerically find maxima, minima, and specific values of a target cell by varying one or more input cells, with or without additional constraints • Solver can also find solutions of simultaneous nonlinear equations • Important to recognize that multiple solutions may exist for non-linear problems Engineering Computation: An Introduction Using MATLAB and Excel