Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Моделирование измерительных задач в среде MATLAB + Simulink. Учебное пособие
.pdf
МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ
РОССИЙСКОЙ ФЕДЕРАЦИИ
Федеральное государственное автономное образовательное
учреждение высшего образования
«ЮЖНЫЙ ФЕДЕРАЛЬНЫЙ УНИВЕРСИТЕТ»
В. В. ЗЕМЛЯКОВ, В. Л. ЗЕМЛЯКОВ,
С. А. ТОЛМАЧЕВ
МОДЕЛИРОВАНИЕ ИЗМЕРИТЕЛЬНЫХ ЗАДАЧ
В СРЕДЕ MATLAB + SIMULINK
Учебное пособие
Ростов-на-Дону – Таганрог
Издательство Южного федерального университета
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
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
