Министерство образования и науки Российской Федерации
Федеральное государственное бюджетное образовательное учреждение
высшего профессионального образования
«Самарский государственный технический университет»
Кафедра информационно-измерительной техники
Учебно-методическое пособие
к лабораторным работам
по дисциплине
«Математическое моделирование приборных системах»
Самара, 2014
Составитель Крылов А.О.
УДК 621.317
Математическое моделирование приборных системах: Учебно-метод. пособие к практическим занятиям / Самар. гос. техн. ун-т; Сост. А.О. Крылов. Самара, 2014. 90с.
Рассматриваются математическое моделирование приборных системах. Приведены примеры решения задач. Содержится задачи для самостоятельного решения на практических занятиях.
Ил. 37. Табл.2. Библиогр. 6 назв.
Введение
Пакет МАТЛАБ представляет собой широко известный во всем мире инструмент для проведения математических расчетов. Освоение навыков работы в нем необходимо для каждого лица, занимающегося научными исследованиями, и крайне желательно для тех, кто занят в сфере высоких технологий.
Каждая работа состоит из теоретического введения, решенного Примера и формулировки Задания. Все примеры и все решенные Задания (см. раздел Решения) верифицированы, а корректность их работы гарантирована на 99%. Отходя от обычной практики, все подпункты Примера связаны друг с другом и, как правило, усложняются с увеличением номера. Задание составлено аналогично и по сложности обычно превосходит Пример.
Лабораторное занятие №1-№5
Знакомство с пакетом MATLAB 7.2.
1. Структура пакета и принципы работы
MATLAB – система многоцелевого назначения, которая вышла на рынок программных продуктов почти двадцать лет назад и с тех пор непрерывно совершенствовалась фирмой MathWorks. Но первоначально ее основу составляли алгоритмы решения систем линейных уравнений и задач на собственные значения, откуда и произошло ее название «матричная лаборатория» (MATrix LABoratory). Затем система была расширена за счет специальных приложений, таких как Simulink (для моделирования ИС), Wavelet (для применения вэйвлетов), Symbolic Math Toolbox (для проведения символьных вычислений) и пр.
Среда MATLAB включает интерпретатор команд на языке высокого уровня, графическую систему, пакеты расширений и реализована на языке C. Вся работа организуется через командное окно (Command Window), которое появляется при запуске программы matlab.exe. В процессе работы данные располагаются в памяти (Workspace), для изображения кривых, поверхностей и других графиков создаются графические окна. В командном окне в режиме диалога проводятся вычисления. Пользователь вводит команды или запускает на выполнение файлы с текстами на языке MATLAB. Интерпретатор обрабатывает введенное и выдает результаты: числовые и строковые данные, предупреждения и сообщения об ошибках. Строка ввода помечена знаком >>. В командном окне показываются вводимые с клавиатуры числа, переменные, а также результаты вычислений.
Инструментальная панель командного окна позволяет выполнять требуемые действия простым нажатием на соответствующую кнопку. Большинство кнопок имеют стандартный вид и выполняют стандартные, подобные другим программам действия. Следует обратить внимание на кнопку Path Browser, которая позволяет прокладывать пути к разным директориям и делать необходимую директорию текущей, а также на кнопку Workspace Browser, позволяющую просматривать и редактировать переменные в рабочей области. Принято работать с включенными помимо консоли окнами Command History и Workspace; включить их можно, расставив галочки в раскрытом меню Desktop, а упорядочить – проведя докировку (кривая стрелка около стандартного крестика закрытия окна). Если вы нарушили порядок следования окон, то воспользуйтесь командой Desktop/Desktop Layout/Default.
Все значения переменных, вычисленные в течение текущего сеанса работы, сохраняются в специально зарезервированной области памяти компьютера, называемой рабочим пространством системы MATLAB (Workspace). После окончания сеанса работы с системой MATLAB все ранее вычисленные переменные теряются. Чтобы сохранить в файле на диске компьютера содержимое рабочего пространства системы MATLAB, нужно выполнить команду меню File / Save Workspace As. По умолчанию расширение имени файла mat, поэтому такие файлы принято называть МАТ-файлами. Для загрузки в память компьютера ранее сохраненного на диске рабочего пространства нужно выполнить команду меню: File / Load Workspace. Обе операции можно реализовать в режиме командной строки в формате, например, save <�имя_файла> (без расширения .mat).
Команда help <имя_функции> позволяет получить на экране справку по конкретной функции. Например, команда help eig позволяет получить оперативную справку по функции eig - функции вычисления собственных значений матрицы. С некоторыми возможностями системы можно познакомиться с помощью команды demo. В окне MATLAB помимо собственно команд MATLAB можно использовать системные команды DOS. Удобным свойством системы является возможность использовать клавиши-стрелки ↑↓ для доступа к стеку с ранее введенными командами. Командой clc можно стереть содержимое командного окна, однако это не затронет содержимого рабочего пространства. Когда исчезает необходимость в хранении ряда переменных в текущем сеансе работы, их можно стереть из памяти компьютера командой clear или clear(имя1, имя2, …). Первая команда удаляет из 6 памяти все переменные, а вторая – переменные с именами имя1 и имя2. Командой who (или более сильной whos) можно вывести список всех переменных, входящих в данный момент в рабочее пространство системы. Для просмотра значения любой переменной из текущего рабочего пространства системы достаточно набрать ее имя и нажать клавишу Enter. Для целей программирования важно знать, что часть строки, следующая за знаком %, является комментарием.
Легче всего протокол сессии получить с помощью команды diary. Вызов команды diary <�имя_файла> приведет к тому, что все появившееся далее на экране (кроме графики) будет записано в файл <�имя_файла>. Несколько последовательно набранных команд могут быть сохранены в M-файле (т.е. *.m), который с точки зрения операционных систем представляет аналог BAT-файла, а сточки зрения программирования – зародыш будущей программы. Самый простой путь для этого – в окне Command History выделить нужные команды, исполнить команду Create M-file контекстного меню; при этом откроется редактор М-файлов.
Пример:
Для получения информации о магическом квадрате наберем в консоли lookfor magic, получим, подождав некоторое время (для прерывания поиска использовать DOS-овскую комбинацию Ctrl+C):
>> lookfor magic
MAGIC Magic square.
TWEBMAGIC Example standalone test of webmagic function.
WEBMAGIC Magic squares into HTML table.
Затем получим справку о команде MAGIC:
>> help magic
MAGIC Magic square.
MAGIC(N) is an N-by-N matrix constructed from the integers
1 through N^2 with equal row, column, and diagonal sums.
Produces valid magic squares for all N > 0 except N = 2.
Reference page in Help browser
doc magic
Щелкнем по ссылке, открыв окно помощи. Построим уже реальный магический квадрат, набрав в консоли для N=10:
>> XMag=magic(10)
XMag =
92 99 1 8 15 67 74 51 58 40
98 80 7 14 16 73 55 57 64 41
4 81 88 20 22 54 56 63 70 47
85 87 19 21 3 60 62 69 71 28
86 93 25 2 9 61 68 75 52 34
17 24 76 83 90 42 49 26 33 65
23 5 82 89 91 48 30 32 39 66
79 6 13 95 97 29 31 38 45 72
10 12 94 96 78 35 37 44 46 53
11 18 100 77 84 36 43 50 27 59
Подсчитаем, сколько занимает в памяти переменная XMag:
>> whos XMag
Name Size Bytes Class
XMag 10x10 800 double array
Grand total is 100 elements using 800 bytes
Выберем закладку Workspace («рабочее пространство»), в контекстном меню исполним команду countour. При этом появится специальное окно, где MATLAB позволяет редактировать графические объекты – в частности, добавим расшифровку цветов (пиктограмма Insert ColorBar). Обратим внимание, что наши манипуляции не остались незамеченными средой, и в консоли появилась команда:
>> contour (XMag, 'DisplayName', 'XMag', 'ZDataSource', 'XMag'); figure(gcf)
Очистим рабочую область командой clear, затем консоль – clc. При этом история команд по-прежнему доступна; выделим шапку со списком сегодняшней даты и запишем в M-файл, вызвав контекстное (с выделенным) меню.
lookfor MAGIC
help magic
XMag=magic(10)
whos XMag
contour (XMag, 'DisplayName', 'XMag', 'ZDataSource', 'XMag'); figure(gcf)
clear
clc
Задание:
Запустить MATLAB и установите текущий каталог. Получить справку по команде diary. Начать запись дневника в файл.
В справочной системе, начав с консоли, получить информацию о гиперболическом котангенсе, а также переводу угла из радианной меры в градусную (и наоборот).
Вычислить sin(3.3a+b*cth(a+b)) для a=150, b=230 (предварительно проведя расчет для нулевых a и b).
В справочной системе найти информацию о том, какую функцию следует вызывать для вычисления ближайшего к Х целого. Предварительно следует показать преподавателю таблицу простейших функций вещественного переменного (перенеся ее в MS Word).
Примечание: необходимо иметь навык работы с HELP-системами (уходя от консоли, вызов, как обычно, по клавише F1 или командой Help– MatLab Help главного меню). Существует две стратегии поиска: по ключевым словам (индексу) или по дереву содержания (закладка Content окна помощи). Вторая стратегия предпочтительнее, но ее использование требует некоторого эвристического опыта. Разумеется, знание английского языка более чем необходимо.
Сформировать матрицу из случайных элементов размера 10*10. Используя пользовательские средства Workspace, построить ее 3D-график, сохранить картинку средствами MATLAB.
Записать текущую сессию в mat-файл. Сохранить историю команд в m-файл.
Очистить экран и переменные. Закрыть MATLAB.
Показать преподавателю все сохраненные файлы. Открыть MATLAB и с консоли загрузить последний mat-файл.
Завершить работу в MATLAB окончательно.
|