Как стать автором
Обновить
0.4

Matlab *

Математическое моделирование и одноимённый ЯП

Сначала показывать
Порог рейтинга
Уровень сложности

Подключение датчиков KELLER к среде MATLAB

Время на прочтение7 мин
Количество просмотров4.5K

Введение


Компания KELLER производит высокоточные датчики с цифровым выходом, которые подключаются к фирменному программному обеспечению для отображения и накопления показаний. Зачастую, пользователю необходимо интегрировать датчики в собственные системы мониторинга и управления. В этой работе на примере высокоточного датчика давления PR-33X показано подключение датчиков KELLER к интегрированной среде MATLAB, первоначально разработанной для анализа и синтеза систем управления, имеющей мощные средства обработки и отображения сигнальных данных.
Читать дальше →

SciPy, ввод и вывод в MATLAB

Время на прочтение4 мин
Количество просмотров7.3K

SciPy (произносится как сай пай) — это пакет прикладных математических процедур, основанный на расширении Numpy Python. С SciPy интерактивный сеанс Python превращается в такую же полноценную среду обработки данных и прототипирования сложных систем, как MATLAB, IDL, Octave, R-Lab и SciLab. В этом посте я хотел бы рассказать о возможностях пакета ввода/вывода scipy.io, который позволяет работать с файлами данных Octave и MATLAB.

Читать дальше →

Нечеткая логика против ПИД. Скрещиваем ежа и ужа. Авиадвигатель и алгоритмы управления АЭС

Время на прочтение10 мин
Количество просмотров16K

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


В этой статье мы будем экспериментировать с «настоящей» моделью авиационного двигателя. Обвесив ее «реальными» моделями аппаратуры и алгоритмов управления от атомной станции.


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


Как только модель превратилась из листинга Fortran в структурную схему, с ней стало просто и удобно работать, проводя любые, самые «изощренные» эксперименты. Совершенно не случайно у меня оказались реальные алгоритмы управления АЭС. Что позволило быстро собрать модель для экспериментов, не используя при этом никаких формул, да да, только картинки.

Читать дальше →

Простая нечеткая логика слеплена «из того что было» для газотурбинного двигателя

Время на прочтение9 мин
Количество просмотров11K

В этой статье мы создадим модель регулятора на базе стандартной библиотеки структурного моделирования (без использования готовой библиотеки блоков нечёткого регулирования).
В качестве объекта управления будет использована модель газотурбинного двигателя из учебника В.И. Гостева «Нечеткие регуляторы в системах автоматического управления»
Выполним сравнение с ПИД и ПДД регуляторами.


Читать дальше →

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

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

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


Читать дальше →

Создание регулятора на базе нечеткой логики с многоканальной настройкой

Время на прочтение9 мин
Количество просмотров9.2K
«Зато мы делаем ракеты!»

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

Для нестационарных объектов управления где параметры объекта изменяются в широких диапазонах, нечеткий регулятор может не обеспечивать достаточное качество управления во всех диапазонах работы. В этом случае необходимо использовать нечёткий регулятор с «многоканальной настройкой».

Проверим возможно ли настроить такой регулятор стандартными методами оптимизации.
Рассмотрим синтез нечеткого регулятора с многоканальной настройкой для стабилизации баллистической ракеты по углу тангажа. Как подсказали в комментариях ракета будет ФАУ-2. Используем пример из той же книге Гостева В.В. «Нечеткие регуляторы в системах автоматического регулирования».

Все термины использованные в данном тексте взяты из этой книги и могут не соответствовать строгой терминологии теории автоматического управления.
Читать дальше →

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

Время на прочтение6 мин
Количество просмотров22K

Введение


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

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

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

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

Дескрипторная графика в MATLAB: вторая горизонтальная ось

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

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

Работа с параметрами CST из Matlab

Время на прочтение7 мин
Количество просмотров12K
Заголовок
В начале своего карьерного пути нам ставят мелкие задачки, результат решения которых мы сразу бежим показывать руководителю. Получаем советы и замечания, потом бежим переделывать. В конце рабочего дня мы отключаем компьютер и со спокойной душой идем домой.

Но по мере роста вашего опыта и списка задач возникает дефицит времени. В какой-то момент начинает казаться, что с офиса можно не уходить. Тогда стать продуктивнее нам поможет автоматизация. Под катом будет небольшой опыт проектировщика антенной техники.
Читать дальше →

TSP problem. Mixed algorithm

Время на прочтение13 мин
Количество просмотров12K
Всем доброго времени суток. В прошлых статьях мы сравнивали два эвристических алгоритма оптимизации на симметричной задаче коммивояжера таких как: ACS (ant colony system — муравьиный алгоритм) и SA (simulating annealing — алгоритм имитации отжига). Как мы убедились у каждого свои плюсы и минусы.


Читать дальше →

Бинарная сегментация изображений методом фиксации уровня (Level set method)

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

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

Слева — исходное изображение, справа — сегментированное
Читать далее...

This is Science: наблюдая за ростом растений

Время на прочтение2 мин
Количество просмотров5.9K


Одна из проблем современной биологии – как отследить/запечатлеть объекты, которые постоянно находятся в движении. С этой ж проблемой сталкивается любой родитель, когда пытается сфотографировать маленького ребёнка: то фото размазалось, то поплыл фокус, то не хватает контрастности. Конечно, в биологии существует целый ряд инструментов, как добиться фиксации тех или иных биологических объектов. К примеру, мушек можно «усыпить» холодом, клетки «затормозить» с помощью химических веществ. Но что делать, если эксперимент заключается в наблюдении за ростом корней растения, которые постоянно удлиняются и извиваются. Чтобы получить одну лишь только серию фотографий могут уйти дни и даже недели кропотливой постоянной подстройки микроскопа. На выручку учёным приходят системы распознавания и автоматической коррекции изображения!

За микроскопическими подробностями жизни растений добро пожаловать под кат.

Управление CST MWS с помощью Matlab

Время на прочтение7 мин
Количество просмотров12K

Введение


Перед многими инженерами в области электромагнитного моделирования часто встают вопросы дальнейшей обработки и использования результатов моделирования задачи в других средах или, наоборот, передачи параметров из одной среды в другую. Казалось бы, нет никакой проблемы экспортировать результаты в понятную другой программе форму и пользоваться ими, либо ввести данные вручную. Однако часто встают задачи, требующие выполнения данной последовательности действий N раз и производительность выполнения данных действий устремляется к нулю. Если вам интересна тема обозначенная в заголовке, тогда прошу под кат.
Читать дальше →

Ближайшие события

Еще один алгоритм для восстановления смазанных изображений

Время на прочтение5 мин
Количество просмотров19K
Доброго времени суток. Уже столько сказано о методах деконволюции изображений, кажется добавить больше нечего. Однако всегда найдется алгоритм лучше и новее предыдущих. Не так давно был описан итерационный алгоритм, имеющий линейную скорость сходимости при малых затратах памяти, стабильный и хорошо распараллеливаемый. А через некоторое время он был улучшен еще и до квадратичной сходимости. Встречайте: (Fast) Iterative Shrinkage-Thresholding Algorithm.


Читать дальше →

Простая реализация FDTD на Java

Время на прочтение13 мин
Количество просмотров13K
FDTD (Finite Difference Time Domain) — метод конечных разностей во временной области — самый «честный» метод решения задача электродинамики от низких частот до видимого диапазона. Суть — решение уравнений Максвелла «в лоб». Здесь неплохо расписано. Особенно посмотрите сетку.

Задача решалась в двумерном случае простой явной разностной схемой. Неявные схемы я не люблю, и они требуют много памяти. Расчет с нормальной точностью требует сеток малого шага, по сравнению с более простыми методами требуется очень много времени. Поэтому максимальный упор был сделан на производительность.

Представлена реализация алгоритма на Java и C++.

image
Читать дальше →

Оптимизация на примере. Муравьиный алгоритм (ACS) против Метода отжига. Часть 2

Время на прочтение12 мин
Количество просмотров21K
Продолжаю цикл статей «Оптимизация на примере». В данной статье сравниваются два эвристических алгоритма на избитой симметричной задаче коммивояжера. Сегодня чуть углубимся в данную тему и разберем определенную модификацию муравьиного алгоритма.


Читать дальше →

Автоматизация измерения коэффициента гармоник генератора с помощью цифрового осциллографа и MATLAB

Время на прочтение6 мин
Количество просмотров12K
На практике иногда возникает задача измерения коэффициента гармоник (Кг) генератора сигналов. Такой генератор может быть как аналоговым так и цифровым. Например, генератор на операционном усилителе, интегральном таймере (NE555), микроконтроллере (МК) или программируемой логической интегральной схеме (ПЛИС), или цифровом сигнальном процессоре (ЦСП), с выходом в виде широтно-импульсной модуляции (ШИМ) или сигналом цифро-аналогового преобразователя (ЦАП). При необходимости формирования гармонического сигнала, на выходе ШИМ или ЦАП устанавливается фильтр нижних частот (ФНЧ), который сглаживает ступенчатую форму сигнала и снижает Кг. В общем случае, измерение Кг позволяет контролировать работу как программных алгоритмов так и аппаратных узлов.
Читать дальше →

Не Персеидами едиными или Моделируем вспышки спутников своими руками

Время на прочтение20 мин
Количество просмотров8.6K

Привет, Хабр! После красочных метеорных потоков мы плавно движемся к астрономической осени. В этом году она предвещает нам лунное затмение, соединение Венеры и Юпитера, а также полеты ярких рукотворных спутников. Мой сегодняшний рассказ – о том, как моделировать отражение света от таких спутников, и что необычного ожидает нас в этом октябре.



Вспышка Иридиума, первое фото своими руками – навелся не туда, затвор открыл поздно, горизонт завалил :)

Читать дальше →

Подключение MATLAB к Wolfram Mathematica

Время на прочтение7 мин
Количество просмотров7.5K


Вызов MATLAB из Mathematica с помощью MATLink


Как можно вызывать функции MATLAB напрямую из Mathematica и организовать обмен данными и переменными между двумя системами?

Для этого существует кроссплатформенный пакет под названием MATLink. С помощью него легко организовать вызов функций MATLAB прямо из Mathematica и передавать различные данные от одной системы другой.
Читать дальше →

Машинное обучение от Octave\Matlab к Python

Время на прочтение3 мин
Количество просмотров22K
Решил я познакомится с такой интересной для меня областью, как Machine learning. После непродолжительных поисков я обнаружил достаточно популярный курс Стэнфордского университета Machine learning. В нем рассказываются основы и дается широкое представление о machine learning, datamining, and statistical pattern recognition. Был для меня в этом курсе небольшой минус как Python программиста- домашние задания надо было выполнять на Octave\Matlab. В итоге я не пожалел, что получил представления о новом языке программирования, но как учебный пример для более тесного знакомства с соответствующими библиотеками решил переписать домашние задания на Python. То что получилось лежит на GitHub тут.

Читать дальше →