• Повышение четкости изображений на основе частотной фильтрации в Matlab

    Введение
    На сегодняшний день разработано множество алгоритмов по улучшению качества изображений отличающихся быстродействием сложностью математических методов требованиям к ресурсам вычислительной системы и т.д. При этом одним из наиболее простых методов является обработка изображений на основе его фильтрации в частотной и пространственной областях.
    Читать дальше →
    • +3
    • 11,4k
    • 8
  • Генерация кода для программируемых логических контроллеров в программе Matlab

    Компания MathWorks объявила о выпуске нового продукта — Simulink PLC Coder. Данный продукт позволяет автоматически генерировать согласно стандарту IEC 61131 код для программируемых логических контроллеров (ПЛК) и программируемых контроллеров автоматизации. Это нововведение позволяет использовать модельно-ориентированное проектирование для промышленного и силового оборудования, управляемого ПЛК.
    Читать дальше →
    • +16
    • 7,6k
    • 7
  • Поддержка GPU в математическом пакете MATLAB

      За последние год-полтора создание кластеров и суперкомпьютеров на GPU стало новым трендом для высокопроизводительных систем. Это вполне имеет смысл, потому что графические процессоры прекрасно поддерживают параллельную работу и на некоторых задачах обладают производительностью гораздо выше, чем у бюджетных CPU.

      В этом смысле вполне логичной выглядит новость, что в пакете программ математического моделирования MATLAB версии 2010b появилась нативная поддержка Nvidia CUDA (версия Compute Capability 1.3 или выше). Она включена в набор инструментов Parallel Computing Toolbox. Теперь распараллеливание команд осуществляется прямо из MATLAB и не нужно переписывать код на C++ или Fortran специально для CUDA.
      Читать дальше →
    • Алгоритмы заливки изображений, популярно и с видео

        Аннотация


        image
        Заливка изображений — часто нужная на практике задача, суть которой — заполнить некоторую область изображения, ограниченную контуром, заданным цветом. И казалось бы все просто, однако часто медленно и криво. В данной статье рассказывается об известных алгоритмах заливки на основе стека и приводится реализация на псевдокоде MatLab. Я постарался наполнить столь скучную тему интересными видео роликами, и описал процесс их получения, опять же с использованием MatLab. В этой статье мы будем заливать Карлсона который живет на крыше, так как хабралоготипа для этих целей в нормальном разрешении я не нашел. А так же несколько строк кода о том как читать и работать с картинками в MatLab.
        Читать дальше →
      • Детектирование округлостей на изображении средствами MATLAB

        image
        В этом топике я приведу альтернативный подход к задаче, решенной товарищем VasG тут. Как заметили в комментариях, задачу обнаружения округлостей на изображении можно было решить при помощи MATLAB Image Processing Toolbox, что я и сделал. MATLAB радует меня очень сильной документацией с большим количеством наглядных примеров; а также удобством m-языка, за счет которого сильно сокращается время реализации вычислительных решений. Конечно, есть и минусы — в частности алгоритмы работают медленно, — но для данной задачи это не существенно. Отмечу только, что из m-языка довольно просто можно получить C-код, который будет работать гораздо быстрее.
        Читать дальше →
      • Сравнение производительности Jacket и PCT/GPU от Стэнфорда

        • Перевод
        Введение от переводчика:
        PCT/GPU — Parallel Computing Toolbox в среде MATLAB, средство для произведения распределённых вычислений на графической карте, считается довольно продвинутой библиотекой.
        Jacket — пока малоизвестная, но многообещающая, платформа для вычислений на базе GPU. Использует MATLAB к качестве фронтэнда.

        Недавно исследователи из Лаборатории Параллельных Вычислений (Pervasive Parallelism Laboratory) Стэнфорда опубликовали работу, рассказывающую о новом фреймворке для распределённых вычислений. Одной из частей их исследования является сравнение Jacket с Parallel Computing Toolboxтм, результаты которого явно указывают на то, что оптимизации в Jacket сильно влияют на производительность.
        Читать дальше →
      • MATLAB и быстрое преобразование Фурье

        По работе неоднократно сталкивался с необходимостью быстро определить наличие в сигнале гармонических составляющих. Часто для примерной оценки достаточно воспользоваться алгоритмом быстрого преобразования Фурье. Тем более, что его реализации есть практически во всех математических пакетах и библиотеках, да и собственноручно реализовать не составит особого труда. Между тем, опыт показывает, что, при всей своей простоте, метод начинает вызывать некоторые вопросы, когда возникает необходимость не просто посмотреть наличие дискреток в сигнале, но и выяснить их абсолютные значения, т.е. нормализовать полученный результат.

        В этой статье я постараюсь объяснить, что же все-таки выдает в качестве результата fft (Fast Fourier transform) на примере MATLAB (и в качестве бонуса проведу небольшой ликбез по этому весьма полезному, на мой взгляд, языку).
        Читать дальше →
      • Генетические алгоритмы в MATLAB

        Суть генетических алгоритмов


        Данный топик посвящен решению оптимизационных задач при помощи генетических алгоритмов в среде MATLAB. Заранее приношу извинения за большой объем данных: он обусловлен тем, что при написании топика основной поставленной задачей было подробно раскрыть каждый из настраиваемых в MATLAB параметров работы генетических алгоритмов.

        Генетические алгоритмы – это метод решения оптимизационных задач, основанный на биологических принципах естественного отбора и эволюции. Генетический алгоритм повторяет определенное количество раз процедуру модификации популяции (набора отдельных решений), добиваясь тем самым получения новых наборов решений (новых популяций). При этом на каждом шаге из популяции выбираются «родительские особи», то есть решения, совместная модификация которых (скрещивание) и приводит к формированию новой особи в следующем поколении. Генетический алгоритм использует три вида правил, на основе которых формируется новое поколение: правила отбора, скрещивания и мутации. Мутация позволяет путем внесения изменений в новое поколение избежать попадания в локальные минимумы оптимизируемой функции.

        (Под катом основная часть + несколько скриншотов).
        Читать дальше →

      Самое читаемое