Refactoring
This commit is contained in:
1 parent
57b01edebd
commit
e90d5ebc49
2 files changed
+6
-13
No files matched your search
@@ -97,4 +97,3 @@ add_mmps_plugin(
|
|||||||
# ПРИМЕР ЗАПУСКА ИЗ КАТАЛОГА build
|
# ПРИМЕР ЗАПУСКА ИЗ КАТАЛОГА build
|
||||||
# bin/Release/mmps_host.exe (Visual Studio)
|
# bin/Release/mmps_host.exe (Visual Studio)
|
||||||
# bin/mmps_host (Linux/Makefiles)
|
# bin/mmps_host (Linux/Makefiles)
|
||||||
# Каталог плагинов и значения k1, k2, h программа запросит через std::cin.
|
|
||||||
+6
-12
@@ -5,7 +5,6 @@ from scipy.optimize import least_squares
|
|||||||
K1_REFERENCE = 0.577
|
K1_REFERENCE = 0.577
|
||||||
K2_REFERENCE = 0.422
|
K2_REFERENCE = 0.422
|
||||||
|
|
||||||
# Диапазоны из задания
|
|
||||||
K1_BOUNDS = (1e-5, 1e2)
|
K1_BOUNDS = (1e-5, 1e2)
|
||||||
K2_BOUNDS = (1e-2, 1.0)
|
K2_BOUNDS = (1e-2, 1.0)
|
||||||
|
|
||||||
@@ -79,15 +78,11 @@ def rk4_solution(t, k1, k2):
|
|||||||
|
|
||||||
return solution
|
return solution
|
||||||
|
|
||||||
|
|
||||||
# Моменты времени из задания:
|
|
||||||
# tj = 0.1j, j = 0, ..., 100
|
|
||||||
time = np.linspace(T_BEGIN, T_END, 101)
|
time = np.linspace(T_BEGIN, T_END, 101)
|
||||||
|
|
||||||
# Эталонные данные
|
# Эталонные данные
|
||||||
reference_solution = analytical_solution(time, K1_REFERENCE, K2_REFERENCE)
|
reference_solution = analytical_solution(time, K1_REFERENCE, K2_REFERENCE)
|
||||||
|
|
||||||
|
|
||||||
def residuals(parameters):
|
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_k1 = absolute_error_k1 / K1_REFERENCE * 100.0
|
||||||
relative_error_k2 = absolute_error_k2 / K2_REFERENCE * 100.0
|
relative_error_k2 = absolute_error_k2 / K2_REFERENCE * 100.0
|
||||||
criterion_value = np.sum(result.fun ** 2)
|
|
||||||
|
|
||||||
print("Results")
|
print("Results")
|
||||||
print(f"Found k1:{found_k1:.4f}")
|
print(f"Found k1:{found_k1:.4f}")
|
||||||
print(f"Theoretical k1:{K1_REFERENCE:.4f}")
|
print(f"Theoretical k1:{K1_REFERENCE:.4f}")
|
||||||
print(f"Absolute error of k1:{absolute_error_k1:.4e}")
|
print(f"Absolute error of k1:{absolute_error_k1:.5e}")
|
||||||
print(f"Relative error of k1:{relative_error_k1:.4e} %")
|
print(f"Relative error of k1:{relative_error_k1:.5e} %")
|
||||||
print()
|
print()
|
||||||
|
|
||||||
print(f"Found k2:{found_k2:.4f}")
|
print(f"Found k2:{found_k2:.5f}")
|
||||||
print(f"Theoretical k2:{K2_REFERENCE:.4f}")
|
print(f"Theoretical k2:{K2_REFERENCE:.5f}")
|
||||||
print(f"Absolute error of k2:{absolute_error_k2:.4e}")
|
print(f"Absolute error of k2:{absolute_error_k2:.5e}")
|
||||||
print(f"Relative error of k2:{relative_error_k2:.4e} %")
|
print(f"Relative error of k2:{relative_error_k2:.5e} %")
|
||||||
print()
|
print()
|
||||||
Reference in new issue
Block a user