From b25983f97c2828aa291e20a2bf21b89a52eca2eb Mon Sep 17 00:00:00 2001 From: ltcptgeneral <35508619+ltcptgeneral@users.noreply.github.com> Date: Thu, 29 Nov 2018 09:27:08 -0600 Subject: [PATCH] updated stuff --- .../__pycache__/analysis.cpython-37.pyc | Bin 26854 -> 26873 bytes data analysis/analysis.py | 6 +++--- data analysis/analysis.pyc | Bin 0 -> 31092 bytes data analysis/requirements.txt | 6 ++++++ 4 files changed, 9 insertions(+), 3 deletions(-) create mode 100644 data analysis/analysis.pyc create mode 100644 data analysis/requirements.txt diff --git a/data analysis/__pycache__/analysis.cpython-37.pyc b/data analysis/__pycache__/analysis.cpython-37.pyc index f9b64cbd096b615763468da357b4a8bea3644ab7..f39e6ff59c0e806aab49bf9e82e2338fde0c636a 100644 GIT binary patch delta 5677 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 delta 5678 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 Z_YuM+1Q8Ow*y}?OR0+@Sho2^2`!AmXLreew diff --git a/data analysis/analysis.py b/data analysis/analysis.py index 55a56355..73b67c50 100644 --- a/data analysis/analysis.py +++ b/data analysis/analysis.py @@ -678,7 +678,7 @@ def tanh_regression(x, y): for i in range(len(x)): z = x[i] - exec("vals.append(" + eq_str + ")") + exec("vals.append(" + eq_str + ")") in globals(), locals() _rms = rms(vals, y) r2_d2 = r_squared(vals, y) @@ -838,11 +838,11 @@ def basic_analysis(filepath): #assumes that rows are the independent variable an def benchmark(x, y): start_g = time.time() - generate_data("benchmark_data.csv", x, y, -10, 10) + generate_data("data.csv", x, y, -10, 10) end_g = time.time() start_a = time.time() - basic_analysis("benchmark_data.csv") + basic_analysis("data.csv") end_a = time.time() return [(end_g - start_g), (end_a - start_a)] diff --git a/data analysis/analysis.pyc b/data analysis/analysis.pyc new file mode 100644 index 0000000000000000000000000000000000000000..07f9f3c50249f2ffde1e8dc3f5fb95789dcda7df GIT binary patch literal 31092 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