Статистика платформи
Хвиля 29 одним поглядом
Візуалізатор рядів Тейлора
Спостерігайте, як sin, cos, ex, ln(1+x), arctan, sinh, cosh, 1/(1−x) наближаються до своїх цільових функцій член за членом. Регульований центр розкладу, N до 20 членів, жива панель похибки, мітка радіуса збіжності.
Спробувати →Нейрон Ходжкіна–Хакслі
Удостоєна Нобелівської премії 1963 року модель провідності гігантського аксона кальмара. Введіть імпульс струму та спостерігайте, як змінні воріт Na+ / K+ m, h, n формують сплеск потенціалу дії, рефрактерний період і повторювану генерацію імпульсів.
Спробувати →Модель Ізінга — фазовий перехід
2D Монте-Карло Метрополіса–Гастінгса на решітці спінів N×N. Регулюйте температуру, зовнішнє поле та константу зв'язку. Спостерігайте, як спонтанна намагніченість виникає нижче Tc = 2.269 J/kB.
Спробувати →Візуалізатор рядів Тейлора
Ряд Тейлора розкладає будь-яку гладку функцію в нескінченний поліном з центром у точці a:
f(x) = Σ f(n)(a) · (x − a)n / n!
Візуалізатор підтримує вісім функцій і дозволяє переміщати центр розкладу a будь-де на осі — не лише в початку координат Маклорена. Кожен доданий член підсвічується на графіку та перелічується під канвою, що дає змогу легко побачити, наскільки швидко (чи повільно) часткова сума збігається до справжньої кривої.
- Основна панель — справжня функція (біла) і часткова сума (блакитна) накладені одна на одну; проміжок між ними заповнюється, щоб показати миттєву похибку.
- Панель похибки — перемикний підграфік |f(x) − PN(x)| у логарифмічному масштабі, що одразу робить видимою розбіжність на межі області збіжності.
- Список членів — прокручуваний список поточних коефіцієнтів з підсвіченим членом найвищого порядку в момент додавання.
- Радіус збіжності — відображається для кожної функції (наприклад, R = 1 для ln(1+x) та arctan, R = ∞ для sin/cos/exp).
Керування: вибір функції, центр розкладу a (−3 до 3), кількість членів N (1–20), масштаб діапазону x, перемикач панелі похибки, кнопка анімації (автоматично збільшує N від 1).
Нейрон Ходжкіна–Хакслі
Модель Ходжкіна–Хакслі (1952, Нобелівська премія 1963) описує іонний механізм потенціалу дії в гігантському аксоні кальмара. Мембранний потенціал V підпорядковується ОДР:
Cm dV/dt = Iext − gNa m3h(V − ENa) − gK n4(V − EK) − gL(V − EL)
зі змінними воріт m, h (активація/інактивація натрію) та n (активація калію), кожна з яких підпорядковується кінетиці першого порядку dx/dt = αx(V)(1−x) − βx(V)x.
Симуляція використовує оригінальні параметри аксона кальмара з роботи Ходжкіна й Хакслі 1952 року (Cm = 1 μF/cm², gNa = 120, gK = 36, gL = 0.3 mS/cm²) та інтегрує повну систему ОДР методом Ейлера з dt = 0.01 мс. Канва малює V(t) синім кольором плюс три сліди змінних воріт (m червоний, h жовтий, n зелений) та фіолетовий стовпчик Iext. Інформаційна панель показує кількість імпульсів, пікову напругу та частоту генерації.
- Пресети — одиночний імпульс, повторювана генерація, підпорогова стимуляція, короткий імпульс, високочастотний вибух.
- Повзунки — Iext (0–20 μA/cm²), початок і тривалість імпульсу, вікно симуляції (10–200 мс).
- Режим анімації — повторно запускає симуляцію в режимі прокрутки в реальному часі при 60 кадрах/с, щоб можна було спостерігати наростання серії імпульсів.
Модель Ізінга — фазові переходи
2D модель Ізінга — найпростіша система, що зазнає неперервного фазового переходу. Спіни si = ±1 на квадратній решітці взаємодіють через зв'язок найближчих сусідів; гамільтоніан має вигляд:
H = −J Σ⟨i,j⟩ si sj − H Σi si
Алгоритм Метрополіса–Гастінгса вибирає розподіл Больцмана: випадковий переворот спіна приймається безумовно, якщо ΔE ≤ 0, або з імовірністю e−ΔE/kBT в іншому випадку. Нижче точної 2D критичної температури kBTc = 2J/ln(1+√2) ≈ 2.269J з'являється спонтанна намагніченість і зростають великі феромагнітні домени. Вище Tc теплові флуктуації повністю розупорядковують решітку.
Канва кодує кольором кожен спін (теплий червоний = вгору, холодний
синій = вниз) і рендерить у повній роздільності через
ImageData, забезпечуючи плавну анімацію в реальному
часі навіть при N = 80 (6400 спінів). Живий графік історії
намагніченості відстежує |〈m〉| з часом. Керування дає
доступ до T/Tc, зовнішнього поля H, константи зв'язку J,
розміру решітки N та початкових умов (випадкові, всі вгору, всі
вниз).
Інженерні нотатки
Ряди Тейлора: аналітичне обчислення n-ї похідної + регуляризація за правилом Лопіталя
Обчислення коефіцієнта Тейлора cn = f(n)(a)/n! вимагає точної n-ї похідної в центрі розкладу. Для sin, cos, sinh, cosh похідні циклічно повторюються з періодом 4 або 2 відповідно, тож достатньо простого диспетчера за модулем. Для ln(1+x) шаблон має вигляд cn = (−1)n+1(n−1)!/(1+a)n. Для 1/(1−x) замкнута форма — n!/(1−a)n+1. Для arctan, вищі похідні якого не мають чистої замкнутої форми, реалізація переходить на центрований скінченно-різницевий шаблон порядку n. Факторіали кешуються до n = 170 (межа переповнення подвійної точності). Функції швидкості αm та αn у Ходжкіна–Хакслі застосовують той самий шаблон правила Лопіталя: коли |V + 40| < 10−5 (відп. |V + 55|), граничне значення 1.0 (відп. 0.1) повертається напряму, щоб уникнути невизначеності 0/0 через скорочення.
Ходжкін–Хакслі: повне обчислення, а потім рендер для анімації без артефактів
Замість покрокового розв'язання ОДР усередині циклу анімації (що
ризикує тремтінням частоти кадрів, яке спричиняє видимий
чисельний шум), симуляція виконує повне інтегрування методом
Ейлера синхронно в основному потоці щоразу, коли змінюється
повзунок, зберігаючи повні масиви V(t), m(t), h(t), n(t). Цикл
requestAnimationFrame
потім просто прокручує вікно по попередньо обчислених масивах і
перемальовує видимий сегмент, гарантуючи, що форма хвилі
залишається незмінною незалежно від частоти кадрів дисплея. Вікно
200 мс при dt = 0.01 мс — це 20 000 точок —
достатньо швидко для обчислення за <2 мс на будь-якому
сучасному пристрої.
Модель Ізінга: випадковий доступ Метрополіса проти шахового обходу
Канонічна підручникова реалізація використовує
шаховий (червоно-чорний) обхід, щоб уникнути конфліктів
доступу до даних у паралельних реалізаціях, але це вносить тонку
кореляцію: «чорна» підрешітка відчуває вплив
усіх оновлених червоних спінів одночасно, створюючи
невеликий систематичний зсув поблизу Tc. Натомість
симуляція використовує Метрополіс із
випадковим доступом: кожен підкрок обирає рівномірно
випадковий індекс спіна, обчислює ΔE від чотирьох сусідів з
періодичними граничними умовами та застосовує критерій прийняття.
Один прохід складається з N² таких пропозицій одиночного
перевороту, тож кожен прохід статистично еквівалентний одному
кроку Монте-Карло на спін (MCS). Int8Array компактно
зберігає спіни (±1 в 1 байті кожен), а ImageData
рендерить решітку одним викликом putImageData на
кадр.
Що далі — анонс Хвилі 30
Заплановані теми для Хвилі 30:
- Конструктор рядів Фур'є — розкладання квадратної, пилкоподібної, трикутної хвиль на гармоніки; інтерактивне додавання/видалення членів; явище Гіббса на розривах
- Гравітаційне лінзування — відхилення світла за Шварцшильдом, радіус кільця Ейнштейна, лінзи з точковою та розподіленою масою, ретро-лінзовані зображення джерела
- Фронт епідемії (SIR-PDE) — реакційно-дифузійна модель SIR на 2D сітці, швидкість просторового поширення, кривизна фронту хвилі, неоднорідність популяції
Усі симуляції Хвилі 30 вийдуть з EN + UK сторінками в день запуску.