Register to reply

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

by uaeXuae
Tags: bracketing, matlabchapra, method, roots
Share this thread:
uaeXuae
#1
Feb27-08, 03:22 PM
P: 54
Hello guys can anyone help me solve this in matlab please ?


Phys.Org News Partner Science news on Phys.org
'Smart material' chin strap harvests energy from chewing
King Richard III died painfully on battlefield
Capturing ancient Maya sites from both a rat's and a 'bat's eye view'
LeBrad
#2
Feb29-08, 09:42 AM
LeBrad's Avatar
P: 212
What are you having trouble with? Understanding the algorithm or implementing in Matlab?
uaeXuae
#3
Feb29-08, 03:30 PM
P: 54
Thanks for your reply. Im having trouble implementing the code into matlab and getting correct answers. May you guide me through please ?

LeBrad
#4
Feb29-08, 04:48 PM
LeBrad's Avatar
P: 212
Matlab:Chapra , ROOTS [ Bracketing Method] Help needed.

If I had to find a zero of a simple function, say, x^2-3, using bisection, this is what I would write.

% 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;
uaeXuae
#5
Mar1-08, 02:42 AM
P: 54
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
LeBrad
#6
Mar1-08, 10:00 AM
LeBrad's Avatar
P: 212
Quote Quote by uaeXuae View Post
Q1) How do i input the equation ? Wherever it says "y = x^2-3" i replace it with the equation in the problem ?
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.

Q2) how do i get an error<0.00005
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.
patriciapar
#7
Oct7-10, 11:13 AM
P: 2
(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.
patriciapar
#8
Oct7-10, 11:16 AM
P: 2
(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.


Register to reply

Related Discussions
Finite Difference Method using Matlab Math & Science Software 28
Matlab:Chapra , Help needed. Math & Science Software 1
The Method of Frobenius - Find roots of indicial EQ and 1st terms of series solution Calculus & Beyond Homework 1
A method to compute roots other than sqrt. General Math 4
Help needed fast :-S Characteristics of the power method and the inverse power method Calculus & Beyond Homework 1