Developing a hybrid root-finding algorithm
Summary
In this project, students will write a code implementing the Bisection and Secant algorithms for approximating a zero of a given function within a certain error tolerance. They will then write a hybrid algorithm combining the strengths of Bisection and Secant methods, and analyze its performance in terms of the convergence and the number of iterations needed to achieve the same degree of accuracy.
Learning Goals
Through this project, students will learn the strengths and weaknesses of different root-finding algorithms, and they will learn how to develop a simple hybrid algorithm that combine the strengths of well-known algorithms. They will also learn to identify linear/superlinear/quadratic convergence of these algorithms through the iterates produced by Matlab.
Context for Use
This project is given in the undergraduate upper division Numerical Analysis course. The course will have to cover the topic of root-finding techniques before this project can be assigned. The technique they learned in this project can be applied or extended to create other hybrid algorithms, e.g. combining Bisection and Newton's algorithms.
Students need to know how to translate the pseudo-code of an algorithm into a working code and be able to write a code with control flow (loops, if-else statement, etc). Students are given two weeks to complete the project.
Students need to know how to translate the pseudo-code of an algorithm into a working code and be able to write a code with control flow (loops, if-else statement, etc). Students are given two weeks to complete the project.
Description and Teaching Materials
Root-finding Algorithms Notes (Acrobat (PDF) 95kB Dec21 18)
Numerical Analysis project: Developing a hybrid root-finding algorithm (Acrobat (PDF) 72kB Dec21 18)
Numerical Analysis project: Developing a hybrid root-finding algorithm (Acrobat (PDF) 72kB Dec21 18)
Share your modifications and improvements to this activity through the Community Contribution Tool »
Assessment
Grading of this project is based on the following criteria:
- correctness of algorithm implementation.
- output presentation.
- answers to reflective questions.