Функции · 22 из 32
Аттрактор Лоренца
Над верстаком у Валеры висит старый монитор, и сын поставил на него заставку — «бабочку Лоренца»: точка носится по двум петлям и никогда не повторяет путь. Метеоролог Эдвард Лоренц в 1963 году записал три уравнения конвекции воздуха и заметил: две точки, стартовавшие на тысячную долю порознь, через полминуты летят совсем по-разному. Отсюда «эффект бабочки». Посчитать один шаг такой точки — дело одной функции, а три числа в уравнениях пусть будут по умолчанию, как у Лоренца.
Что сделать
Сделайте один шаг точки по уравнениям Лоренца; три числа уравнений по умолчанию — как у самого Лоренца.
Что приходит
x,yиz— где точка сейчасdt— величина шага по времениsigma,rиb— числа уравнений; по умолчанию 10, 28 и 8/3
Что вернуть
Кортеж (x, y, z) — где точка через dt; каждое число округлено до шести знаков.
Допишите функцию shag_lorenca в редакторе справа.
Результат верните через return — то, что
напечатано, на проверку не влияет.
с графикой когда тесты пройдут, ответ вашей функции нарисуется · все задачи с графикой
Точка (1, 1, 27), шаг 0,01. Скорости: по x — 10·(1 − 1) = 0, по y — 1·(28 − 27) − 1 = 0, по z — 1·1 − 8/3·27 = −71. Точка опускается по z на 0,71: (1.0, 1.0, 26.29).
shag_lorenca(1, 1, 27, 0.01)
(1.0, 1.0, 26.29)
Скорости точки — по уравнениям Лоренца, все три из нынешних x, y, z:
- по x:
sigma · (y − x) - по y:
x · (r − z) − y - по z:
x · y − b · z
Новое положение — старое плюс скорость, умноженная на dt (метод Эйлера). Каждую координату округлите round(…, 6) и верните кортеж из трёх.
По умолчанию sigma = 10, r = 28, b = 8 / 3 — именно дробь, а не 2,667. Их можно передать и по имени: shag_lorenca(1, 2, 3, 0.01, r=15).
Обсуждение
Вопросов пока нет.
Войдите, чтобы спросить.