From e90d5ebc49172467105a8912ad015eccbaf3720e Mon Sep 17 00:00:00 2001 From: ParkSuMin Date: Wed, 23 Sep 2026 18:10:38 +0300 Subject: [PATCH] Refactoring --- CMakeLists.txt | 1 - scripts/optimize.py | 18 ++++++------------ 2 files changed, 6 insertions(+), 13 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 07447dc..8839d4b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -97,4 +97,3 @@ add_mmps_plugin( # ПРИМЕР ЗАПУСКА ИЗ КАТАЛОГА build # bin/Release/mmps_host.exe (Visual Studio) # bin/mmps_host (Linux/Makefiles) -# Каталог плагинов и значения k1, k2, h программа запросит через std::cin. diff --git a/scripts/optimize.py b/scripts/optimize.py index 1554dd6..324f851 100644 --- a/scripts/optimize.py +++ b/scripts/optimize.py @@ -5,7 +5,6 @@ from scipy.optimize import least_squares K1_REFERENCE = 0.577 K2_REFERENCE = 0.422 -# Диапазоны из задания K1_BOUNDS = (1e-5, 1e2) K2_BOUNDS = (1e-2, 1.0) @@ -79,15 +78,11 @@ def rk4_solution(t, k1, k2): return solution - -# Моменты времени из задания: -# tj = 0.1j, j = 0, ..., 100 time = np.linspace(T_BEGIN, T_END, 101) # Эталонные данные reference_solution = analytical_solution(time, K1_REFERENCE, K2_REFERENCE) - def residuals(parameters): """ Вектор невязок между моделью и эталонными данными. @@ -120,17 +115,16 @@ absolute_error_k2 = abs(found_k2 - K2_REFERENCE) relative_error_k1 = absolute_error_k1 / K1_REFERENCE * 100.0 relative_error_k2 = absolute_error_k2 / K2_REFERENCE * 100.0 -criterion_value = np.sum(result.fun ** 2) print("Results") print(f"Found k1:{found_k1:.4f}") print(f"Theoretical k1:{K1_REFERENCE:.4f}") -print(f"Absolute error of k1:{absolute_error_k1:.4e}") -print(f"Relative error of k1:{relative_error_k1:.4e} %") +print(f"Absolute error of k1:{absolute_error_k1:.5e}") +print(f"Relative error of k1:{relative_error_k1:.5e} %") print() -print(f"Found k2:{found_k2:.4f}") -print(f"Theoretical k2:{K2_REFERENCE:.4f}") -print(f"Absolute error of k2:{absolute_error_k2:.4e}") -print(f"Relative error of k2:{relative_error_k2:.4e} %") +print(f"Found k2:{found_k2:.5f}") +print(f"Theoretical k2:{K2_REFERENCE:.5f}") +print(f"Absolute error of k2:{absolute_error_k2:.5e}") +print(f"Relative error of k2:{relative_error_k2:.5e} %") print()