Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Моделирование измерительных задач в среде MATLAB + Simulink. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
2 Мб
Скачать
МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ
РОССИЙСКОЙ ФЕДЕРАЦИИ
Федеральное государственное автономное образовательное
учреждение высшего образования
«ЮЖНЫЙ ФЕДЕРАЛЬНЫЙ УНИВЕРСИТЕТ»
В. В. ЗЕМЛЯКОВ, В. Л. ЗЕМЛЯКОВ,
С. А. ТОЛМАЧЕВ
МОДЕЛИРОВАНИЕ ИЗМЕРИТЕЛЬНЫХ ЗАДАЧ
Учебное пособие
Ростов-на-Дону – Таганрог
Издательство Южного федерального университета
2020
УДК 004.94-027.22(075.8) ББК 32.973-018я73 З53
Печатается по решению кафедры информационных и измерительных технологий
Южного федерального университета (протокол № 7 от 20.02.2020)
Института высоких технологий и пьезотехники
Рецензенты:
кандидат технических наук, доцент К. Ю. Соломенцев;
кандидат технических наук, доцент Б. В. Рябошапко
Земляков, В. В.
З53
Моделирование измерительных задач в среде MATLAB + Simulink : учебное пособие / В. В. Земляков, В. Л. Земляков, С. А. Толмачев ; Южный федеральный университет. – Ро­стов-на-Дону ; Таганрог: Издательство Южного федерального университета, 2020. – 144 с.
ISBN 978-5-9275-3499-9
Учебное пособие содержит изложение теоретических и практических основ разработки приложений в среде MATLAB + Simulink в части ком­пьютерного моделирования измерительных процессов. Приводятся прак­тические примеры моделирования как в частотной, так и во временной области.
Пособие предназначено для студентов третьего курса бакалавриата, обучающихся по физическим и техническим направлениям подготовки, и позволяет получить практические навыки по компьютерному модели­рованию в среде MATLAB + Simulink.
УДК 004.94-027.22(075.8) ББК 32.973-018я73
ISBN 978-5-9275-3499-9 © Южный федеральный университет, 2020
© Земляков В. В., Земляков В.Л., Толма-
чев С.А., 2020 © Оформление. Макет. Издательство Южного федерального университета, 2020
ОГЛАВЛЕНИЕ
ВВЕДЕНИЕ ................................................................... 4
МОДУЛЬ 1. ТЕОРЕТИЧЕСКИЕ ОСНОВЫ MATLAB +
SIMULINK .................................................................... 5
1.1. Работа в диалоговом режиме ................................ 6
1.2. Графические возможности MATLAB.
Высокоуровневая и низкоуровневая графика .............. 28
1.3. Программирование приложений в MATLAB ......... 42
Тестовые задания к модулю 1 ................................... 58
МОДУЛЬ 2. ПРИМЕРЫ РАЗРАБОТКИ
ПРИЛОЖЕНИЙ В MATLAB + SIMULINK ...................... 60
2.1. Преобразование сигналов в линейных
электрических цепях ............................................... 60
2.1.1. Преобразование сигналов в электрических
цепях при гармоническом воздействии ...................... 61
2.1.2. Преобразование сигналов в электрических
цепях при импульсном воздействии .......................... 67
2.2. Моделирование измерений в частотной
области ................................................................... 76
2.3. Моделирование измерений во временной
области ................................................................... 95
2.4. Обработка результатов измерений ......................103
Тестовые задания к модулю 2 ..................................122
ЛИТЕРАТУРА ...........................................................125
ПРИЛОЖЕНИЕ ..........................................................126
3
ВВЕДЕНИЕ
Поскольку натурные измерения более затратны, чем ком
­пьютерное моделирование, студентам физических и техниче­ских направлений подготовки будет полезно освоить виртуаль­ные измерения на компьютере.
Предлагаемое учебное пособие, в котором на базе среды про
­граммирования MATLAB + Simulink изучается процесс ком­пьютерного моделирования измерительных процессов, призва­но помочь будущим специалистам получить необходимые уме­ния и навыки.
Весь комплекс измерительных процедур рассматривает
­ся для различных электрических цепей, содержащих R-, L- и C-элементы.
Учебное пособие содержит два модуля. Первый модуль дает общее описание среды программирова
­ния MATLAB + Simulink, ее структуры и возможностей.
Целью и содержанием второго модуля является описание и изучение возможностей моделирования измерений. Вначале рассматривается преобразования сигналов в линейных электри
­ческих цепях при гармоническом и импульсном воздействии. Следующим идет моделирование измерений в частотной обла
­сти. Затем подробно разбирается ситуация, когда на цепь воз­действует ЛЧМ-сигнал, а частотная характеристика цепи полу­чается путем преобразования Фурье от реакции цепи в момент воздействия. В завершение приводится материал, позволяющий освоить обработку результатов измерений методами оптимиза
­ции.
Практические примеры во втором модуле приведены при
­менительно к MATLAB 6.5. При использовании более поздних версий потребуется незначительная корректировка кода про
­граммы.
Пособие не претендует на полноту описания среды програм
­мирования MATLAB + Simulink. Для ее подробного изучения лучше воспользоваться специальной литературой (например, [1; 5–8]).
4
МОДУЛЬ 1
ТЕОРЕТИЧЕСКИЕ ОСНОВЫ MATLAB + SIMULINK
Среда программирования MATLAB является одним из эффек
­тивных средств выполнения научно-технических и инженер­ных расчетов, визуализации их результатов, обработки данных эксперимента, их анализа и моделирования. Она включает ядро, выполняющее базовые (встроенные) вычислительные функции и алгоритмы, а также целый ряд общематематических, графи
­ческих и проблемно-ориентированных пакетов (Toolboxes), по­зволяющих применять современные вычислительные техноло­гии в следующих областях:
– обработка сигналов; – моделирование процессов; – системы управления; – нечеткая логика и др. Среда программирования содержит обширную библиотеку
специализированных функций, справочную систему, демонстра
­ционные примеры. Специализированные функции выполнены в виде отдельных файлов, имеющих расширение m, – это так называемые m-файлы. В отличие от компонентов ядра, m-фай
­лы доступны для просмотра и редактирования. Пользователь может создавать и включать в систему собственные программы, оформляемые в виде m-файлов.
Программы решения типовых задач в диалоговом окне
оформлены также в виде m-файлов. Например, существует про
­грамма проектирования частотного фильтра, вызываемая ко­мандой fdatool. От пользователя требуется лишь задание таких исходных данных, как тип фильтра и параметры его частотной характеристики в полосе пропускания и задержания. Последу
­ющая реализация решения остается за кадром, а пользователь получает возможность наблюдать на экране основные характе
­ристики реализованного фильтра.
5
МОДУЛЬ 1
1.1. Работа в диалоговом режиме
Основной режим работы при изучении ядра MATLAB – это
работа в командном окне. Обратим внимание на основные поня
-
тия и приемы работы.
Символ >> в текущей строке командного окна показывает,
что система готова к диалогу. В этой строке в обычном тек
­стовом режиме набирают одну или несколько команд (выра­жений). Окончание ввода, т. е. передача управления системе, осуществляется нажатием на клавишу <Enter>. При этом кур
­сор может находиться в любом месте вводимой строки. После окончания ввода программа выполняет предписанные строкой действия, и результат появится в следующих строках окна, например:
>> 10+2 ans=12
Поскольку пользователь не присвоил название результату выполняемой операции, то система автоматически присваивает ему имя ans (сокращение от answer – ответ, решение). Под этим именем результат хранится в памяти, и его можно использовать в последующих вычислениях до тех пор, пока в ходе работы не будет получен новый непоименованный результат, например:
>> 15+ans
ans=27
Для получения поименованного результата нужно в строке ввода задать имя переменой с обязательным присвоением пере
-
менной значения (определить переменную).
Для присваивания значения используется знак равенства, например:
d=5
Имена переменных должны начинаться с буквы, могут со
­держать цифры и символ подчеркивания, но не должны содер­жать знаков пунктуации, арифметических операций и символа пробела. Не рекомендуется задавать переменным имена, заре
­зервированные системой для встроенных команд и функций (например, sin, exp и т. д.).
6
ТЕОРЕТИЧЕСКИЕ ОСНОВЫ MATLAB + SIMULINK
MATLAB чувствителен к регистру букв; например, ав, Ав,
аВ, АВ – это разные переменные.
Значение переменной хранится в памяти до тех пор, пока
она не будет переопределена или очищена командой clear.
Обратите внимание на изменение содержания окон Workspace
и Command History. В окне Command History появляются все команды, введенные в командном окне. В окне Workspace по
­являются все определенные пользователем переменные. Для редактирования значения переменной можно в этом окне дваж
­ды щелкнуть мышью по строке с переменной и в открывшемся окне редактора изменить ее значение.
В одной строке можно ввести несколько выражений или ко
­манд, разделяя их запятой или точкой с запятой. В первом случае результат выводится на экран, во втором – нет. Отсутствие разде
­лителя в конце строки ввода равносильно запятой, например:
>> a=5, b=7; c=18
Если требуется вывести на экран значения определенных
пользователем переменных, следует в командной строке на
­брать их имена через запятую и нажать <Enter>.
При необходимости ввода длинного выражения, не помеща
­ющегося в одной командной строке, его можно набрать в не­скольких строках, заканчивая предыдущие строки тремя или более точками, например,
>> x=a+… b+… c x=30
Введенные команды представляют собой историю. Для того чтобы повторно использовать команду, необходимо прокрутить стек истории, используя клавиши перемещения курсора <↑> или <>. Таким способом ранее введенные строки командно
­го окна вносятся в текущую командную строку, где их можно изменять и отправлять на выполнение клавишей <Enter>.
Другой способ повторного исполнения команд – это перенос команд или их частей из командного окна или из окна Command History через буфер обмена.
7
МОДУЛЬ 1
Форматы вывода чисел
Переменные, участвующие в вычислениях, могут быть веще
-
ственными или комплексными.
Для обозначения мнимой единицы используются i или j. При
вводе комплексных чисел мнимая единица может стоять либо
перед мнимой частью, либо после нее. В первом случае меж
­ду ними обязательно ставится знак умножения (1+i*2=1+j*2), во втором случае знак умножения ставить необязательно (1+2i=1+2j), однако в этом случае между мнимой частью и мни
­мой единицей не должно быть пробелов.
Вычисления с числами происходят с двойной точностью,
но вывод их на экран можно производить в разном формате, используя различные варианты команды format (подчеркнем, что изменение формата вывода не влияет на величину числа, хранящегося в памяти):
• Целые числа, меньшие 1010, выводятся как целое, даже если они были введены с десятичной точкой и нулевой дробной частью:
>> 999999999.0 ans=999999999
• format или format short – устанавливает фиксированный формат вывода рациональных чисел с 4 значащими цифрами после десятичной точки. Этот формат устанавливается по умол
-
чанию для чисел меньших 103 и больших 10–3:
>> 999.91234 ans=999.9123 >> 0.00123 ans=0.0012;
• format long – устанавливает фиксированный формат выво
-
да с 14 значащими цифрами после десятичной точки:
>> 99.9999 ans=99.99990000000000
• format short e – устанавливает экспоненциальный формат с 5 знаками мантиссы и 3 знаками порядка:
>> 125.567 ans=1.2557e+002
8
ТЕОРЕТИЧЕСКИЕ ОСНОВЫ MATLAB + SIMULINK
Этот формат устанавливается по умолчанию для чисел боль-
ших 103 и меньших 10–3.
• format long e – устанавливает экспоненциальный формат с
15 знаками мантиссы и 3 знаками порядка:
>> 125.567 ans=1.255670000000000e+002
• format + – вместо положительных, отрицательных и ну
­левых элементов массивов изображаются знаки плюс, минус и пробел соответственно.
• format rat устанавливает формат вывода, при котором веще
­ственные результаты представляются рациональными дробями:
>> 0.333 ans=333/1000
• format compact – подавляет лишние интервалы между строками вывода, format loose – восстанавливает межстрочные интервалы.
Применение команды format без параметров восстанавливает
используемые по умолчанию настройки вывода данных.
Кроме переменной ans, в системе используются еще некото
-
рые специальные переменные:
• inf (infinity) – машинная бесконечность, которая может быть аргументом функций, имеющих конечный предел при стремлении аргумента к бесконечности, например:
>> 1 + exp(-inf) ans=1
• NaN (Not a Number) – нечисловой результат, который мо
­жет быть получен, например, при вычислении неопределенного выражения наподобие sin(0)/0.
• pi – число π.
• eps – константа, определяющая точность сравнения двух
–52
чисел при вычислениях с плавающей точкой, равная 2
Выражения, помещенные между апострофами, рассматрива
.
­ются как символьные и не вычисляются, например:
>> ‘1 + 2’ ans=1 + 2
9
МОДУЛЬ 1
Формирование векторов и матриц
Как уже упоминалось, основным объектом системы является
массив данных. Массив представляет собой совокупность одно
­типных данных, объединенную в один поименованный объект. Такие массивы могут быть скалярами, т. е. состоять из одного числа, могут быть одномерными, т. е. векторами, двумерными – матрицами и т. д.
Простейший способ формирования одномерного массива – это перечисление его элементов в квадратных скобках []. Эле­менты разделяются пробелами или запятыми. Допустимо в пределах ввода одного вектора использовать оба типа разде
-
лителей.
>> v = [1,2 3]
v=1 2 3
В качестве элементов формируемого вектора могут высту
­пать не только числа, но и другие векторные переменные, уже существующие в рабочем пространстве, а также выражения и функции:
>> w = [v,v+3] w=1 2 3 4 5 6
Доступ к элементам вектора осуществляется по номеру эле
­мента в их последовательности – индексу, например,
>> w(3) ans=3
Используя доступ по индексу, можно изменять значение эле
­мента вектора;
>> w(5) = 2*w(5) w=1 2 3 4 10 6
Отметим, что при изменении значения какого-либо элемента
вектора система выводит на экран весь вектор-строку.
Если индекс вводимого элемента превышает размер вектора, т. е. максимальное значение индекса, то система увеличивает размер вектора, заполняя нулями промежуточные элементы:
>> w(9)=9
w=1 2 3 4 10 6 0 0 9
10
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]