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

Matlab *

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

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

О программных ошибках на примере MATLAB и SimInTech

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

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

И, вроде бы все так, да не всегда. Критично ли наличие ошибок в программах? Странный вопрос - конечно, критично. Но, тем не менее, найдутся и те, кто скажет – не беда. И даст этому свое объяснение. Здесь, правда,  можно вспомнить, как фирма Intel объясняла несущественность ошибки деления с плавающей точкой в процессоре Pentium (подробнее см. [1]). Но общественность и пользователи объяснили Intel, что она не права. И, понеся большие репутационные и финансовые потери,  ей пришлось с этим согласиться и исправить положение.

Далее, обсуждая конкретные программы, мы столкнемся с тем, что нужно считать ошибками. Отличие от ситуации с Intel только в том, что необходимо будет конкретизировать, кто ошибается и ошибается ли и где источник ошибок. Но то, что идет явно не по плану, подтверждают результаты нашего тестирования. Просто ситуация несколько сложнее проблемы одной операции деления FDIV. 

Итак. Выберем для экспериментов три среды: две известные – это MATLAB, SimInTech и одну, известную больше по статьям вашего покорного слуги, - среду параллельного автоматного программирования ВКПа. Для первых двух можно скачать ограниченные версии.  Их возможностей вполне будет достаточно для наших примеров. Ну, а в отношении третьей - придется довериться автору.

Читать далее
Всего голосов 12: ↑4 и ↓8-4
Комментарии88

Беги муравей, беги! Ремейк 2022

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

На написание этой статьи меня сподвигла одноименная статья на хабре: "Беги, муравей. Беги". В ней рассматривается решение задачи коммивояжёра  в среде AnyLogic.

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

Если кратко, то задача сводится к нахождению самого короткого пути обхода набора точек (городов) на карте. Решение методом перебора не является эффективным, поскольку количество вычислений огромно. Например, для 15 точек существует 43 миллиарда маршрутов, а для 18 точек (городов) уже 117 триллионов!!!

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

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

Читать далее
Всего голосов 4: ↑4 и ↓0+4
Комментарии5

Создание GUI-приложения с помощью MATLAB

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

У MATLAB существует целых два инструмента для создания GUI приложений.

Первый из них это GUIDE, в этом инструмента присудствует самый минимальный набор компонентов (кнопки, переключатели, текстовые и графические поля) и нет возможности компилировать приложения.

Для вызова инструмента GUIDE нужно вызвать следующую команду:

Читать далее
Всего голосов 3: ↑3 и ↓0+3
Комментарии4

Быстрая разработка для микроконтроллеров в Simulink на примере полифункционального зарядника

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

Полифункциональный зарядник - хорошая платформа чтобы показать преимущество гибридной графической нотации перед текстовой нотацией С/С++ . Для этого используется MATLAB Simulink под Windows. Метод разработки напоминает SIL (software-in-the-loop), но модель выполняется на ПК в реальном времени и при взаимодействии с реальным железом.

Читать далее
Всего голосов 28: ↑27 и ↓1+26
Комментарии17

Истории

Как использовать ПЛИС в полунатурных стендах и стендовых испытаниях без единой строчки кода

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

Добрый день! В этой статье я расскажу, как наши заказчики используют ПЛИС в полунатурных стендах и стендовых испытаниях.

В центре инженерных технологий и моделирования «Экспонента» уже много лет мы занимаемся продвижением модельно-ориентированного проектирования в России. Поэтому наш опыт сконцентрирован вокруг инструментов модельно-ориентированного проектирования — то есть различных сред моделирования и симуляции — и применения их в инженерных разработках.

Эта статья написана совместно с нашими хорошими партнерами — компанией «РИТМ». Компания занимается разработкой полунатурных стендов и комплексов полунатурного моделирования «РИТМ» (КПМ «РИТМ»), которые используются нашими заказчиками.

КПМ «РИТМ» представляет собой программно-аппаратное решение для тестирования в реальном времени. Спектр его применений широкий: от быстрого прототипирования алгоритмов управления до полунатурного моделирования объекта управления (Hardware-in-the-Loop или HIL тестирование). РИТМ применяется нашими заказчиками в различных инженерных областях: от авиастроения и ВПК до автомобилестроения и электроэнергетики.

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

Наши заказчики успешно используют этот подход уже многие годы, но в некоторых узких задачах сталкиваются со следующими проблемами:

•‎ Необходимо существенно сократить шаг расчета алгоритма;

•‎ Не хватает вычислительных ресурсов для решения задачи в реальном времени на процессоре;

•‎ Требуется подключить к алгоритму высокоскоростные цифровые, аналоговые или другие интерфейсы;

•‎ Требуется поддержать заказные интерфейсы или протоколы обмена.

Если вы тоже сталкиваетесь с такими проблемами, то добро пожаловать под кат — даже если вы раньше никогда не слышали о модельно-ориентированном проектировании или ПЛИС.

Читать далее
Всего голосов 3: ↑3 и ↓0+3
Комментарии1

Совместное моделирование быстродействующих систем средствами TIA Portal и Simulink

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

В этой работе показана детальная авторская реализация объединения сред TIA Portal и Simulink для совместного моделирования с обменом данными, работающая при любом, даже самом малом, шаге квантования (моделирования). Этот вариант позволяет также тестировать PLC контроллеры TIA Portal на частотах квантования контроллеров. Синхронизация сред осуществляется без применения таймеров реального времени. Приведен пример построения быстродействующего контура, обеспечивающего управление аналоговым неустойчивым объектом Simulink виртуальным ПЛК среды TIA Portal. Экспериментально определено, что предлагаемое объединение сред не влияет на результаты моделирования.

Состояние проблемы

Интегрированная среда разработки систем автоматизации TIA Portal содержит инструментальные средства для конфигурирования, настройки, тестирования и обслуживания систем. Мощная среда MATLAB/Simulink обеспечивает эффективное моделирование и оптимизацию сложных динамических систем. Совместное моделирование TIA Portal и Simulink повышает качество проектирования систем автоматизации и управления и сокращает сроки проектирования.

Известны примеры связи сред TIA Portal – Simulink через OPC сервер, в которых среды обмениваются пакетами данных с максимальной частотой 10 раз с секунду [1,2,3]. Это ограничение определяет максимальную частоту квантования. Для моделирования и работы быстродействующих систем, которые характеризуются широкой полосой пропускания, требуется высокая частота квантования.

Скорость непосредственной передачи/приема данных через TCP канал в десятки раз выше скорости передачи через OPC сервер. Однако, для TCP связи с контроллерами TIA Portal, которые выступают в роли TCP клиента, необходимо, чтобы модель Simulink работала в режиме сервера, а таких библиотечных средств у Simulink нет.

Читать далее
Всего голосов 1: ↑1 и ↓0+1
Комментарии7

Открытый проект по тестированию файловой системы exFAT и SD карт на встраиваемых устройствах с помощью MATLAB

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

Для тестирования выбрана аппаратная платформа на базе чипа STM32H753VIH с частотой ядра 480 МГц. Подключение к SD карте выполнено через интерфейс SDMMC с частотой 60 МГц. В качестве драйвера работает стандартная библиотека STM32H7xx_HAL. Используется промежуточное программное обеспечение FileX из пакета Azure RTOS поддерживающее exFAT.

Читать далее
Всего голосов 23: ↑23 и ↓0+23
Комментарии1

Технология создания динамических моделей на примере обогрева помещения

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

Данная учебная задача показывает, как создавать динамическую модель системы, методами структурного моделирования.

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

В данном переводе сделан акцент на последовательность шагов. Я так же добавил несколько собственных комментарий к каждому шагу. 

Читать далее
Всего голосов 12: ↑12 и ↓0+12
Комментарии1

Шевели элеронами: динамическая регрессия на замену объекта управления

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

Итак, вам нужно ускорить модель объекта управления в несколько раз. Вы попробовали рекуррентные сетки, а потом решили вспомнить Ляпунова и Понтрягина и сделать это без data science. Поехали!

Читать далее
Всего голосов 7: ↑7 и ↓0+7
Комментарии3

О новом простом методе снижения высокой размерности данных

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


О новом методе решения проблемы оценки ковариационной матрицы в данных высокой размерности [научная работа опубликована в 2012 году] рассказываем к старту нашего флагманского курса по Data Science. Подробности — под катом:

Узнать больше
Всего голосов 6: ↑3 и ↓30
Комментарии1

Нейрон мне в элерон: суррогатные модели

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

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

Поставим нейросети обучение на службу проектировщику. Полетели!

Читать далее
Всего голосов 7: ↑7 и ↓0+7
Комментарии0

5. Передаточные функции и уравнения динамики замкнутых систем автоматического регулирования (САР)

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

Продолжаем публикацию лекций по курсу "Управление в Технических Системах" автор - Олег Степанович Козлов на кафедре Э7 МГТУ им. Н.Э. Баумана.

Данные лекции готовятся к публикации в виде книги, а поскольку здесь есть специалисты по ТАУ, студенты и просто интересующиеся предметом, то любая критика приветствуется. В предыдущих сериях:

1. Введение в теорию автоматического управления.
2. Математическое описание систем автоматического управления 2.1 — 2.32.3 — 2.82.9 — 2.13.
3. ЧАСТОТНЫЕ ХАРАКТЕРИСТИКИ ЗВЕНЬЕВ И СИСТЕМ АВТОМАТИЧЕСКОГО УПРАВЛЕНИЯ РЕГУЛИРОВАНИЯ.
3.1. Амплитудно-фазовая частотная характеристика: годограф, АФЧХ, ЛАХ, ФЧХ3.2. Типовые звенья систем автоматического управления регулирования. Классификация типовых звеньев. Простейшие типовые звенья3.3. Апериодическое звено 1–го порядка инерционное звено. На примере входной камеры ядерного реактора3.4. Апериодическое звено 2-го порядка3.5. Колебательное звено3.6. Инерционно-дифференцирующее звено3.7. Форсирующее звено.  3.8. Инерционно-интегрирующее звено (интегрирующее звено с замедлением)3.9. Изодромное звено (изодром)3.10 Минимально-фазовые и не минимально-фазовые звенья3.11 Математическая модель кинетики нейтронов в «точечном» реакторе «нулевой» мощности. 4 Структурные преобразования систем автоматического регулирования.

Будет как всегда позновательной увлекательно и интересно.

Читать далее
Всего голосов 11: ↑9 и ↓2+7
Комментарии0

Лайфхак по разработке DMR на ПЛИС через генерацию HDL-кода в MATLAB

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

Однажды мне прилетела задача реализовать DMR на ПЛИС. Опустившись на дно интернета, я нашел лишь мануал ETSI и пару примеров по генерации кода – с этого начался мой тернистый путь изучения данной тематики. Недавно наткнулся на мем, и тут нахлынули воспоминания...

Читать далее
Всего голосов 8: ↑7 и ↓1+6
Комментарии7

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

Цифровой двойник — рецепты приготовления. Модельно-ориентированное проектирование системы электроснабжения самолета

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

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

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

В статье описан реальный опыт создания модели системы электроснабжения самолета (СЭС) в рамках реализации методов модельно-ориентированного проектирования в авиации.

Читать далее
Всего голосов 3: ↑3 и ↓0+3
Комментарии6

Как создать цифровой двойник электроэнергетического объекта. Часть 1. Sampled Values

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

Так вышло, что испытания релейной защиты обязательно проводят на специальных комплексах в режиме реального времени. Внутри этих комплексов находятся цифровые двойники электроэнергетических объектов. Чтобы разобраться как и зачем их туда загружают, мы прольем свет на всеми любимый и ненавистный стандарт МЭК 61850 и поделимся своим опытом моделирования энергосистем на КПМ РИТМ.

Читать далее
Всего голосов 10: ↑9 и ↓1+8
Комментарии19

Как подружить MATLAB DLL и C#

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

Когда есть желание пользоваться m-файлами на стороне, например, впихнуть хорошо работающие методы аппроксимации из Curve Fitting Toolbox в какую нибудь стороннюю свою разработку, можно скомпилировать dll-библиотеку и использовать ее по своему разумению.

Данная статья - кратко по шагам действия.

Читать далее
Всего голосов 4: ↑3 и ↓1+2
Комментарии5

4. Структурные преобразования систем автоматического регулирования

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

Продолжаем публикацию лекций по курсу "Управление в Технических Системах"

Данные лекции готовятся к публикации в виде книги, а поскольку здесь есть специалисты по ТАУ, студенты и просто интересующиеся предметом, то любая критика приветствуется. В предыдущих сериях:

1. Введение в теорию автоматического управления.
2. Математическое описание систем автоматического управления 2.1 — 2.32.3 — 2.82.9 — 2.13.
3. ЧАСТОТНЫЕ ХАРАКТЕРИСТИКИ ЗВЕНЬЕВ И СИСТЕМ АВТОМАТИЧЕСКОГО УПРАВЛЕНИЯ РЕГУЛИРОВАНИЯ.
3.1. Амплитудно-фазовая частотная характеристика: годограф, АФЧХ, ЛАХ, ФЧХ. 3.2. Типовые звенья систем автоматического управления регулирования. Классификация типовых звеньев. Простейшие типовые звенья. 3.3. Апериодическое звено 1–го порядка инерционное звено. На примере входной камеры ядерного реактора3.4. Апериодическое звено 2-го порядка3.5. Колебательное звено3.6. Инерционно-дифференцирующее звено3.7. Форсирующее звено.  3.8. Инерционно-интегрирующее звено (интегрирующее звено с замедлением)3.9. Изодромное звено (изодром)3.10 Минимально-фазовые и не минимально-фазовые звенья. 3.11 Математическая модель кинетики нейтронов в «точечном» реакторе «нулевой» мощности.

Сегодня у нас легкий текст понятный даже школьнику!

Читать далее
Всего голосов 5: ↑4 и ↓1+3
Комментарии2

Короли инференса: PyTorch, Tensorflow или MATLAB?

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

Что вам важнее в DL-проекте, удобство или производительность? Посмотрим на проблему глазами инженера-разработчика сложных систем с элементами искусственного интеллекта. Как типичный инструментарий в этой сфере справляется с обучением и выполнением?

В этой статье мы запустим пару нейросетей в MATLAB и сравним быстродействие ResNet с opensource-фреймворками. Так что, если хотите обсудить, в чем (кроме удобства) коммерческий фреймворк может выиграть у опенсорса, добро пожаловать!

Читать далее
Всего голосов 13: ↑11 и ↓2+9
Комментарии22

Некоторые способы свёртки в Simulink

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

В статье рассмотрена свёртка посредством блоков «Convolution» и «Discrete FIR filter» чуть более подробно (и с более корректными примерами), чем в документации Simulink.

Читать далее
Рейтинг0
Комментарии0

3.11 Математическая модель кинетики нейтронов в «точечном» реакторе «нулевой» мощности

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

Лекции по курсу «Управление Техническими Системами» читает Козлов Олег Степанович на кафедре «Ядерные реакторы и энергетические установки» факультета «Энергомашиностроения» МГТУ им. Н.Э. Баумана. За что ему огромная благодарность!

Данные лекции готовятся к публикации в виде книги, а поскольку здесь есть специалисты по ТАУ, студенты и просто интересующиеся предметом, то любая критика приветствуется. В предыдущих сериях:

1. Введение в теорию автоматического управления.
2. Математическое описание систем автоматического управления 2.1 — 2.32.3 — 2.82.9 — 2.13.
3. ЧАСТОТНЫЕ ХАРАКТЕРИСТИКИ ЗВЕНЬЕВ И СИСТЕМ АВТОМАТИЧЕСКОГО УПРАВЛЕНИЯ РЕГУЛИРОВАНИЯ.
3.1. Амплитудно-фазовая частотная характеристика: годограф, АФЧХ, ЛАХ, ФЧХ.
3.2. Типовые звенья систем автоматического управления регулирования. Классификация типовых звеньев. Простейшие типовые звенья.
3.3. Апериодическое звено 1–го порядка инерционное звено. На примере входной камеры ядерного реактора3.4. Апериодическое звено 2-го порядка
3.5. Колебательное звено3.6. Инерционно-дифференцирующее звено
3.7. Форсирующее звено3.8. Инерционно-интегрирующее звено (интегрирующее звено с замедлением)3.9. Изодромное звено (изодром)
3.10 Минимально-фазовые и не минимально-фазовые звенья.

Заключительная статья из раздела 3 Частотные характеристики звеньев и система автоматического регулирования.

Перефразируя Ленина, можно сказать: теория автоматического управления всесильна, потому что она верная. И действительно, в статьях на хабре мы представляли в виде передаточных функций абсолютно разные физические процессы: грузик на пружинке, гидравлический поршень, камеру смешения реактора, электрический контур, распространение вируса. То есть абсолютно разные физические процессы сводятся к единообразному представлению, и меня это не перестает удивлять.  Даже атомный реактор в умелых руках человека, знающего ТАУ, превращается в простые элегантные формулы, а затем – в квадратик передаточной функции. 

Дисклеймер: в тексте нет основных понятий и определений из теории диффузионного приближения ядерного реактора.

Читать далее
Всего голосов 8: ↑7 и ↓1+6
Комментарии2