Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

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

Покупка
Основная коллекция
Артикул: 756668.01.99
Доступ онлайн
187 ₽
В корзину
Учебное пособие содержит изложение теоретических и практических основ разработки приложений в среде MATLAB + Simulink в части компьютерного моделирования измерительных процессов. Приводятся практические примеры моделирования как в частотной, так и во временной области. Пособие предназначено для студентов третьего курса бакалавриата, обучающихся по физическим и техническим направлениям подготовки, и позволяет получить практические навыки по компьютерному моделированию в среде MATLAB + Simulink.
Земляков, В. В. Моделирование измерительных задач в среде MATLAB + Simulink : учебное пособие / В. В. Земляков, В. Л. Земляков, С. А. Толмачев ; Южный федеральный университет. - Ростов-на-Дону ; Таганрог: Издательство Южного федерального университета, 2020. - 144 с.. - ISBN 978-5-9275-3499-9. - Текст : электронный. - URL: https://znanium.com/catalog/product/1308383 (дата обращения: 19.04.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов. Для полноценной работы с документом, пожалуйста, перейдите в ридер.
МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ
Федеральное государственное автономное образовательное учреждение высшего образования «ЮЖНЫЙ ФЕДЕРАЛЬНЫЙ УНИВЕРСИТЕТ»






В. В. ЗЕМЛЯКОВ, В. Л. ЗЕМЛЯКОВ,

С. А. ТОЛМАЧЕВ




            МОДЕЛИРОВАНИЕ ИЗМЕРИТЕЛЬНЫХ ЗАДАЧ В СРЕДЕ MATLAB + SIMULINK


Учебное пособие










Ростов-на-Дону - Таганрог Издательство Южного федерального университета 2020

УДК 004.94-027.22(075.8)
ББК 32.973-018я73
     353




Печатается по решению кафедры информационных и измерительных технологий Института высоких технологий и пьезотехники
             Южного федерального университета (протокол № 7 от 20.02.2020)




Рецензенты:
кандидат технических наук, доцент И. Ю. Соломенцев; кандидат технических наук, доцент Б. В. Рябошапко










        Земляков, В. В.
353 Моделирование измерительных задач в среде 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⁻³:
   >> 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⁻³.
   • 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 - константа, определяющая точность сравнения двух чисел при вычислениях с плавающей точкой, равная 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 234 106
   Отметим, что при изменении значения какого-либо элемента вектора система выводит на экран весь вектор-строку.
   Если индекс вводимого элемента превышает размер вектора, т. е. максимальное значение индекса, то система увеличивает размер вектора, заполняя нулями промежуточные элементы:
   > > w(9)=9
   w=1 2 3 4 10 6 0 0 9

10

ТЕОРЕТИЧЕСКИЕ ОСНОВЫ MATLAB + SIMULINK

   Можно сразу определить вектор заданной длины с нулевыми элементами:
   >> a(5)=0
   a = 0 0 0 0 0
   Таким образом, работа с массивами переменной длины в MATLAB упрощена по сравнению с другими языками высокого уровня.
   Аналогичные принципы используются при формировании двумерных массивов — матриц. В квадратных скобках перечисляются векторы — строки матрицы, разделенные точкой с запятой или нажатием на клавишу <Enter>. В последнем случае для окончания ввода система ожидает ввода закрывающей квадратной скобки.
   >> m=[1 2 3; 4 5 6]
   m=
   1 2 3
   4 5 6
   Еще примеры:
   >> m=[v;v+3;v+6] m=
   1 2 3
   4 5 6
   7 8 9
   >> m1=[m;v+9]
   m1=
   1 2 3
   4 5 6
   7 8 9
   10 11 12
   >> m2=[m,m]
   m2=
   1 2 3 1 2 3
   4 5 6 4 5 6
   7 8 9 7 8 9
   >> m3=[m;m]
   m3=

11

Доступ онлайн
187 ₽
В корзину