1 Commits

Author SHA1 Message Date
850791b25d task2 2026-01-09 12:13:15 +03:00
2 changed files with 11 additions and 6 deletions

View File

@@ -9,6 +9,7 @@
Область: [-3, 8]
"""
import shutil
import sys
from pathlib import Path
@@ -37,11 +38,11 @@ EPS_F = 0.001
MAX_ITERS = 100
# Шаг для константного метода (небольшой, чтобы было 3-4+ итерации)
CONSTANT_STEP = 0.5
CONSTANT_STEP = 12
# Параметры для правила Армихо
ARMIJO_PARAMS = {
"d_init": 2.0,
"d_init": 12.0,
"epsilon": 0.1,
"theta": 0.5,
}
@@ -301,7 +302,9 @@ def main():
print(f"Стартовая точка: x₀ = {X0}")
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)
# 1. Константный шаг

View File

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