Results 1 to 5 of 5

Thread: Help Please

  1. #1
    adelgado0723 is offline Member
    Join Date
    Apr 2008
    Posts
    6
    Rep Power
    0

    Default Help Please

    Hey, I would like to just say hi to everyone as this is my first post. Honestly, I joined because I love java and want to learn more. I also need help for a class that I'm taking. I've done fine, but I got this assignment that I have no idea how to even approach. I attached it as a zip file to this post. Any help or direction would be really appreciated! Thanks!!!
    Attached Files Attached Files

  2. #2
    CaptainMorgan's Avatar
    CaptainMorgan is offline Moderator
    Join Date
    Dec 2007
    Location
    NewEngland, US
    Posts
    835
    Rep Power
    8

    Default

    After downloading and examining your code, which does not appear to be in applet form, and since this is also an introduction, I've moved your thread to the New To Java sub-forum. Instead of posting zip files containing projects, which further contain classes that could possibly contain viruses- it is preferred that you simply enter the code that you have trouble with into your post- using [ code] [ /code] tags.

    Note that you also include no specifications for your problem- thus how can we know what it is you need to have us take a look at ? All I see essentially is two source files, Math and TestMath, from that I cannot determine where you need help. You need to be specific. Therefore, please read the FAQ before you post again.

    Thank you for your understanding and cooperation. Once you've done the above, I'm sure someone will be happy to assist.
    Vote for the new slogan to our beloved Java Forums! (closes on September 4, 2008)
    Want to voice your opinion on your IDE/Editor of choice? Vote now!
    Got a little Capt'n in you? (drink responsibly)

  3. #3
    adelgado0723 is offline Member
    Join Date
    Apr 2008
    Posts
    6
    Rep Power
    0

    Default

    Java Code:
    class NewtonRaphson {
    
    static double f(double x) {
    return Math.sin(x);
    }
    
    static double fprime(double x) {
    return Math.cos(x);
    }
    
    public static void main(String argv[]) {
    
    double tolerance = .000000005; // Our approximation of zero
    int max_count = 200; // Maximum number of Newton's method iterations
    
    /* x is our current guess. If no command line guess is given,
    we take 0 as our starting point. */
    
    double x = 2;
    
    if(argv.length==1) {
    x= Double.valueOf(argv[0]).doubleValue();
    }
    
    for( int count=1;
    (Math.abs(f(x)) > tolerance) && ( count < max_count);
    count ++) {
    x= x - f(x)/fprime(x);
    System.out.println("Step: "+count+" x:"+x+" Value:"+f(x));
    }
    
    if( Math.abs(f(x)) <= tolerance) {
    System.out.println("Zero found at x="+x);
    }
    else {
    System.out.println("Failed to find a zero");
    }
    }
    
    }
    this is what I have so far, but he wants us to use the JOptionpane to enter a number.
    this is the assignment:
    Write a class called NewtonRaphson that can be used to find an approximate solution of (square root of a) using Newton's method. i.e.
    f(x) = x2 - a. The process should terminate when the positive difference between two consecutive approximations is sufficiently small or when the number of iterations exceeds some upper limit. Print the iteration sequence and the approximation for each iteration. (That is, in a tabular form).
    Write a driver class called TestNewton. Use the following data to test the class NewtonRaphson.
    The initial guess is 2.0
    The process terminates when the difference between two consecutive approximations is less than 0.000000005
    -----We are supposed to use Newton's method to do this (Newton-Raphson Method... I also know that I have to use the while loop.
    -----Please help me out on this. I'm completely lost on this one!
    thanks

  4. #4
    hardwired's Avatar
    hardwired is offline Senior Member
    Join Date
    Jul 2007
    Posts
    1,576
    Rep Power
    8

    Default

    Java Code:
    public class NRTest {
        public static void main(String[] args) {
            NewtonRaphson f = new NewtonRaphson();
            double x = 2;
            double root = f.solve(x);
            //System.out.println("root = " + root);
        }
    }
    
    class NewtonRaphson {
        // Our approximation of zero
        final double TOLERANCE = .000000005;
        // Maximum number of Newton's method iterations
        final int MAX_COUNT = 200;
    
        // f(x) = cos(x)
        private double f(double x) {
           return Math.sin(x);
        }
    
        // f'(x) = sin(x)
        private double fprime(double x) {
            return Math.cos(x);
        }
    
        public double solve(double x0) {
            System.out.printf(" %-8s%-13s%-12s%-16s%-15s%s%n",
                              "n", "x_n", "f(x_n)", "f'(x_n)", "x_n+1", "dx");
            double x = x0;
            int n = 0;
            do {
                x = x0 - f(x)/fprime(x);
                double dx = x - x0;
                System.out.printf("%2d   %10f    %10f   %10f    %10f    %10f%n",
                                   n, x0, f(x), fprime(x), x, dx);
                x0 = x;
                if(Math.abs(dx) < TOLERANCE)
                    break;
            } while(++n < MAX_COUNT);
    
            if( Math.abs(f(x)) <= TOLERANCE) {
                System.out.println("Zero found at x="+x);
            } else {
                System.out.println("Failed to find a zero");
            }
            return x;
        }
    }

  5. #5
    adelgado0723 is offline Member
    Join Date
    Apr 2008
    Posts
    6
    Rep Power
    0

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •