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
Scientists develop 'electronic nose' for rapid detection of C. diff infection
Why plants in the office make us more productive
Tesla Motors dealing as states play factory poker
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