mirror of
https://github.com/mpusz/mp-units.git
synced 2025-08-04 20:54:28 +02:00
feat: absolute
and relative
reference modifiers support added
This commit is contained in:
@@ -62,12 +62,14 @@ int main()
|
||||
using estimate = kalman::system_state_estimate<qp>;
|
||||
using state = estimate::state_type;
|
||||
|
||||
const quantity process_noise_variance = 0.0001 * pow<2>(deg_C);
|
||||
const estimate initial{state{qp{60. * deg_C}}, 100. * deg_C};
|
||||
const std::array measurements = {qp{49.986 * deg_C}, qp{49.963 * deg_C}, qp{50.097 * deg_C}, qp{50.001 * deg_C},
|
||||
qp{50.018 * deg_C}, qp{50.05 * deg_C}, qp{49.938 * deg_C}, qp{49.858 * deg_C},
|
||||
qp{49.965 * deg_C}, qp{50.114 * deg_C}};
|
||||
const quantity measurement_error = 0.1 * deg_C;
|
||||
const quantity process_noise_variance = 0.0001 * relative(pow<2>(deg_C));
|
||||
const estimate initial{state{qp{60. * relative(deg_C)}}, 100. * relative(deg_C)};
|
||||
const std::array measurements = {qp{49.986 * relative(deg_C)}, qp{49.963 * relative(deg_C)},
|
||||
qp{50.097 * relative(deg_C)}, qp{50.001 * relative(deg_C)},
|
||||
qp{50.018 * relative(deg_C)}, qp{50.05 * relative(deg_C)},
|
||||
qp{49.938 * relative(deg_C)}, qp{49.858 * relative(deg_C)},
|
||||
qp{49.965 * relative(deg_C)}, qp{50.114 * relative(deg_C)}};
|
||||
const quantity measurement_error = 0.1 * relative(deg_C);
|
||||
const quantity measurement_variance = pow<2>(measurement_error);
|
||||
|
||||
auto predict = [=](const estimate& current) {
|
||||
|
@@ -62,12 +62,14 @@ int main()
|
||||
using estimate = kalman::system_state_estimate<qp>;
|
||||
using state = estimate::state_type;
|
||||
|
||||
const quantity process_noise_variance = 0.0001 * pow<2>(deg_C);
|
||||
const estimate initial{state{qp{10. * deg_C}}, 100. * deg_C};
|
||||
const std::array measurements = {qp{50.486 * deg_C}, qp{50.963 * deg_C}, qp{51.597 * deg_C}, qp{52.001 * deg_C},
|
||||
qp{52.518 * deg_C}, qp{53.05 * deg_C}, qp{53.438 * deg_C}, qp{53.858 * deg_C},
|
||||
qp{54.465 * deg_C}, qp{55.114 * deg_C}};
|
||||
const quantity measurement_error = 0.1 * deg_C;
|
||||
const quantity process_noise_variance = 0.0001 * relative(pow<2>(deg_C));
|
||||
const estimate initial{state{qp{10. * relative(deg_C)}}, 100. * relative(deg_C)};
|
||||
const std::array measurements = {qp{50.486 * relative(deg_C)}, qp{50.963 * relative(deg_C)},
|
||||
qp{51.597 * relative(deg_C)}, qp{52.001 * relative(deg_C)},
|
||||
qp{52.518 * relative(deg_C)}, qp{53.05 * relative(deg_C)},
|
||||
qp{53.438 * relative(deg_C)}, qp{53.858 * relative(deg_C)},
|
||||
qp{54.465 * relative(deg_C)}, qp{55.114 * relative(deg_C)}};
|
||||
const quantity measurement_error = 0.1 * relative(deg_C);
|
||||
const quantity measurement_variance = pow<2>(measurement_error);
|
||||
|
||||
auto predict = [=](const estimate& current) {
|
||||
|
@@ -62,12 +62,14 @@ int main()
|
||||
using estimate = kalman::system_state_estimate<qp>;
|
||||
using state = estimate::state_type;
|
||||
|
||||
const quantity process_noise_variance = 0.15 * pow<2>(deg_C);
|
||||
const estimate initial{state{qp{10. * deg_C}}, 100. * deg_C};
|
||||
const std::array measurements = {qp{50.486 * deg_C}, qp{50.963 * deg_C}, qp{51.597 * deg_C}, qp{52.001 * deg_C},
|
||||
qp{52.518 * deg_C}, qp{53.05 * deg_C}, qp{53.438 * deg_C}, qp{53.858 * deg_C},
|
||||
qp{54.465 * deg_C}, qp{55.114 * deg_C}};
|
||||
const quantity measurement_error = 0.1 * deg_C;
|
||||
const quantity process_noise_variance = 0.15 * relative(pow<2>(deg_C));
|
||||
const estimate initial{state{qp{10. * relative(deg_C)}}, 100. * relative(deg_C)};
|
||||
const std::array measurements = {qp{50.486 * relative(deg_C)}, qp{50.963 * relative(deg_C)},
|
||||
qp{51.597 * relative(deg_C)}, qp{52.001 * relative(deg_C)},
|
||||
qp{52.518 * relative(deg_C)}, qp{53.05 * relative(deg_C)},
|
||||
qp{53.438 * relative(deg_C)}, qp{53.858 * relative(deg_C)},
|
||||
qp{54.465 * relative(deg_C)}, qp{55.114 * relative(deg_C)}};
|
||||
const quantity measurement_error = 0.1 * relative(deg_C);
|
||||
const quantity measurement_variance = pow<2>(measurement_error);
|
||||
|
||||
auto predict = [=](const estimate& current) {
|
||||
|
@@ -84,7 +84,7 @@ int main()
|
||||
const auto t3 = std::make_tuple(isq::energy(q3 * h), isq::wavenumber(q3 / c), q3,
|
||||
isq::thermodynamic_temperature(q3 * h / kb), isq::wavelength(c / q3));
|
||||
|
||||
const auto q4 = isq::thermodynamic_temperature(1. * K);
|
||||
const auto q4 = isq::thermodynamic_temperature(1. * relative(K));
|
||||
const auto t4 = std::make_tuple(isq::energy(q4 * kb), isq::wavenumber(q4 * kb / (h * c)), isq::frequency(q4 * kb / h),
|
||||
q4, isq::wavelength(h * c / (q4 * kb)));
|
||||
|
||||
|
Reference in New Issue
Block a user