HI i need help with how to find roots of a function using bisection method in matlab?

can anyone help me?
the question is:

1.write a matlab function Bisection.m which takes as input a function f(x) and a bracketing interval[a b] and outputs the root of the function f(x). Hint: you will find the matlab function feval.m useful here.

2. Use Bisection.m created in question 1 to find the smallest positive root of the equation:
x^3-3.23*x^2-5.54*x+9.84=0.

1. Plotting the function in Matlab.
2.by using the inbuilt matlab fzero function
Submit in addition to your code ,plot of the error. How many iterations are required forthe error to be in order of 10^-3.

It would be greatful to anyone who can provide me with a solution to this problem.i have tried doing this problem in matlab many times,but somewhere i m going wrong. it would be great if anyone can post the Matlab code to the solution of this problem along with the code for the graphs.
Its very urgent.

2. Originally Posted by mithilesh
HI i need help with how to find roots of a function using bisection method in matlab?

can anyone help me?
the question is:

1.write a matlab function Bisection.m which takes as input a function f(x) and a bracketing interval[a b] and outputs the root of the function f(x). Hint: you will find the matlab function feval.m useful here.

2. Use Bisection.m created in question 1 to find the smallest positive root of the equation:
x^3-3.23*x^2-5.54*x+9.84=0.

1. Plotting the function in Matlab.
2.by using the inbuilt matlab fzero function
Submit in addition to your code ,plot of the error. How many iterations are required forthe error to be in order of 10^-3.

It would be greatful to anyone who can provide me with a solution to this problem.i have tried doing this problem in matlab many times,but somewhere i m going wrong. it would be great if anyone can post the Matlab code to the solution of this problem along with the code for the graphs.
Its very urgent.
It's better if you show us your attempts, so that we can find where you're going wrong. We're not doing your work for you.

3. ok,sorry i didnt have any code tht time.
but now i do,
the problem is i m gettting the right answer i think,but i dont know how to plot the root estimates or something is wrong

Here is what i have till now:

function zero = bisection(f,a,b,tol)
n=0

fa = feval(f,a);
fb = feval(f,b);
while 1
if ( abs(b-a) <= tol )
zero = (a+b)/2;
n=n+1
return
end
c = (a + b)/2;
fc = feval(f,c);
if ( fa*fc > 0)
a = c;
fa = fc;
else
b = c;
fb = fc;
end
end
disp(n)
root
err=abs(b-a)

here is what i get when i run the script file:

>> function f =rt(x)
f=x^3-3.23*x^2-5.54*x+9.84
bisection('rt',0,2,(10^-3))
n =
1
ans =
1.2300

I am not sure whether the number of iterations required n in this case is right. and also i donot know how to plot the error. so i need help with that.