Моделирование в Simulink и расчеты в MATLAB для студентов
MATLAB чаще всего достается студентам в теории автоматического управления, электроприводе, цифровой обработке сигналов и численных методах. В одних заданиях нужна модель в Simulink, собранная из блоков, в других скрипт, который считает и строит графики, а нередко преподаватель просит и то и другое, чтобы результаты модели сошлись с аналитикой.
Я собираю модель или пишу скрипт по вашему варианту, запускаю расчет, сверяю результат с теорией и оформляю пояснительную записку с графиками и выводами. Работу можно взять отдельно, а можно как расчетный раздел курсового проекта или диплома.
Какие задачи решаю в MATLAB и Simulink
Самая частая работа по ТАУ выглядит так. Дан объект управления передаточной функцией или системой уравнений, нужно исследовать его устойчивость, подобрать регулятор и показать, что замкнутая система держит заданные показатели качества. Рядом стоят задачи по электроприводу, где моделируется двигатель постоянного тока или асинхронный двигатель с системой регулирования, и задачи по сигналам, где нужно спроектировать фильтр и проверить его на зашумленном сигнале.
В численных методах и математическом моделировании MATLAB нужен как язык расчетов. Там решают системы дифференциальных уравнений, аппроксимируют экспериментальные данные, ищут корни и экстремумы и сравнивают точность методов.
- Устойчивость по критериям Гурвица, Михайлова и Найквиста, запасы по амплитуде и фазе
- Переходные характеристики, перерегулирование, время регулирования и статическая ошибка
- Синтез П, ПИ и ПИД регулятора, настройка коэффициентов и сравнение вариантов
- ЛАЧХ и ЛФЧХ, годограф, корневой годограф
- Модели двигателей и электропривода, пуск, наброс нагрузки, работа контуров тока и скорости
- Цифровые фильтры, спектр сигнала через БПФ, дискретизация и дискретные передаточные функции
- Системы ОДУ, интерполяция и аппроксимация, сравнение численных методов
Как собираю модель в Simulink
Модель строю из стандартных блоков. Объект задаю блоками Transfer Fcn или State-Space, регулятор блоком PID Controller или собираю его вручную из усилителей и интегратора, если методичка требует показать структуру. Входное воздействие идет от блоков Step, Ramp или Sine Wave, возмущение подаю отдельным входом в нужную точку схемы. Сигналы вывожу на Scope и в рабочее пространство, чтобы потом построить аккуратные графики для записки.
Для электрических и механических схем, где удобнее работать с физическими компонентами, использую Simscape и его электрическую библиотеку. Тогда двигатель, преобразователь и нагрузка соединяются как на принципиальной схеме, а модель получается ближе к тому, что нарисовано в задании.
Параметры модели выношу в скрипт инициализации, в блоках остаются только имена переменных. Так при смене варианта достаточно поменять исходные данные в одном месте, и преподаватель видит, откуда берется каждое значение.
Хотите понять, сколько будет стоить расчет в MATLAB и Simulink? Пришлите задание, я посмотрю и назову цену. Написать в Telegram
Решатель, шаг и проверка результата
От настроек решателя зависит, насколько верно модель покажет переходный процесс. Для обычных непрерывных систем подходит ode45 с переменным шагом. Если в модели есть быстрые и медленные процессы одновременно, как в электроприводе с контуром тока и механикой, беру жесткий решатель ode15s или ode23t. Для дискретных регуляторов задаю фиксированный шаг, равный периоду дискретизации. Точность проверяю, уменьшая допуск решателя и шаг вывода. Если график при этом не меняется, результат можно брать в записку.
Модель всегда сверяю с аналитикой. Установившееся значение должно совпасть с коэффициентом передачи по теореме о конечном значении, корни характеристического полинома должны согласоваться с видом переходного процесса, а запасы устойчивости из функции margin с тем, что видно на ЛАЧХ. Для этих проверок пользуюсь Control System Toolbox, функциями tf, step, bode, rlocus и pidtune.
Скрипты MATLAB для расчетных работ
Когда задание сформулировано как расчет без модели, пишу скрипт .m с понятной структурой. В начале исходные данные с единицами измерения, дальше расчет по шагам с комментариями, в конце графики с подписанными осями и легендой. Повторяющиеся вычисления выношу в функции, чтобы код читался. Для дифференциальных уравнений использую встроенные решатели семейства ode, для аппроксимации polyfit и fit, для оптимизации fminsearch и fzero. Если в задании просят реализовать численный метод самостоятельно, пишу его вручную и сравниваю со встроенной функцией.
Что идет в пояснительную записку
Записку оформляю по методичке кафедры. В работах по ТАУ обычно нужна такая последовательность разделов.
- Задание и исходные данные варианта, структурная схема системы
- Математическое описание объекта, передаточные функции звеньев и замкнутой системы
- Анализ устойчивости аналитически и по частотным характеристикам
- Выбор и расчет регулятора, обоснование настроек
- Схема модели в Simulink и описание блоков, настройки решателя
- Графики переходных процессов и частотных характеристик, таблица показателей качества
- Сравнение модели с аналитикой, выводы и список литературы по ГОСТ
Что вы получаете
- Модель Simulink в формате .slx, сохраненную под вашу версию MATLAB
- Скрипт .m с исходными данными и расчетом, который запускается без доработок
- Графики переходных процессов, частотных характеристик и сигналов в хорошем разрешении
- Пояснительную записку с теорией, расчетом, схемой модели и выводами
- Комментарии в коде и пояснения по модели, чтобы на защите вы могли объяснить каждый блок
Что прислать для оценки
- Задание с номером варианта и исходными данными
- Методичку или требования к оформлению записки
- Версию MATLAB и список установленных тулбоксов, если работа будет запускаться в компьютерном классе
- Лекции или пример решения от преподавателя, если они есть, чтобы обозначения совпали
- Свою модель или код, если вы уже начали и что-то не работает
Сколько стоит расчет в MATLAB и Simulink
Цена индивидуальная, называю ее после того, как посмотрю задание. Она зависит от того, нужна только модель или еще аналитический расчет, сколько вариантов регулятора надо сравнить и насколько подробную записку требует кафедра. Оценка бесплатная.
Что спрашивают про расчет в MATLAB и Simulink
- У меня старая версия MATLAB, модель откроется?
- Напишите версию заранее. Модель из новой версии старый Simulink не откроет, поэтому сохраняю ее через экспорт в предыдущую версию и проверяю, что все блоки на месте
- Можно сделать в MATLAB без Simulink?
- Можно, если методичка это допускает. Переходные процессы и частотные характеристики строятся скриптом через Control System Toolbox, модель из блоков в этом случае не нужна
- В компьютерном классе нет Simscape, что делать?
- Тогда собираю модель только из базовых блоков Simulink, через передаточные функции и уравнения в форме пространства состояний. Результат получается тот же, просто схема выглядит иначе
- Сколько стоит расчет в MATLAB и Simulink?
- Цену называю после того, как посмотрю задание. Пришлите вариант, методичку и версию MATLAB, оценка бесплатная
- Преподаватель просит объяснить, почему выбран такой регулятор
- Обоснование выбора пишу в записке. Показываю, какие показатели качества требовались, что дает каждый вариант регулятора на графиках и почему выбранный проходит по всем требованиям
- Модель считает, но график странный, поможете найти ошибку?
- Пришлите файл модели и задание. Обычно дело в знаке обратной связи, в единицах параметров или в настройках решателя, найду причину и поправлю модель
Если вашего вопроса здесь нет, задайте его мне, отвечаю в любое время. Спросить в Telegram
Другие инженерные расчеты
- Инженерные и численные расчеты на Python
- Расчет в Mathcad для курсовой и РГР
- Электротехнические расчеты, нагрузки, токи КЗ и выбор оборудования
- Моделирование в COMSOL Multiphysics
- Расчет в Femap с пояснительной запиской
- Расчет в ANSYS Mechanical и Fluent
- Расчет в ЛИРА-САПР с пояснительной запиской
- Расчет в SCAD Office с пояснительной запиской
- Все инженерные расчеты