Matlab:Chapra , ROOTS [ Bracketing Method] Help needed.

  1. Feb 27, 2008 #1
    Hello guys can anyone help me solve this in matlab please ?


    [​IMG]
     
  2. jcsd
  3. Feb 29, 2008 #2
    What are you having trouble with? Understanding the algorithm or implementing in Matlab?
     
  4. Feb 29, 2008 #3
    Thanks for your reply. Im having trouble implementing the code into matlab and getting correct answers. May you guide me through please ?
     
  5. Feb 29, 2008 #4
    If I had to find a zero of a simple function, say, x^2-3, using bisection, this is what I would write.

    Code (Text):

    % bisection.m
    function bisection
    % find root of x^2 - 3 on some interval

    xa = 0;         xb = 10;        % search interval

    for it = 1:20           % loop
        xtest = xa + (xb-xa)/2;         % mid point of interval
        fa = f(xa);                     % left-interval function value
        fb = f(xb);                     % right-interval function value
        ftest = f(xtest);               % mid-point function value
        if sign(fa)*sign(ftest)<0       % if zero in left half
            xb = xtest;                 %   take left half of interval
        elseif sign(ftest)*sign(fb)<0   % if zero in right half
            xa = xtest;                 %   take right half of interval
        elseif ftest ==0                % if zero at mid-point
            break                       %   this is the zero
        else                            %
            error('multiple roots or no root')  % may have no zero or multiple zeros
        end    
        xit(it) = xtest;                % store mid-points
    end
    figure;plot(xit)                    % plot mid-points, should converge to the root


    function y = f(x)                   % function we're finding the root of
    y = x^2-3;
     
     
  6. Mar 1, 2008 #5
    Thanx a lot.

    2 questions:

    Q1) How do i input the equation ? Wherever it says "y = x^2-3" i replace it with the equation in the problem ?

    Q2) how do i get an error<0.00005
     
  7. Mar 1, 2008 #6
    Correct. Replace that with your equation. And you want to formulate the equation so you're finding a zero, so instead of finding x which solves f(x) = g(x), you want to find x which solves f(x) - g(x) = 0.

    You want to change the condition for the loop to terminate. One possible way would be to define a quantity x_error = f(x_test), and when abs(x_error) < tolerance, then x_test is sufficiently close to the root. In that case you could do a 'while x_error < tolerance' loop.
     
  8. Oct 7, 2010 #7
    Help needed. ( Could you please help me to solve this problem in matlab? thanks

    (1) Use a centered difference approximation O(h2) to estimate the second derivative of the function .

    (a) Perform the evaluation at x = 2 using step sizes of h = 0.2 and 0.1. Compare your estimates with the true value of the second derivative. Interpret your results on the basis of the remainder term of the Taylor series expansion.

    (b) Write a Matlab program that evaluates the second derivative of the function (using a centered difference approximation O(h2)) on the interval [-4 , 4] with a step sizes of h = 0.2 and 0.1. Plot the second derivative of the function obtained by the centered difference method along with a graph obtained from a theoretical calculation.

    Submit the solution of part (a) as a hard copy. For part (b), submit a fully functional program to the blackboard, and submit a copy of the program and accompanying figures as a hardcopy.
     
  9. Oct 7, 2010 #8
    (1) Use a centered difference approximation O(h2) to estimate the second derivative of the function .

    (a) Perform the evaluation at x = 2 using step sizes of h = 0.2 and 0.1. Compare your estimates with the true value of the second derivative. Interpret your results on the basis of the remainder term of the Taylor series expansion.

    (b) Write a Matlab program that evaluates the second derivative of the function (using a centered difference approximation O(h2)) on the interval [-4 , 4] with a step sizes of h = 0.2 and 0.1. Plot the second derivative of the function obtained by the centered difference method along with a graph obtained from a theoretical calculation.

    Submit the solution of part (a) as a hard copy. For part (b), submit a fully functional program to the blackboard, and submit a copy of the program and accompanying figures as a hardcopy.
     
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook

Have something to add?
Similar Discussions: Matlab:Chapra , ROOTS [ Bracketing Method] Help needed.
  1. Matlab help needed (Replies: 6)

  2. Need help in MATLAB (Replies: 6)

Loading...