- +1-530-264-8006
- info@tutorsglobe.com

18,76,764

Questions

Asked

21,311

Experts

9,67,568

Questions

Answered

Start Excelling in your courses, Ask an Expert and get answers for your homework and assignments!!

Submit Assignment
## Controlling Error and Conditional Statements

Controlling Error and Conditional Statements::Measuring error and the ResidualIf we are attempting to find a numerical solution of an equation f(x) = 0 then there are a few different ways we can measure the error of our approximation. The most direct way to calculate the error would be as:

{Error at step n} = e

_{n}= x_{n}− xWhere x

_{n}is the n-th approximation alsoxis the true value. Nevertheless we usually do not know thevalue of x, or we wouldn’t be trying to approximate it. This makes it not possible to know the errordirectly as well as so we must be more clever.One possible strategy that habitually works is to run a program until the approximation xnstopschanging. The trouble with this is that sometimes doesn’t work. Just for the reason that the program stopchanging does not necessarily mean that x

_{n}is close to the true solution.For Newton’s method we have the subsequent principle- At every step the number of significantdigits roughly doubles. While this is asignificant statement about the error (ever since it signifiesNewton’s method converges really quickly) it is to some extent hard to use in a program.

Rather than calculate how close x

_{n}is to x* in this and many other situations it is much more practicalto measure how close the equation is to being satisfied in other words how close y_{n}= f(x_{n}) is t_{o}0. We will use the quantity r_{n}= f(x_{n}) − 0, called the residual, in many different situations. Mostof the time we merely care about the size of rn, so we look at |r_{n}| = |f(x_{n})|.The if ... end statementIf we have a definite tolerance for |r

_{n}| = |f(x_{n})| then we are able to incorporate that into our Newtonmethod program using an if ... end statement-function x = mynewton(f,f1,x0,n,tol)% Solves f(x) = 0 by doing n steps of Newton’s method starting at x0.

% Inputs: f -- the function, input as an inline

% f1 -- it’s derivative, input as an inline

% x0 -- starting guess, a number

% tol -- desired tolerance, prints a warning if |f(x)|>tol

% Output: x -- the approximate solution

x = x0; % set x equal to the initial guess x0

for i = 1:n % Do n times

x = x - f(x)/f1(x) % Newton’s formula

end

r = abs(f(x))

if r > tol

warning (’The desired correctness was not attained’)

end

In this program if checks if abs(y) > tol is true or else else not. If it is true then it does the whole thingamong there and end. If not accurate then it omits ahead to end.

In the command window explains the function

> f = inline(’x^3-5’,’x’)

And its derivative

> f1 = inline(’3*x^2’,’x’).

Then utilize the program with n = 5, tol = .01, and x

_{0}= 2. Next, change tol to 10−10 and repeat.The loop: while ... endWhile the preceding program will tell us if it worked or not we still have to input n the number ofsteps to take. Therefore far for a well-behaved problem if we make n too small then the tolerance will notbe attained and we will have to go back as well as increase it or if we make n too big then the programwill take more steps than necessary.

One way to manage the quantity of steps taken is to iterate until the residual |r

_{n}| = |f(x)| = |y| issmall enough. In Mat lab this is merely accomplished with a while ... end loop.function x = mynewtontol(f, f1, x0, tol)

x = x0; % set x equal to the initial guess x0y = f(x);

while abs(y) > tol % Do until the tolerence is reached.

x = x - y/f1(x) % Newton’s formula

y = f(x)

end

The statement while end is a loopalike to for end however instead of going through theloop a fixed number of times it keeps going so long as the statement abs(y) > tol is true.

One clear drawback of the program is that abs(y) might never get slighter than tol. If thishappens the program would carry onrunning over as well as over until we stop it. Try this by setting theforbearance to a really small number:

>tol = 10^(-100)

after that run the program again for f(x) = x

^{3}− 5.You are able to use Ctrl-c to stop the program when it’s stuck.

One way to evade an infinite loop is add a counter variable say i in addition to a maximum number ofiterations to the programs.

Utilizing the while statement this can be accomplished as:

function x = mynewtontol(f,f1,x0,tol)x = x0; i=0; % set x equal to the initial guess x0. set counter to zero

y = f(x);

while abs(y) > tol & i < 1000 % Do until the tolerence is reached or max iter.

x = x - y/f1(x) % Newton’s formula

y = f(x)

i = i+1;

end

Latest technology based Matlab Programming Online Tutoring AssistanceTutors, at the

www.tutorsglobe.com, take pledge to provide full satisfaction and assurance inMatlab Programming helpviaonline tutoring. Students are getting 100% satisfaction byonline tutorsacross the globe. Here you can get homework help for Matlab Programming, project ideas and tutorials. We provide email basedMatlab Programming help. You can join us to ask queries 24x7 with live, experienced and qualified online tutors specialized in Matlab Programming. ThroughOnline Tutoring, you would be able to complete your homework or assignments at your home. Tutors at theTutorsGlobeare committed to provide the best qualityonline tutoringassistance forMatlab Programming Homework helpandassignment helpservices. They use their experience, as they have solved thousands of the Matlab Programming assignments, which may help you to solve your complex issues of Matlab Programming.TutorsGlobeassure for the best quality compliance to your homework. Compromise with quality is not in our dictionary. If we feel that we are not able to provide thehomework helpas per the deadline or given instruction by the student, we refund the money of the student without any delay.