Question: write a matlab function sol =solveEq (a) .that uses the bisection method to find all solutions to the equaton ax+2 = e x accurate within

write a matlab function sol =solveEq (a) .that uses the bisection method to find all solutions to the equaton ax+2 = ex

accurate within 10 decimals. test your program with at least 3 different values of a. Asample output could look as follwos (your answer may vary due to your choice of brackting intervals):

>> [sol, steps] =solveEq (0)

sol =

0.693147180559945

steps =

0

>> [sol, steps] =solveEq (-5)

sol =

0.164289021364685

steps =

33

>> [sol, steps] =solveEq (5)

sol =

-0.243172799230088 2.760014541896950

steps =

32 34

-------------------------------------------------------------------------------------------------------------

here

bisect.m

%Program 1.1 Bisection Method %Computes approximate solution of f(x)=0 %Input: inline function f; a,b such that f(a)*f(b)<0, % and tolerance tol %Output: Approximate solution xc function xc = bisect(f,a,b,tol) if sign(f(a))*sign(f(b)) >= 0 error('f(a)f(b)<0 not satisfied!') %ceases execution end fa=f(a); fb=f(b); k = 0; while (b-a)2>tol c=(a+b)/2; fc=f(c); if fc == 0 %c is a solution, done break end if sign(fc)*sign(fa)<0 %a and c make the new interval b=c;fb=fc; else %c and b make the new interval a=c;fa=fc; end end xc=(a+b)/2; %new midpoint is best estimate

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!