HW Least Squares Program Assignment

advertisement
Engr 160 Homework Assignment
Due: Thursday, Nov. 4
The purpose of this program is to use the method of least squares (linear regression) to
calculate the m, b and r values for a given set of data points. The given data represents
information about the volume of water through a culvert, as a function of the height of
the water in the culvert.
Program requirements:
- Use a main program and a Subroutine subprogram.
- In the main program, read from the given file (LeastSqrs.txt): on line 1 of the file,
read a number which equals the number of data pairs, n (n will never be more
than 100); then starting on line 2 of the file the data pairs are listed, (x, y), one
per line. Read the data pairs into one-dimensional arrays (one array will contain
the x values and the other the y values).
- In the main program, ask the user if they want you to calculate the regression
equation for a linear, exponential or power situation.
- Based on the users’ response, calculate and send to the Subroutine the correct
form of the x and y values (you may need Lny, etc.).
- In the main program, output to the screen the m, b and r values that are returned
from the Subroutine, with the m and b values displayed in the form of the correct
general equation (Linear, Exponential or Power).
- Use only ONE Subroutine to calculate the m, b and r values using the Method of
Least Squares to do Linear Regression (equations on back of sheet).
- In the main program output the Linear, Exponential or Power equation with the
calculated values of m and b inserted in the equations. Also output the r values.
Presentation requirements:
- Create a Word document as the complete solution.
- No complete write-up required – Solution ONLY
- In the Solution include: flowcharts, copy of the computer code, a copy of your
output (MsgBoxes) and a Command Button to use to run the program.
- Run your program for all three cases; analyze the output values and determine
whether a linear, exponential or power equation best fits the data. In the write-up,
clearly indicate which is better and why.
- Two flowcharts will be needed (one for the main program and one for the
subprogram).
Submission requirements:
- Submit your Word document electronically to the folder for your section.
- Name your Word file as follows: Number_LastName_FirstName LeastSqrs.docm
- Submit a printout of your Word file in class on the due date.
Notes about the LeastSqrs.txt input file:
- On line one, read the value of n (the count of data pair in the file).
- Starting on line two, the data is given as X, Y
Linear Regression:
m
n xy    x  y 


n  x 2   x 2
 y  m x 
b
n
Exponential Regression:
y  Be m x
x values = x
y values = Ln(y)
b = Ln(b)
Power Regression:
y  Bx m
x values = Ln(x)
y values = Ln(y)
b = Ln(b)
r
n   xy     x   y 
n  x2    x 
2
n  y2    y 
2
Download