diff --git a/HW5/README.html b/HW5/README.html
new file mode 100644
index 0000000..8b9c93d
--- /dev/null
+++ b/HW5/README.html
@@ -0,0 +1,186 @@
+
+
+
+
+
+
+
+
+
+
+
+
+Homework #5
+due 4/14 by 11:59pm
+1. Create a new github repository called ‘05_curve_fitting’.
+
+Add rcc02007 and zhs15101 as collaborators.
+Clone the repository to your computer.
+
+2. Create a least-squares function called least_squares.m
that accepts a Z-matrix and dependent variable y as input and returns the vector of best-fit constants, a, the best-fit function evaluated at each point \(f(x_{i})\), and the coefficient of determination, r2.
+[a,fx,r2]=least_squares(Z,y);
+Test your function on the sets of data in script problem_2_data.m
and show that the following functions are the best fit lines. Report the coefficient of determination in your README.
+
+y=0.3745+0.98644x+0.84564/x
+y= 22.47-1.36x+0.28x^2
+y=4.0046e(-1.5x)+2.9213e(-0.3x)+1.5647e^(-0.05x)
+y=0.99sin(t)+0.5sin(3t)
+
+3. Load the data from the class dart experiment. Show your work in a script with filename dart_statistics.m
in your repository.
+
+Which user (0-32) was the most accurate dart thrower e.g. mean(x)+mean(y) was closest to 0 cm?
+Which user (0-32) was the most precise dart thrower e.g. std(x)+std(y) was closest to 0 cm?
+
+4. 100 steel rods are going to be used to support a 1000 kg structure. The rods will buckle when the load in any rod exceeds the critical buckling load
+\(P_{cr}=\frac{\pi^3 Er^4}{16L^2}\) 
+where E=200e9 Pa, r=0.01 m +/-0.001 m, and L is the length of the rod which can only be controlled to 1% tolerance. Create a Monte Carlo model buckle_monte_carlo.m
that predicts the mean and standard deviation of the buckling load for 100 samples with normally distributed dimensions r and L.
+[mean_buckle_load,std_buckle_load]=buckle_monte_carlo(E,r_mean,r_std,L_mean,L_std)
+
+What is the mean_buckle_load and std_buckle_load for L=5 m?
+What length, L, should the beams be so that only 2.5% will reach the critical buckling load?
+
+5. The drag coefficient for spheres such as sporting balls is known to vary as a function of the Reynolds number Re, a dimensionless number that gives a measure of the ratio of inertial forces to viscous forces:
+\(Re = \frac{\rho V D}{\mu}\) 
+where ρ= the fluid’s density (kg/m3), V= its velocity (m/s), D= diameter (m), and μ= dynamic viscosity (N⋅s/m2). The following table provides values for a smooth spherical ball:
+
+
+
+
+
+
+2 |
+0.52 |
+
+
+5.8 |
+0.52 |
+
+
+16.8 |
+0.52 |
+
+
+27.2 |
+0.5 |
+
+
+29.9 |
+0.49 |
+
+
+33.9 |
+0.44 |
+
+
+36.3 |
+0.18 |
+
+
+40 |
+0.074 |
+
+
+46 |
+0.067 |
+
+
+60 |
+0.08 |
+
+
+100 |
+0.12 |
+
+
+200 |
+0.16 |
+
+
+400 |
+0.19 |
+
+
+
+
+- Create a function
sphere_drag.m
that outputs the drag coefficient based on the given table and an input Reynolds number using a spline interpolation of either linear (‘linear’), piecewise cubic (‘pchip’), or cubic (‘cubic’):
+
+[Cd_out]=sphere_drag(Re_in,spline_type)
+
+- Use the following physical constants to plot the drag force vs velocity for a baseball: ρ= 1.3 kg/m3, V= 4 - 40 (m/s), D= 23.5 cm, and μ=1.78e-5 Pa-s. Plot all three interpolation methods on a single plot. Show the plot in your README.
+
+6. Evaluate the integral of the following function:
+\(\int_{2}^{3}f(x) = \int_{2}^{3} 1/6x^3 + 1/2x^2+x dx\)
+
+analytically
+with 1-point Gauss quadrature
+with 2-point Gauss quadrature
+with 3-point Gauss quadrature
+include the results in a table in your README
+
+
+
+
+
+
+
+analytical |
+… |
+0% |
+
+
+1 Gauss point |
+… |
+..% |
+
+
+… |
+… |
+… |
+
+
+
+
+
diff --git a/HW5/README.md b/HW5/README.md
new file mode 100644
index 0000000..bb12d64
--- /dev/null
+++ b/HW5/README.md
@@ -0,0 +1,119 @@
+# Homework #5
+## due 11/17 by 11:59pm
+
+
+### Problem 1 due 11/9
+
+**1\.** Create a new github repository called '05_curve_fitting'.
+
+a. Add rcc02007 and zhs15101 as collaborators.
+
+b. Clone the repository to your computer.
+
+
+**2\.** Create a least-squares function called `least_squares.m` that accepts a Z-matrix and
+dependent variable y as input and returns the vector of best-fit constants, a, the
+best-fit function evaluated at each point $f(x_{i})$, and the coefficient of
+determination, r2.
+
+```matlab
+[a,fx,r2]=least_squares(Z,y);
+```
+
+Test your function on the sets of data in script `problem_2_data.m` and show that the
+following functions are the best fit lines. Report the coefficient of determination in your README.
+
+a. y=0.3745+0.98644x+0.84564/x
+
+b. y= 22.47-1.36x+0.28x^2
+
+c. y=4.0046e^(-1.5x)+2.9213e^(-0.3x)+1.5647e^(-0.05x)
+
+d. y=0.99sin(t)+0.5sin(3t)
+
+**3\.** Load the data from the [class dart
+experiment](https://github.com/cooperrc/stats_and_linear_regression/blob/master/compiled_data.csv).
+Show your work in a script with filename `dart_statistics.m` in your repository.
+
+a. Which user (0-32) was the most accurate dart thrower e.g. mean(x)+mean(y) was closest to 0 cm?
+
+b. Which user (0-32) was the most precise dart thrower e.g. std(x)+std(y) was closest to 0 cm?
+
+**4\.** 100 steel rods are going to be used to support a 1000 kg structure. The
+rods will buckle when the load in any rod exceeds the [critical buckling
+load](https://en.wikipedia.org/wiki/Euler%27s_critical_load)
+
+$P_{cr}=\frac{\pi^3 Er^4}{16L^2}$
+
+
+where E=200e9 Pa, r=0.01 m +/-0.001 m, and L is the length of the rod which can only be
+controlled to 1% tolerance. Create a Monte
+Carlo model `buckle_monte_carlo.m` that predicts the mean and standard deviation of the buckling load for 100
+samples with normally distributed dimensions r and L.
+
+`[mean_buckle_load,std_buckle_load]=buckle_monte_carlo(E,r_mean,r_std,L_mean,L_std)`
+
+a. What is the mean_buckle_load and std_buckle_load for L=5 m?
+
+b. What length, L, should the beams be so that only 2.5% will reach the critical buckling
+load?
+
+**5\.** The drag coefficient for spheres such as sporting balls is known to vary as a
+function of the Reynolds number Re, a dimensionless number that gives a measure of the
+ratio of inertial forces to viscous forces:
+
+$Re = \frac{\rho V D}{\mu}$
+
+
+where ρ= the fluid’s density (kg/m3), V= its velocity (m/s), D= diameter (m), and μ=
+dynamic viscosity (N⋅s/m2). The
+following table provides values for a smooth spherical ball:
+
+|Re (x1e-4) | C_D |
+|---|---|
+|2 | 0.52|
+|5.8| 0.52|
+|16.8| 0.52 |
+|27.2|0.5|
+|29.9|0.49 |
+|33.9|0.44|
+|36.3 | 0.18|
+|40| 0.074 |
+|46|0.067 |
+|60|0.08 |
+|100| 0.12|
+|200| 0.16|
+|400| 0.19|
+
+a. Create a function `sphere_drag.m` that outputs the drag coefficient based on the given
+table and an input Reynolds number using a spline interpolation of either linear
+('linear'),
+piecewise cubic ('pchip'), or cubic ('cubic'):
+
+`[Cd_out]=sphere_drag(Re_in,spline_type)`
+
+b. Use the following physical constants to plot the drag force vs velocity for a baseball:
+ρ= 1.3 kg/m3, V= 4 - 40 (m/s), D= 23.5 cm, and μ=1.78e-5 Pa-s. Plot all three
+interpolation methods on a single plot. Show the plot in your README.
+
+**6\.** Evaluate the integral of the following function:
+
+$\int_{2}^{3}f(x) = \int_{2}^{3} 1/6x^3 + 1/2x^2+x dx$
+
+a. analytically
+
+b. with 1-point Gauss quadrature
+
+c. with 2-point Gauss quadrature
+
+d. with 3-point Gauss quadrature
+
+e. include the results in a table in your README
+
+|method|value|error|
+|---|---|---|
+|analytical| ... | 0%|
+|1 Gauss point | ... | ..% |
+|... | ... | ... |
+
+
diff --git a/HW5/equations/buckle.png b/HW5/equations/buckle.png
new file mode 100644
index 0000000..0031a09
Binary files /dev/null and b/HW5/equations/buckle.png differ
diff --git a/HW5/equations/buckle.tex b/HW5/equations/buckle.tex
new file mode 100644
index 0000000..37e36bd
--- /dev/null
+++ b/HW5/equations/buckle.tex
@@ -0,0 +1,2 @@
+P_{cr}=\frac{\pi^2 EI}{4L^2}
+
diff --git a/HW5/equations/fx.png b/HW5/equations/fx.png
new file mode 100644
index 0000000..d4d0b17
Binary files /dev/null and b/HW5/equations/fx.png differ
diff --git a/HW5/equations/fx.tex b/HW5/equations/fx.tex
new file mode 100644
index 0000000..3f14aac
--- /dev/null
+++ b/HW5/equations/fx.tex
@@ -0,0 +1,2 @@
+\int_{2}^{3}f(x) = \int_{2}^{3} 1/6x^3 + 1/2x^2+x dx
+
diff --git a/HW5/equations/reynolds.png b/HW5/equations/reynolds.png
new file mode 100644
index 0000000..2b53d3c
Binary files /dev/null and b/HW5/equations/reynolds.png differ
diff --git a/HW5/equations/reynolds.tex b/HW5/equations/reynolds.tex
new file mode 100644
index 0000000..7414d0e
--- /dev/null
+++ b/HW5/equations/reynolds.tex
@@ -0,0 +1,2 @@
+Re = \frac{\rho V D}{\mu}
+
diff --git a/HW5/problem_2_data.m b/HW5/problem_2_data.m
new file mode 100644
index 0000000..558debc
--- /dev/null
+++ b/HW5/problem_2_data.m
@@ -0,0 +1,19 @@
+
+% part a
+xa=[1 2 3 4 5]';
+ya=[2.2 2.8 3.6 4.5 5.5]';
+
+% part b
+
+xb=[0 2 4 6 8 10 12 14 16 18]'
+yb=[21.5 20.84 23.19 22.69 30.27 40.11 43.31 54.79 70.88 89.48]';
+
+% part c
+
+xc=[0.5 1 2 3 4 5 6 7 9]';
+yc=[6 4.4 3.2 2.7 2.2 1.9 1.7 1.4 1.1]';
+
+% part d
+
+xd=[0.00000000e+00 1.26933037e-01 2.53866073e-01 3.80799110e-01 5.07732146e-01 6.34665183e-01 7.61598219e-01 8.88531256e-01 1.01546429e+00 1.14239733e+00 1.26933037e+00 1.39626340e+00 1.52319644e+00 1.65012947e+00 1.77706251e+00 1.90399555e+00 2.03092858e+00 2.15786162e+00 2.28479466e+00 2.41172769e+00 2.53866073e+00 2.66559377e+00 2.79252680e+00 2.91945984e+00 3.04639288e+00 3.17332591e+00 3.30025895e+00 3.42719199e+00 3.55412502e+00 3.68105806e+00 3.80799110e+00 3.93492413e+00 4.06185717e+00 4.18879020e+00 4.31572324e+00 4.44265628e+00 4.56958931e+00 4.69652235e+00 4.82345539e+00 4.95038842e+00 5.07732146e+00 5.20425450e+00 5.33118753e+00 5.45812057e+00 5.58505361e+00 5.71198664e+00 5.83891968e+00 5.96585272e+00 6.09278575e+00 6.21971879e+00 6.34665183e+00 6.47358486e+00 6.60051790e+00 6.72745093e+00 6.85438397e+00 6.98131701e+00 7.10825004e+00 7.23518308e+00 7.36211612e+00 7.48904915e+00 7.61598219e+00 7.74291523e+00 7.86984826e+00 7.99678130e+00 8.12371434e+00 8.25064737e+00 8.37758041e+00 8.50451345e+00 8.63144648e+00 8.75837952e+00 8.88531256e+00 9.01224559e+00 9.13917863e+00 9.26611167e+00 9.39304470e+00 9.51997774e+00 9.64691077e+00 9.77384381e+00 9.90077685e+00 1.00277099e+01 1.01546429e+01 1.02815760e+01 1.04085090e+01 1.05354420e+01 1.06623751e+01 1.07893081e+01 1.09162411e+01 1.10431742e+01 1.11701072e+01 1.12970402e+01 1.14239733e+01 1.15509063e+01 1.16778394e+01 1.18047724e+01 1.19317054e+01 1.20586385e+01 1.21855715e+01 1.23125045e+01 1.24394376e+01 1.25663706e+01]';
+yd=[9.15756288e-02 3.39393873e-01 6.28875306e-01 7.67713096e-01 1.05094584e+00 9.70887288e-01 9.84265740e-01 1.02589034e+00 8.53218113e-01 6.90197665e-01 5.51277193e-01 5.01564914e-01 5.25455797e-01 5.87052838e-01 5.41394658e-01 7.12365594e-01 8.14839678e-01 9.80181855e-01 9.44430709e-01 1.06728057e+00 1.15166322e+00 8.99464065e-01 7.77225453e-01 5.92618124e-01 3.08822183e-01 -1.07884730e-03 -3.46563271e-01 -5.64836023e-01 -8.11931510e-01 -1.05925186e+00 -1.13323611e+00 -1.11986890e+00 -8.88336727e-01 -9.54113139e-01 -6.81378679e-01 -6.02369117e-01 -4.78684439e-01 -5.88160325e-01 -4.93580777e-01 -5.68747320e-01 -7.51641934e-01 -8.14672884e-01 -9.53191554e-01 -9.55337518e-01 -9.85995556e-01 -9.63373597e-01 -1.01511061e+00 -7.56467517e-01 -4.17379564e-01 -1.22340361e-01 2.16273929e-01 5.16909714e-01 7.77031694e-01 1.00653798e+00 9.35718089e-01 1.00660116e+00 1.11177057e+00 9.85485116e-01 8.54344900e-01 6.26444042e-01 6.28124048e-01 4.27764254e-01 5.93991751e-01 4.79248018e-01 7.17522492e-01 7.35927848e-01 9.08802925e-01 9.38646871e-01 1.13125860e+00 1.07247935e+00 1.05198782e+00 9.41647332e-01 6.98801244e-01 4.03193543e-01 1.37009682e-01 -1.43203880e-01 -4.64369445e-01 -6.94978252e-01 -1.03483196e+00 -1.10261288e+00 -1.12892727e+00 -1.03902484e+00 -8.53573083e-01 -7.01815315e-01 -6.84745997e-01 -6.14189417e-01 -4.70090797e-01 -5.95052432e-01 -5.96497000e-01 -5.66861911e-01 -7.18239679e-01 -9.52873043e-01 -9.37512847e-01 -1.15782985e+00 -1.03858206e+00 -1.03182712e+00 -8.45121554e-01 -5.61821980e-01 -2.83427014e-01 -8.27056140e-02]';
diff --git a/extra_credit/README.md b/extra_credit/README.md
index 0ac65ae..1234d6d 100644
--- a/extra_credit/README.md
+++ b/extra_credit/README.md
@@ -21,3 +21,45 @@ columns with your netid on each row as such,
|rcc02007 | 1 | 30 |
|rcc02007 | ...| ... |
|rcc02007 | ...| ... |
+
+# Extra Credit Assignment \#3
+## Due 11/17 by 11:59pm
+
+**Nonlinear Regression - Logistic Regression**
+
+
+
+Use the Temperature and failure data from the Challenger O-rings
+[challenger_oring.csv](./challenger_oring.csv). Your independent variable is temperature and your dependent
+variable is failure (1=fail, 0=pass). Create a function called `cost_logistic.m` that
+takes the vector `a`, and independent variable `x` and dependent variable `y`. Use the
+function, $\sigma(t)=\frac{1}{1+e^{-t}}$ where $t=a_{0}+a_{1}x$. Use the cost function,
+
+$J(a_{0},a_{1})=1/m\sum_{i=1}^{n}\left[-y_{i}\log(\sigma(t_{i}))-(1-y_{i})\log((1-\sigma(t_{i})))\right]$
+
+and gradient
+
+$\frac{\partial J}{\partial a_{i}}=
+1/m\sum_{k=1}^{N}\left(\sigma(t_{k})-y_{k}\right)x_{k}^{i}$
+
+where $x_{k}^{i} is the k-th value of temperature raised to the i-th power (0, and 1)
+
+a. edit `cost_logistic.m` so that the output is `[J,grad]` or [cost, gradient]
+
+b. use the following code to solve for a0 and a1
+
+```matlab
+% Set options for fminunc
+options = optimset('GradObj', 'on', 'MaxIter', 400);
+% Run fminunc to obtain the optimal theta
+% This function will return theta and the cost
+[theta, cost] = ...
+fminunc(@(a)(costFunction(a, x, y)), initial_a, options);
+```
+
+c. plot the data and the best-fit logistic regression model
+
+```matlab
+plot(x,y, x, sigma(a(1)+a(2)*x))
+```
+