Рубрика «Matlab»

image

Недавно я начал изучать machine learning. Начал с прекрасного, на мой взгляд, курса от Andrew Ng. И чтобы не забыть, а так же повторить выученное решил создать репозиторий Machine Learning in Octave. В нем я собрал математические формулы для гипотез, градиентных спусков, "cost function"-ов, сигмоидов и прочих фундаментальных для машинного обучения "штук". Так же добавил туда упрощенные и доработанные примеры реализации некоторых популярных алгоритмов (нейронная сеть, линейная/логистическая регрессия и пр.) для MatLab/Octave. Надеюсь эта информация будет полезна для тех из вас, кто планирует начать изучение machine learning-а.

Читать полностью »

Всем привет!

В этой статье речь пойдет об одной важной части цифровой обработки сигналов — оконной фильтрации сигналов, в частности на ПЛИС. В статье будут показаны способы проектирования классических окон стандартной длины и «длинных» окон от 64K до 16M+ отсчетов. Основной язык разработки — VHDL, элементная база — современные кристаллы FPGA Xilinx последних семейств: это Ultrascale, Ultrascale+, 7-series. В статье будет показана реализация CORDIC — базового ядра для конфигурации оконных функций любой длительности, а также основных оконных функций. В статье рассмотрен метод проектирования с помощью языков высокого уровня С/C++ в Vivado HLS. Как обычно, в конце статьи вы найдете ссылку на исходные коды проекта.

КДПВ: типичная схема прохождения сигнала через узлы ЦОС для задач анализа спектра.
Особенности оконной фильтрации на ПЛИС - 1
Читать полностью »

Начав выбирать себе цвет для покраски стены в комнате, я столкнулся с интересной вещью. Весь этот процесс с самого начала начал напоминать работу над каким-нибудь IT-ML-Blah-blah-blah-аналитическим проектом.

Тут есть и заказчик, который не очень понимает, что именно он хочет, но хочет, чтобы все было хорошо и ему нравилось. Еще есть несколько заинтересованных лиц со стороны заказчика, которые не могут договориться по вопросу, что такое «хорошо». Есть какие-то переформулировки задачи, которые под большим вопросом релевантны этому самому «хорошо», но по-крайней мере как-то решаемы. Есть подбор методов решения и попытки их реализовывать. Есть итеративность, которая имплицитно, но монотонно, ведет к какому-то решению, которое бы всех устроило. И есть некоторые странные выводы, которые бы с трудом можно было бы сделать в «реальном» проекте, потому что из-за общей нервозности и участия в процессе денег фокус внимания редко останавливается на этих местах процесса.

Data-driven decision на примере выбора цвета для покраски стен - 1


Читать полностью »

Пространство состояний в задачах проектирования систем оптимального управления - 1

Введение

Исследование системы управления во временной области с помощью переменных состояния широко используется в последнее время благодаря простоте проведения анализа.

Состоянию системы соответствует точка в определённом евклидовом пространстве, а поведение системы во времени характеризуется траекторией, описываемой этой точкой.

При этом математический аппарат включает готовые решения по аналоговому и дискретному LQR и DLQR контролерам, фильтра Калмана, и всё это с применением матриц и векторов, что и позволяет записывать уравнения системы управления в обобщённом виде, получая дополнительную информацию при их решении.

Целью данной публикации является рассмотрение решения задач проектирования систем оптимального управления методом описания пространства состояний с использованием программных средств Python.
Читать полностью »

При изучении дескрипторной графики в MATLAB обнаружилась нехватка «юзер френдли» функционала, а именно отсутствие стандартной команды позволяющей добавить дополнительную горизонтальную ось.

Добавление дополнительной вертикальной оси, командой plotyy предусмотрено и в help к ней, в разделе topics, есть пример добавления дополнительной оси x, однако данный пример, как и сама команда, не без недостатков, что любезно сообщает нам сам разработчик фразой:

plotyy is not recommended

Читать полностью »

Современные автомобили оснащаются информационно-развлекательными мультимедийными системами со множеством функций: от подключения смартфонов до интерактивных сенсорных дисплеев и выдвижных экранов. Неизменным же и наиболее используемым компонентом подобного оборудования остается акустическая подсистема, и качество её звучания — одна из основополагающих и капризных характеристик. Акустическая картина в салоне зависит от целого спектра различных деталей и нюансов: расположения и направления динамиков, их монтажа, геометрических особенностей внутренней отделки и свойств материалов, выбранных при изготовлении автомобиля в целом.

Для каждой модели автомобиля требуется своя уникальная конфигурация, и специалисты по акустике и моделированию компании HARMAN — одного из лидеров данного рынка в премиальном сегменте — учитывают это в процессе разработки и тонкой настройки различных компонентов автомобильной акустики. Использование сочетания натурных физических экспериментов с численным моделированием на базе комбинации программных пакетов COMSOL® и MATLAB® позволяет инженерам компании ускорить разработку конечного решения, а также дает возможность испытывать прототипы аудиосистемы виртуально, до создания дорогостоящих физических образцов. Такой подход позволяет воплощать в жизнь все разумные требования заказчика и производить высококачественное кастомизированное акустическое оборудование в максимально сжатые сроки.

Инженеры отдела виртуальной разработки HARMAN поделились с нами некоторыми деталями своего рабочего процесса и рядом примеров разработок с экспериментальной валидацией результатов акустического моделирования.

image

Читать полностью »

Я люблю истории про апокалипсис, про то, как нашу планету порабощают пришельцы, обезьяны или терминаторы, и с детства мечтал приблизить последний день человечества.

Однако, я не умею строить летающие тарелки или синтезировать вирусы, а потому речь пойдет про терминаторов, а точнее о том как этим трудягам помочь отыскать Джона Коннора.

image

Мой рукодельный терминатор будет несколько упрощён — он не сможет ходить, стрелять, говорить "I'll be back". Единственное на что он будет способен — распознать голос Коннора, ежели он его услышит (ну или, например, Черчилля, если его тоже надо будет найти).

Читать полностью »

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

В этой статье я кратко рассмотрю понятие метода фиксации уровня и неявно заданных динамических поверхностей (level set method). Также рассмотрю роль этого метода в бинарной сегментации с введением и определением математических конструкций, таких как SDT (Signed Distance Transforms), маркированной карты расстояний.

Бинарная сегментация изображений методом фиксации уровня (Level set method) - 1 Слева — исходное изображение, справа — сегментированное
Читать полностью »

Предисловие к первой части

Моделирование паровых турбин — повседневная задача сотен людей в нашей стране. Вместо слова модель принято говорить расходная характеристика. Расходные характеристики паровых турбин используют при решении таких задач, как вычисление удельного расхода условного топлива на электроэнергию и тепло, производимые ТЭЦ; оптимизация работы ТЭЦ; планирование и ведение режимов ТЭЦ.

Мною разработана новая расходная характеристика паровой турбины — линеаризованная расходная характеристика паровой турбины. Разработанная расходная характеристика удобна и эффективна в решении указанных задач. Однако на текущий момент она описана лишь в двух научных работах:

  1. Оптимизация работы ТЭЦ в условиях оптового рынка электроэнергии и мощности России;
  2. Вычислительные методы определения удельных расходов условного топлива ТЭЦ на отпущенную электрическую и тепловую энергию в режиме комбинированной выработки.

И сейчас в своем блоге мне бы хотелось:

Читать полностью »

Статья будет полезна тем, кто оформляет графики в среде Matlab.

При подготовке графиков для публикации статей в научных журналах и различного рода отчетов, я довольно часто сталкивался с необходимостью построения нескольких кривых, относящихся каждая к своей оси — чтобы не перегружать статью графиками и не выходить за их лимит. Но для этого в Matlab до версии R2014a была лишь команда plotyy(X1,Y1,X2,Y2), которая имеет ряд неприятных особенностей, из-за которых приходилось пользоваться другими программами и делать все вручную, что во-первых, усложняет этот процесс с точки зрения единой стилистики, во-вторых требует большого количества времени, а в-третьих не позволяет оперативно вносить изменения. Читать полностью »