Ответы пользователя по тегу Математика
  • Как взять преобразование Фурье от дискретных точек?

    @nirvimel
    Не подскажу про Matlab, но на Python это делается так:
    import numpy
    import scipy.fftpack
    x = numpy.array([0, 1, 0, 1, 0, 1, 0, 1, 0, 1])
    numpy.abs(scipy.fftpack.fft(x)[:(len(x)/2)]) * (2./len(x))

    На выходе: array([ 1., 0., 0., 0., 0.]) - тут виден единственный пик на самой высокой частоте n все более низкие частоты по нулям.
    Если взять другой пример:
    x = numpy.array([0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1])
    , то получим array([ 0.5, 0. , 0. , 0.5, 0. , 0. ]) - тут два равных пика на n и на n/4, последний очевидно следует из данных, первый из того факта, что фигура исходного сигнала далека от синусоиды.
    Ответ написан
    Комментировать
  • Возможно ли найти 4ую сторону прямоугольника?

    @nirvimel
    Во-первых: ваш участок имеет форму выпуклого четырехугольника, не называйте его прямоугольником.
    Во-вторых: есть три варианта:
    1. Можно однозначно определить одну сторону произвольного выпуклого четырехугольника, зная три другие стороны, площадь и два противолежащих угла (любую из двух пар):
      e4ebdbea0c808d8fa4dd6e53556219a1655abb52
      где p — полупериметр и 3351298cdc880a6b74862b03f7a08ed7a8fd83b6
    2. Можно однозначно определить одну сторону произвольного выпуклого четырехугольника, зная три другие стороны, площадь и обе диагонали:
      33792982dd20b232484bf3c8dd8eb45b31241648
      где p — полупериметр, e и f -диагонали.
    3. Невозможно однозначно определить одну сторону произвольного выпуклого четырехугольника, зная только три другие стороны и площадь. То есть существует бесконечное множество значений длины искомой стороны, удовлетворяющих заданным условиям.


    Короче: Меряйте или диагонали, или углы (любую пару противоположных углов).
    Ответ написан
    1 комментарий
  • Поиск сдвига одного изображения относительно другого?

    @nirvimel
    Про OpenCV не подскажу, но я бы написал это вручную. Идея простая: Задаем функцию которая проверяет истинность (точнее обратное ей значение, типа "ложность") гипотезы что второе изображение является первым изображением, сдвинутым по осям ровно на значения X, Y. Эта функция рассчитывается (например) как сумма квадратов разностей значений соответствующих пикселов первого изображения и второго, сдвинутого на -X, -Y. Имея такую функцию дальше просто находим ее минимум методом градиентного спуска (начальные значения X=0, Y=0), полученные X, Y и будут рассчитанными значениями смещения второго изображения от первого.
    С поворотом все аналогично, только добавляется еще одна одна переменная - градус поворота. Но функция проверки гипотезы становится значительно тяжелее в вычислительном плане: на каждый пиксел пойдет минимум одна тригонометрическая функция (относительно тяжелая для CPU), плюс этим обламывается SIMD оптимизация, которая дает многократное ускорение для первого варианта без поворота.
    Ответ написан
    1 комментарий
  • Формула расшифровки px из size?

    @nirvimel
    Нужно как минимум прочитать заголовок PNG (а точнее IHDR chunk, который идет первым), в нем указаны ширина и высота в пикселах. Без доступа к содержимому файла это определить невозможно.
    Ответ написан
    4 комментария
  • Какая должна быть функция?

    @nirvimel
    функция — это соответствие между элементами двух множеств, установленное по такому правилу, что каждому элементу одного множества ставится в соответствие некоторый [один] элемент из другого множества.

    Функция (математика)

    Следовательно, не может существовать такой функции y(x), в которой одному значению аргумента x соответствуют разные значения функции y, как у вас (4, 0.5), (4, 1), (4, 1.5), (4, 2).

    Зато вполне могла бы существовать x(y), график которой проходил бы через данные точки.
    Ответ написан
    Комментировать
  • Сколько измерений имеет комплексная координатная "плоскость"?

    @nirvimel
    Комплексное число очень грубо можно рассматривать как вектор двух действительных чисел (сейчас тут математики громко возмутятся, пускай, будет интересно их послушать). На двухмерной координатной плоскости хорошо представляются значения (но не координатные пары) комплексных чисел, их ряды и интервалы (в виде двумерных кривых). В трехмерном пространстве можно представлять графики комплексных функций от действительных аргументов и действительных функций от комплексных аргументов. Но комплексная функция от комплексного аргумента не имеет графического представления, потому что такое представление возможно только в четырехмерном пространстве.
    Ответ написан
    3 комментария
  • Есть ли freeware (или с символической оплатой) Online web-ресурс по построению графиков и поверхностей?

    @nirvimel
    • Очевидный Wolframalpha (пункты 1, 2, 3 в платной версии).
    • Из простых 2D графиков я использую fooplot.com (пример с семейством функций на одном графике). Что характерно - в URL всегда актуальная ссылка на текущий документ (обновляется при любом изменении), сам документ не хранится на сервере, а полностью определен в самой ссылке.
    Ответ написан
    1 комментарий
  • Какая математическая формула?

    @nirvimel
    x = s / (2^(n-1) - 1), где s - сумма выигрыша; n - количество "мест".

    1531f4d51b2d46ff85df51323d91b79f.png
    Ответ написан
    Комментировать
  • На чем писать back-end, в котором много математики?

    @nirvimel
    Python для вычислений медленный!? Вы просто не умеете его готовить!
    Я уже писал тут, что питон только сверху динамически типизированный скрипт (что необходимо для скорости разработки), но векторные вычисления numpy выполняются на самом железе, то есть так, что вы не напишите это на C/C++ быстрее чем на несколько процентов.
    Кроме того, для тех случаев, когда векторных вычислений не хватает, существует Cython, это такой же компилируемый (и не уступающий в производительности) как C/C++ язык, с прямым доступом к питоновым объектом, передаваемым из скрипта.

    статистика, fft, свертки, обработка звука и изображений, возможно немного распознавания

    Все это реализуется через векторные вычисления или через соответствующие библиотеки, которые тоже не на скрипте написаны и которые не уступят в производительности идеальному решению более чем на несколько процентов. Если даже для какой-то отдельной задачи не найдется готового решения в виде библиотеки, то всегда остается вариант сделать эту мелочь на Cython.
    Ответ написан
    6 комментариев