
write script
hi everybody,i ve given a task to write a script calculating a root using bisection method in java script ,i've tried to write it on my own but i dont have a clue how to do that .i suppose to use the fuction x^732=0.i would appreciate any help!

This is the generic function you might use:
Code:
function bisectionRoot(x,y,exponent){
return Math.pow(x,exponent)y;
}
The arguments y and exponent are given, your case y=32, exponent=7;
Next step is to find 2 numbers (which should form an interval), let's say a and b, so that bisectionRoot(a,y,exponent) is positive, and bisectionRoot(b,y,exponent) is negative
At this point, you will have:
Code:
var limit_a=bisectionRoot(a,y,exponent);
var limit_b=bisectionRoot(b,y,exponent);
Now you should send the midst of a and b, let's name it c, calculated as c=(a+b)/2 to the function:
Code:
var c=(a+b)/2;
var limit_c=bisectionRoot(c,y,exponent);
You have now 3 possibilities:
1. limit_c==0; // lucky, this is the root (that means c);
2. limit_b and limit_c have opposite signs (+/ or /+) // the root lies between b and c;
3. limit_b and limit_c have the same sign (+/+ or /) // the root lies between a and c;
If 2., c becomes the new a If 3., c becomes the new b. Repeat the steps.
Because the result is anyway an approximation, you may either set a certain number of steps from the beginning or, better, set a minimal size of the interval (between a and b) where your root is situated (the floated point above everything is 0 in the value of limit_c).
Hope it helps.
Note: I hope I did not inverse the cases. It's a long time since I studied algebra.
Last edited by Kor; 04252012 at 04:26 AM.

Question for everybody:
By the way, the bisection method is not hard to understand and to use, but it rises another problem: how to find quickly the initial interval ab (the first values a and b) for which the function returns a positive value for first a and a negative value for first b?
Anyone knows?

If I understand
(x^7)32=0
(x^7)=32
x = 32^1/7
alert(Math.pow(32,1/7));
// sağlaması
alert( Math.pow(Math.pow(32,1/7),7) );
// http://www.w3schools.com/jsref/jsref_obj_math.asp
// http://www.w3schools.com/jsref/jsref_pow.asp
alert(Math.pow(32, 1/2)); // 5.656854249492381
or
// http://www.w3schools.com/jsref/jsref_sqrt.asp
alert(Math.sqrt(32)); // 5.656854249492381
Last edited by Ayşe; 04262012 at 02:02 AM.
Thread Information
Users Browsing this Thread
There are currently 1 users browsing this thread. (0 members and 1 guests)
Posting Permissions
 You may not post new threads
 You may not post replies
 You may not post attachments
 You may not edit your posts

Forum Rules

