7 легендарных уравнений на JavaScript
Математика и компьютерные науки идут рука об руку. Подобрали 7 математических формул разного уровня сложности для проверки — сможете ли вы их реализовать? И на всякий случай снабдили статью нашими решениями.
2К открытий40К показов
Мы нашли несколько математических формул, которые в своё время внесли значимый вклад в развитие математики, геометрии и физики. Предлагаем разминку для ума: сможете ли вы справиться и реализовать все перечисленные нами формулы?
Кстати, Kata Academy набирает студентов на обучение JavaScript. Это отличная возможность, так как вы не платите за обучение, пока не устроитесь Javascript-разработчиком! Подробности здесь → Курс по JavaScript-разработке от Kata Academy.
Теорема Пифагора
Начнём с простенькой формулы. Известная всем со школьной скамьи теорема, которая гласит: квадрат гипотенузы равен сумме квадратов катетов в прямоугольном треугольнике. Она широко используется в инженерии (например, архитектуре), физике и информатике.
Возьмем c как длину гипотенузы, а a и b — длины катетов. Получаем запись a^2 + b^2 = c^2.
Решение на JavaScript
Логарифмы
С логарифмами сталкивались все в старших классах школы — эта функция возведения в степень, только наоборот: у нас есть возведённое в степень число, и мы хотим узнать, в какую степень нужно возвести основание.
Звучит определение логарифма примерно так: результат логарифма по основанию a от b будет являться такое число c, для которого справедливо a^c = b. Логарифмы, которые записываются без основания как log(x) — натуральные, то есть в его основание будет константа e.
Сможете реализовать функцию, которая бы проверяла достоверность log(xy)=log(x)+log(y)?
Решение на JavaScript
Математический анализ
f'(x)=lim(h→0)h
Теперь пример посложнее. Перед вами уравнение определения производной. Сможете реализовать код, который бы аппроксимировал бы производную функцию в заданной точке, вычисляя наклон секущей линии через две точки функции? При условии, что эти две точки находятся очень близко друг к другу.
Решение на JavaScript
Функция derivative() аппроксимирует производную функцию f в точке x. На выходе в примере мы получаем наклон касательной к f(x) = x^2 при заданном x=3. А поскольку производная для квадратичной функции от x всегда равна 2x, мы ожидаем, что скрипт выдаст ответ 6. В реальности, реализованная функция должна выдать очень близкий к нашему значению результат.
Универсальный закон всемирного тяготения Ньютона
Закон сформулирован следующим образом: сила притяжения прямо пропорциональна произведению их масс и обратно пропорциональна квадрату расстояния между их центрами. Для
- F — вычисляемая сила притяжения;
- G — гравитационная постоянная (6,674 * 10^(-11) Н(м^2)/кг^2);
- m1 и m2 — масса двух объектов;
- r — расстояние между центрами двух масс;
будет справедлива запись F=G(m1*m2/r^2).
Решение на JavaScript
Комплексные числа
Комплексные числа вселяли в нас ужас — i^2 = -1. Между тем, они часто используются для решения полиномиальных уравнений (то есть таких, в которых используются многочлены типа x^2=x^3).
Комплексные числа упрощают анализ электрических цепей, облегчают описание квантовой механики и играют ключевую роль в обработке сигналов.
Реализация комплексных чисел на JavaScript предполагает создание структуры для обработки как действительной, так и мнимой частей комплексных чисел, поскольку JavaScript изначально не поддерживает комплексные числа.
Решение на JavaScript
В нашем примере мы создаём мнимую единицу i в виде комплексного числа с 0 действительной частью и 1 в качестве мнимой, затем возводим i в квадрат чтобы доказать, что результатом будет -1.
Нормальное распределение
Основополагающая формула в статистике и теории вероятностей. Она описывает разброс данных вокруг среднего значения.
Теорема утверждает: сумма многих независимых случайных величин будет приблизительно соответствовать нормальному распределению. Приведенное выше уравнение представляет функцию плотности вероятности нормального распределения, где:
- x — переменная;
- μ — среднее значение распределения;
- σ — стандартное отклонение распределения;
- e — основа натурального логарифма (~2.71828);
- π приблизительно равно 3.14159.
Сможете написать функцию для вычисления математического ожидания для заданного x?
Решение на JavaScript
Уравнение Шрёдингера
Возьмём формулу из квантовой механики. Уравнение Шрёдингера описывает, как квантовое состояние физической системы изменяется со временем. Уравнение предоставляет способ вычисления амплитуды вероятности положения и импульса частиц, позволяя предсказывать множество физических свойств и явлений, таких как уровни энергии, структуры связей и поведение электронов в атомах.
Реализация этого уравнения на JavaScript, определенно, выходит за рамки простых функций языка. Сможете с ним справиться? Мы не справились, поэтому приводим концептуальное решение.
Решение на JavaScript
Делитесь в комментариях, какие хитрые формулы вы ещё знаете. А если приложите код — то мы обязательно дополним материал вашим примером.
Интересуетесь новыми возможностями и языками программирования? Возможно, позиция SRE-инженера в Deckhouse, компании Флант, станет для вас отличным шансом применить свои знания на практике и участвовать в разработке инновационных проектов.
2К открытий40К показов





