Skip to main content

MATLAB Programs - Numerical Methods and Optimization

Roots of Equation - BiSection Method

Bisection method is one of the numerical methods to find roots of the equation, included in the syllabus of Third Year Mechanical Engineering course for colleges under University of Pune.

The bisection method in mathematics is a root-finding method that repeatedly bisects an interval and then selects a subinterval in which a root must lie for further processing. It is a very simple and robust method, but it is also relatively slow. Because of this, it is often used to obtain a rough approximation to a solution which is then used as a starting point for more rapidly converging methods.


Let us consider an example 

Figure 1: Polynomial function in f(x)=0 form.
To solve polynomial function, it has to be converted into f(x) = 0 form, where all the terms containing powers of x and constant should be on the left-hand side of the equal to sign.

Create a function file in MATLAB as shown in figure 1, having a polynomial equation in a function body. 
Save the function file with Bifun as a file name. 

Figure 2: Program to find roots using bisection method.

Create a script file shown in figure 2. 
  1. Write code to allow a user to input initial guess x1, x2, and n.
  2. Check if the initial condition satisfying the condition or not, using while loop. When the condition is true, while loop will stop and next lines of code will be executed. The while loop will continue to execute till the condition becomes true. 
  3. The for loop will be executed for n number of times. Higher the value of n, higher will be the accuracy. 
  4. If the product of, f(x1) and f(x2) is negative, a mean value (x3) is assigned to x2. Else it will be assigned to x1.
The following figure shows the result

Figure 3: Executing script file. 

The first initial declaration does not satisfy the condition of, f(x1)*f(x2)<0, therefore it is required to define values of x1 and x2 again. Finally, the root of the equation is -0.97168.


Figure 4: Solution to the numerical method using MATLAB Solver.

The MATLAB Solver 'roots()' allows a user to verify the answer.
The matrix p is a matrix of coefficients of terms in a polynomial equation. As this is second order polynomial equation, possible roots are two.

Note: MATLAB SOLVER 'roots()' is used to calculate roots of the linear polynomial equation only.

This concludes the first program in Numerical Methods and Optimization. Kindly share with fellow faculty member and students. 
Kindly subscribe to r 

Kindly subscribe HERE receive regular email notifications of MATLAB Tips & Tricks.

Feel free to connect with me on any question. 

Regards. 








Comments

Popular posts from this blog

Welcome to my blog!

Dear fellow engineers, w elcome to the bog MATLAB Tips & Tricks. This blog is all about interesting tips and tricks that are useful in MATLAB and Simulink, for quick and efficient programming. Generally experts and coders with more experience use them to get done with codes or mathematical models in Simulink. MATLAB being a mathematical programming environment, it is used by researchers, academicians and industry professionals. Because of the tools which are present in MATLAB, makes it more versatile and useful for wide range of applications.  Rupesh Gosavi started his practice with MATLAB in the year of 2013, during his post-graduation. With this blog he wants to spread the knowledge of MATLAB and Simulink, which he gained over the practice of more then 7 years. He is holding a graduation degree in mechanical engineering and post-graduation in automobile technology. During his post-graduation studies, he found MATLAB being a most interesting, dynamic and research oriented l...

FundaTip2 : Script File

Simple visual trick to minimize errors in your program.  We often encounter various errors while programming. Sometime it is very difficult to find, if the error is manual. I would like to share a trick to avoid the programming errors while writing a program in script file or function file. Consider a simple example of "Finding sum of first 'n' numbers." Following are the recurring errors we may encounter while programming - You can check with Top-Right Corner of script/function file. The red color box represents the syntax error. The horizontal line below that makes it easier for us to find error command. Error 1: Check with correct function file syntax to avoid this error (parenthesis). Error 2: No other command is allowed before function command. Error 3: End statement is missing. Warnings in the script/function file is denoted by orange color box. Warning is a suggestion by MATLAB to make program execute quicker. When warni...