From 5ee716791bf7a8ca74c1670a6887a53ab92141f6 Mon Sep 17 00:00:00 2001 From: justanothercatgirl Date: Mon, 14 Apr 2025 00:34:52 +0300 Subject: added 218, 226, 234, 240 --- 240/main.cpp | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 240/main.cpp (limited to '240/main.cpp') diff --git a/240/main.cpp b/240/main.cpp new file mode 100644 index 0000000..52af396 --- /dev/null +++ b/240/main.cpp @@ -0,0 +1,28 @@ +#include + +#include "include/praktable.hpp" +#include "include/prakphys.hpp" + +using table = prak::table; +using f64p = prak::pvalue; +using f64v = std::vector; +using vecarg = const std::vector &; +using argvec = const std::vector &; + +void ex1(std::string file) { + table t(file); + t.apply([](argvec a){ return std::log(a[0]/a[1]); }, std::vector{"dp1", "dp"}, "ln"); + t.write_plot("mnk.plot", "t", "ln", std::nullopt); + auto [A, B] = t.least_squares_linear("t", "ln", std::nullopt, std::make_optional(0.1)); + f64p gamma = prak::function([](vecarg a) { return std::exp(a[0]) / (std::exp(a[0]) - 1); }, {B}); + f64p Cv = prak::R / (gamma - 1.0); + f64p i = 2.0 * Cv / prak::R, Cp = Cv + prak::R; + f64 m0 = 1.29 * 0.0127; + f64p alpha = m0 * Cp * A, tau = 1.0 / A; + std::cout << t var(A) var(B) var(gamma) var(Cv) var(i) var(m0) var(Cp) var(alpha) var(tau); +} + +int main() { + ex1("data"); + return 0; +} -- cgit v1.2.3-70-g09d2