1 Commits

Author SHA1 Message Date
029815e4d7 task2 2026-01-07 15:20:25 +03:00
2 changed files with 6 additions and 11 deletions

View File

@@ -9,7 +9,6 @@
Область: [-3, 8] Область: [-3, 8]
""" """
import shutil
import sys import sys
from pathlib import Path from pathlib import Path
@@ -38,11 +37,11 @@ EPS_F = 0.001
MAX_ITERS = 100 MAX_ITERS = 100
# Шаг для константного метода (небольшой, чтобы было 3-4+ итерации) # Шаг для константного метода (небольшой, чтобы было 3-4+ итерации)
CONSTANT_STEP = 12 CONSTANT_STEP = 0.5
# Параметры для правила Армихо # Параметры для правила Армихо
ARMIJO_PARAMS = { ARMIJO_PARAMS = {
"d_init": 12.0, "d_init": 2.0,
"epsilon": 0.1, "epsilon": 0.1,
"theta": 0.5, "theta": 0.5,
} }
@@ -302,9 +301,7 @@ def main():
print(f"Стартовая точка: x₀ = {X0}") print(f"Стартовая точка: x₀ = {X0}")
print(f"Параметры: eps_x = {EPS_X}, eps_f = {EPS_F}, max_iters = {MAX_ITERS}") print(f"Параметры: eps_x = {EPS_X}, eps_f = {EPS_F}, max_iters = {MAX_ITERS}")
# Очищаем и создаём папку для графиков # Создаём папку для графиков
if OUTPUT_DIR.exists():
shutil.rmtree(OUTPUT_DIR)
OUTPUT_DIR.mkdir(parents=True, exist_ok=True) OUTPUT_DIR.mkdir(parents=True, exist_ok=True)
# 1. Константный шаг # 1. Константный шаг

View File

@@ -6,7 +6,6 @@
3. Правило Армихо 3. Правило Армихо
""" """
import shutil
import sys import sys
from pathlib import Path from pathlib import Path
@@ -41,9 +40,10 @@ EPS_X = 1e-2
EPS_F = 1e-2 EPS_F = 1e-2
MAX_ITERS = 200 MAX_ITERS = 200
# Шаг для константного метода (для оврага нужен маленький шаг!)
CONSTANT_STEPS = { CONSTANT_STEPS = {
"himmelblau": 0.01, "himmelblau": 0.01,
"ravine": 0.01, "ravine": 0.01, # Маленький шаг из-за большого градиента по y
} }
# Параметры для правила Армихо # Параметры для правила Армихо
@@ -427,9 +427,7 @@ def main():
print(f"Стартовая точка: x₀ = ({x0[0]}, {x0[1]})") print(f"Стартовая точка: x₀ = ({x0[0]}, {x0[1]})")
print(f"Параметры: eps_x = {EPS_X}, eps_f = {EPS_F}, max_iters = {MAX_ITERS}") print(f"Параметры: eps_x = {EPS_X}, eps_f = {EPS_F}, max_iters = {MAX_ITERS}")
# Очищаем и создаём папку для графиков # Создаём папку для графиков
if OUTPUT_DIR.exists():
shutil.rmtree(OUTPUT_DIR)
OUTPUT_DIR.mkdir(parents=True, exist_ok=True) OUTPUT_DIR.mkdir(parents=True, exist_ok=True)
# Создаём сетку для контурных графиков (один раз) # Создаём сетку для контурных графиков (один раз)