Math 447 - rdavis2

Welcome to my Math 447 website at George Mason University. Here you will have access to the files I (or my group) have created relating to this class. If you think that my page looks like crap, I agree with you; netscape does make pages look like crap.


Projects




Project 0 - Source Code



Partner:
Nathaniel Wells


The goal of this project was to emulate and solve a six-degree-of-freedom robot, the Stewart platform. To accomplish this a function was created that would accept T and return a value in the form of x^2 + y^2 - p1^2. To solve the Stewart platform several methods (such as the bisection method and secant method) were used as well as visual representation. Additional steps were performed to insure complete comprehension.

  • Step 1:
  • Test the function using a predetermined solution. The function passed with the value of -8.8818e-016.
  • Step 2:
  • Apply the bisection method to locate a solution T. This solution was found to be 0.4142, when x=1.99 and y=1.00.
  • Step 3:
  • Apply the bisection method to locate an alternate solution T. This solution was found to be -0.4142, when x=1.00 and y=1.99.
  • Step 4:
  • Find a solution to T using the secant method. This solution was found to be ???. It should also be noted that the bisection method is preferred over the secant method because it doesn't require the derivative to be known.
  • Step 5:
  • Find six solutions to a different Stewart platform. This was done by finding the "zeros" of the function (defined by T) and then using the bisection method on several ranges.
  • Step 6:
  • Represent the solutions from step five visually (plots).
  • Step 7:
  • Vary the values of p1 to achieve a fixed number of solutions (poses). This was accomplished through trial and error.


    The complete output (output.txt) can be found by clicking on the picture.


    Batch Script
    Custom Plot Function
    Bisection Method Function
    Secant Method Function
    F(T)

    1, 2, 3, 4, 5, 6

    0, 2, 4
    Project 1 - Output



    Partner:
    Nathaniel Wells


    The goal of this project was to emulate and optimize three different types of pendulums (damped, forced, and double) using second-order differential equations. The two methods used to accomplish this task were the Euler method and the Trapezoid method; in conjunction with visual observations from Matlab animations. Additional sub-steps were performed to insure complete comprehension.

  • Step 1:
  • Test the accuracy of the Euler and Trapezoid methods against a known solution. The accuracy of both methods was characterized by observing the affect of varying values of N (iterations) and H (step size) on the error of both methods. The error was characterized using the form: E(h) = c * h^x where x is the order of the error.

    It was observed that as the number of iterations doubled, the error for the Euler method was halved. This means the Euler method has an error of order 1. It was also observed that as the number of iterations doubled, the error for the Trapezoid method was quartered. This means the Trapezoid method has an error of order 2

    Proofs:
    E(h) = c * h^1
    E(h / 2) = c * (h / 2)
    E(h / 2) = (1 / 2) * c * h
    E(h / 2) = (1 / 2) * E(h)
    E(h) = c * h^2
    E(h / 2) = c * (h / 2)^2
    E(h / 2) = (1 / 4) * c * h^2
    E(h / 2) = (1 / 4) * E(h)
  • Step 2:
  • Build a version of the damped pendulum. The minimum value of D for which the pendulum was over damped was found to be ~ 5.0.
  • Step 3a:
  • Model a forcing pendulum. Using a damped value of 0.5, the pendulum became stable (held in an upright position) for values a A greater than 150.0.
  • Step 3b:
  • Find the stability region. Using the stability values from 3a, the starting position was varied until stability was no longer maintained. The minimum value of Y for which the pendulum was stable was found to be 2.7.
  • Step 4:
  • Build the double pendulum. This was achieved by modifying the trapezoid method and the animation function to increment two equations.



    Batch Script
    Euler Step Function
    Trap Step Function
    Ydot Function


    Pendulum Animation
    Trap Step Function
    Ydot Function

    Pendulum Animation
    Trap Step Function
    Ydot Function



    Pendulum Animation
    Trap Step Function
    Ydot Function
    Project 2 - Animation



    Partner:
    Nathaniel Wells


    The goal of this project was to model the Tacoma narrows bridge incident with the intent of explaining how torsional oscillations can be magnified by a strictly vertical force. The two methods used to accomplish this task were the Trapezoid method and the RK4 method; in conjunction with visual observations from Matlab animations. Additional sub-steps were performed to insure complete comprehension.

  • Step 1:
  • Test the concept using zero for the initial angle and angular velocity. The bridge remains in a non-excited state.
  • Step 2:
  • Using the RK4 method, find a range for A at which the torsional mode is excited when W = 3. Observe the angle when the torsional mode is not excited. By varying A until stability was no longer maintained the maximum value of A, for which the torsional mode was not excited, was found to be 9.45. The torsional mode was considered excited if the angle approached zero.
  • Step 3:
  • Plot the pairs (A, W) for which the torsional mode is excited. The torsional mode was considered to be excited if there was no indication that it was decreasing before 2000 units. We found that using even numbers for W caused the torsional mode to become excited sooner.
    WA
    215.6
    39.45
    438.9
    583.8
  • Step 4:
  • Find the effect on damping of increasing nonlinearity when W = 3. We were unable to complete this part due to time constraints; however, we were able to speculate that as damping is increased the value A for which torsional mode would become excited would be greater.



    Batch Script
    Tacoma Animation
    RK4 Tacoma Animation
    Project 3 - Animation



    Partner: N/A


    The goal of this project was to model and analyze GPS with the intent of identifying error magnification, condition numbers, and the effect of varying numbers of satellites on the precision of the system. The method used to accomplish this task was multivariate Newton's method. Additional sub-steps were performed to insure complete comprehension.

  • Step 1,2:
  • Not Required.
  • Step 3:
  • Use multivariate Newton's method to find the receiver position and time correction. The receiver position returned matched that given.
  • Step 4:
  • Vary the time by the precision of an atomic clock and find the condition number. The condition number varied itself (based on the random nature of the inputs) but was within the range of 0 - 50.
  • Step 5:
  • Repeat Step 4 using a 5% range limit on the random inputs. The condition number was significantly affected by this grouping of satellites; at one point the condition number reached ~50,000.
  • Step 6:
  • Design a Gauss-Newton iteration to solve the least squares system of 8 equations in 4 variables. I was able to modify the existing code to perform this task and found that as the number of satellites increased, the error magnitude, and condition number, decreases significantly at first, but only slightly from that point on.



    Batch Script
    Multivariate Newton's Method
    Ternary Counter
    Script Output



    Partner:
    Nathaniel Wells


    The goal of this project was to choose a photo or JPEG file and carry out some compression techniques. The methods used to accomplish this task were low pass filtering and quantization. Overall we found (as expected) that the higher the compression goes, the greater the lost of detail. Additional sub-steps were performed to insure complete comprehension.

  • Step 1:
  • Load an image into matlab and isolate one of the layers:
    OriginalRedGreenBlue
  • Step 2:
  • Apply a low pass filter to the photo using 2D-DCT:
    p = 3 (1 : 0.046875)p = 4 (1 : 0.093750)p = 5 (1 : 0.156250)p = 6 (1 : 0.234375)
    p = 7 (1 : 0.328125)p = 8 (1 : 0.437500)p = 9 (1 : 0.562500)p = 10 (1 : 0.703125)
  • Step 3:
  • Apply a linear quantization to the photo:
    p = 1 (1 : 0.020935)p = 2 (1 : 0.010315)p = 3 (1 : 0.007202)p = 4 (1 : 0.005676)p = 5 (1 : 0.004517)
  • Step 4:
  • Apply the JPEG Annex K quantization to the photo:
    p = 0.5 (1 : 0.059937)p = 1 (1 : 0.029846)p = 2 (1 : 0.014771)
  • Step 5:
  • Apply some of the compression techniques to each of the RGB colors separately, and combine the results:
    Low pass filter:
    p = 3 (1 : 0.046875)p = 4 (1 : 0.093750)p = 5 (1 : 0.156250)p = 6 (1 : 0.234375)
    p = 7 (1 : 0.328125)p = 8 (1 : 0.437500)p = 9 (1 : 0.562500)p = 10 (1 : 0.703125)
    JPEG Annex K quantization:
    p = 0.5 (1 : 0.059937)p = 1 (1 : 0.029846)p = 2 (1 : 0.014771)
  • Step 6:
  • We were unable to complete this part due to time constraints.



    Batch Script
    Script Output


    Links


  • Math 447 Website
  • A.S.D.F


  • Random Stuff


    I like to make complex things with colors for my math 447 class. I am so cool.
    127.0.0.1 <-- It's the only place to be!

     

    ©2005 Rich Davis. All rights reserved.