Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 029815e4d7 |
@@ -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. Константный шаг
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|
||||||
# Создаём сетку для контурных графиков (один раз)
|
# Создаём сетку для контурных графиков (один раз)
|
||||||
|
|||||||
Reference in New Issue
Block a user