Helpful Matlab commands/functions/constructs for this lab:
while-end, abs, plot, grid on, for-end, \, contour, norm, and anonymous functions.
Problem 1: Write a newtonsearch1d function that computes a zero of a
1-d function f using the Newton search method, starting from the initial
guess x. Use a while loop to terminate the iteration when either
or when the Newton step is very small:
,
for some suitable choice of
.
Use this function to solve the following problems. Check your answers by
plugging the answer x back into f and verifying that f(x) is
approximately zero.
(a) Find an x for which
.
(b) Find the cube root of 54. (Hint: devise an equation whose answer is
.)
(c) Find an x for which
.
To find good initial guesses for the Newton search, plot f
versus x and estimate where it crosses the x axis.
Problem 2: Write a newtonsearch2d function that finds a zero of
a 2-d function f starting from the initial guess x, where both x
and f(x) are two-dimensional vectors. Use this to find a zero of the
nonlinear 2-d function
Use a contour plot of the norm of
over
to find an
initial guess for the search.
Bonus (10 pts): Write a newtonsearchNd function that finds a zero of
an N-dimensional function f starting from the initial guess x.
Use this to find a zero of the nonlinear 3d function
Use the initial guess
. Verify your answer by applying it to the 3d function. What do you expect to get?
Bonus (10 points): Give a brief explanation for the Newton's Search. Include the answers to the following questions.
- Purpose: What is the Newton's method used for?
- Method: How does it do this? (How is it related to the Taylor Series? Can you explain the equations used in the code?)