Department of Mathematics

Math 300: Mathematical Computing

Matlab Secant Method

Recall that Newton's Method is an iterative way of approximating a zero of a function \(f\). The idea is that, given a starting guess \(x_0\) and an error tolerance \(\tau\), we compute new estimates of the zero of \(f\) using the formula \[ x_{n+1} = x_n-f(x_n)/f'(x_n) \] for \(n=0,1,\ldots\) We use this iteration until \(\vert x_n-x_{n-1}\vert\lt\tau\) or until we give up trying. Unfortunately, we do not know how to use Matlab to compute the derivative of \(f\) (it can, we just have not done it). Instead, we can choose some small number \(h\) and use the approximation \[f'(x_n) \approx \frac{f(x_n)-f(x_n-h)}{h} \] instead of \(f'\). If we use successive estimates of the root, then the formula becomes \[ x_{n+1}=\frac{x_{n-1}f(x_n)-x_nf(x_{n-1})}{f(x_n)-f(x_{n-1})}. \] This is called the secant rule. Write a Matlab function secant(f,init_guess,tolerance) that finds the zero of a function using this secant formulation.

Assignment 7 is posted.

A solution to the test is available.

Department of Mathematics, PO Box 643113, Neill Hall 103, Washington State University, Pullman WA 99164-3113, 509-335-3926, Contact Us
Copyright © 1996-2015 Kevin Cooper