Практикум лаб раб. Контрольные вопросы для проверки усвоения материала и задания на выполнение работы
Скачать 1.14 Mb.
|
G2 на столбец состоящий из нулей, создав новую матрицу G9. Листинг программы и содержимое всех созданных матриц и скаляров занести в отчѐт. Требования к отчёту Отчѐт должен содержать титульный лист с указанием названия ВУЗа, кафедры, номера и темы лабораторной работы, а также фамилии ИО. студента, подготовившего отчѐт; цель выполняемой работы задания листинги всех программ с обязательными комментариями полученные на каждом этапе работы результаты выводы по каждому выполненному заданию. Контрольные вопросы Какие существуют способы задания матриц и векторов в MATLAB? Что представляет собой магическая матрица и как еѐ создать средствами MATLAB? Какие основные операции применяются к массивам Какие основные операции применяются к векторами матрицам Что представляют собой массив, вектор и матрица Какие два типа операций применимы для массивов Какие собственные функции MATLAB используются для задания матриц Как можно определить размер матрицы (массива Как можно определить число элементов матрицы (массива Как можно выделить максимальные и минимальные элементы в числовом массиве Как преобразовать матрицу в вектор-столбец? 30 Как вычислить среднее значение элементов матрицы Как вычислить среднеквадратичное отклонение элементов матрицы Как произвести сортировку матрицы по разным признакам Как можно добавить в матрицу новые строки и столбцы Как можно заменить значения элементов матрицы на новые Какие правила следует выполнять при подготовке программ в виде файлов Как можно удалить из матрицы строки или столбцы Рекомендуемая литература Matlab и Simulink – сообщество пользователей, материалы, книги, форум Электронный ресурс – Режим доступа http://matlab.exponenta.ru, свободный. – Загл. с экрана. Дьяконов, В. П. MATLAB. Полный самоучитель Текст / В. П. Дьяконов. – М ДМК Пресс, 2012. – 768 с. Дьяконов, В. П. MATLAB 6.5 SP1/7/7 SP1 + Simulink 5/6. Работа с изображениями и видеопотоками Текст / В. П. Дьяконов. – М СОЛОН-Пресс, 2005. – с. Солонина, АИ. Цифровая обработка сигналов. Моделирование в MATLAB Текст / АИ. Солонина, СМ. Арбузов. – СПб.: БХВ-Петербург, 2008. – 816 с. 31 Лабораторная работа №3 Работа с графиками в системе MATLAB Цель работы Изучение команд построения графиков в различных системах координат с целью визуализации результатов вычислений. Получение практических навыков работы в командном и диалоговом режиме при форматировании внешнего вида графиков. Теоретический материал В результате вычислений в системе MATLAB зачастую получается большой, трудно анализируемый массив данных. Для наглядной визуализации и анализа этих данных в системе предусмотрен специальный встроенный пакет. Рассмотрим наиболее простые и часто используемые графические возможности. Графики в декартовой системе координат Графические объекты, в том числе и графики функций, MATLAB выводит в специальные графические окна, имена которых обозначаются словом Figure. Для построения графиков функций в декартовой системе координат служит команда, y), где координаты точек (x, y) берутся из векторов X и Y соответственно. Отсюда следует, что перед использованием функции построения графиков plot(x, y) эти вектора должны быть сформированы. Например % Построить график функции y=sin(x)-cos(x). >> x=0: 0.1:10; % задаем диапазон и шаг изменения % аргумента x от 0 до 10 с шагом 0,1 >> y=sin(x)-cos(x); % задаем функцию, которую нам % необходимо построить >> plot(x, y) % строим график функции в графическом окне При этом в графическом окне автоматически строятся две оси с нанесенными значениями функции и аргумента абсцисс (ось x) и ординат (ось y); задаются координаты (x, y), которые определяют узловые точки функции y(x). Результат выполнения команд изображен на рис. 3.1. Рис. 3.1 – График функции y=sin(x)-cos(x) Аналогичная команда plot(x, y, s) позволяет построить график функции, указав способ стиль) отображения линии и узловых точек при помощи строковой переменной s, которая 32 может включать до трех символов маркеров из табл. 3.1. Строковую переменную s следует задавать в апострофах, как показано в примере ниже, причем порядок указания маркеров не имеет значения. Отсутствующие маркеры используют установки по умолчанию. При отсутствии указания на цвет линий и точек он выбирается автоматически (белый цвет исключается. Если линий графиков больше шести, то выбор цвета повторяется. % Построить график функции заданным стилем >> x=0:0.25:10; % задаем распределение значений x >> y=sin(x)-cos(x); % задаем функцию, которую необходимо построить >> plot (x,y,'-hk') % строим график функции в виде непрерывной линии % чѐрного цвета с шестиугольными фигурами % в контрольных точках Результат выполнения команд изображен на рис. 3.2. Таблица 3.1 Типы и цвета линий и узловых точек Тип линии Тип точки Цвет Вид Маркер Вид Маркер Вид Маркер Непрерывная - Точка . Жѐлтый y Штриховая - - Плюс + Фиолетовый m Двойная пунктирная : Звѐздочка * Голубой c Штрихпунктирная. Круг o Красный r Крест x Зелѐный g Квадрат s Синий b Ромб d Белый w Треугольник вниз) v Чѐрный k Треугольник вверх) a Треугольник влево) < Треугольник вправо) > Пятиугольник p Шестиугольник h Команда plot(x1, y1, s1, x2, y2, s2, …) служит для объединения на одном графике нескольких графиков функций, определив для каждой свой стиль отображения. % Построить водном окне графики функций y 1 =sin(x 1 )-cos(x 1 ) % и y 2 =tg(x 2 ). >> x1=0:0.1:2; >> x2=0:0.2:2; >> y1=sin(x1)-cos(x1); >> y2=tan(x2); >> plot(x1,y1,'-hm',x2,y2,'--sb') Результат выполнения команд изображен на рис. 3.3. 33 Рис. 3.2 – График функции y=sin(x)-cos(x) со спецификацией точек и линии Рис. 3.3 – Графики функций y 1 =sin(x 1 )-cos(x 1 ) и y 2 =tg(x 2 ) Графики в полярной системе координат В полярной системе координат любая точка представляется как конец радиус-вектора, исходящего изначала системы координат, который имеет длину rho и угол phi. Для построения таких графиков используются команды polar(phi, rho), polar(phi, rho, s), где phi – угол, rho – длина радиус-вектора, s – строковая константа, позволяющая задавать стиль построения графиков, значения которой берутся из табл. 3.1. % Построить в полярной системе координат график функции r=cos(6φ). phi=0: pi/60: 2*pi; r = cos(6*phi); polar(phi, r) Результат выполнения команд изображен на рис. 3.4. 34 Рис. 3.4 – График функции r=cos(6φ) в полярных координатах Графики векторов Для представления комплексных элементов одномерного массива Z в виде векторов- стрелок, исходящих изначала координат и имеющих угол и длину, которые определяются действительной и мнимой частью комплексных чисел, служит команда compass (Команда compass (real(Z), imag(Z)) эквивалентна команде compass (real(Z) + imag(Z)). Здесь real(Z) – действительная часть комплексного числа, imag(Z) – мнимая часть комплексного числа При необходимости задать тип линии для отображения векторов используется дополнительный аргумент s, значения которого берутся из табл. 3.1. compass (Z, s). % Построить радиус-векторы трех комплексных чисел 4i-6, 6i+8 и 7i-13. x=[4*i-6;6*i+8;7*i-13]; % задаем массив комплексных чисел compass(x) % выводим радиус векторы в графическое окно Результат выполнения команд изображен на рис. 3.5. Рис. 3.5 – Радиус-векторы комплексных чисел 4i-6, 6i+8 и 7i-13 Трехмерные графики Простейшей функцией построения графика функции двух переменных z = f(x, y), который представляет собой поверхность, является plot3(X, Y, Z), 35 где X – матрица первых координат сетки точек, Y – матрица вторых координат, Z – матрица значений функции двух переменных. Эта функция строит в трехмерных координатах точки с координатами (x, y, z) и соединяет их отрезками прямых. По аналогии с функцией plot можно использовать строковую переменную s с указанием способа отображения линии и узловых точек. Перед использованием функции plot3 необходимо сформировать матрицы значений координатной сетки X и Y. Для их получения используется функция [X, Y] = meshgrid(x, y). Эта функция получает два одномерных массива (вектора) точек на осях x и y, а возвращает два двумерных массива X и Y. Функция [X, Y] = meshgrid(x) представляет собой упрощенную запись для [X, Y] = meshgrid(x, x). Нанести на систему координат шкалы в виде сетки можно командой grid on. % Построить график поверхности, описываемой функцией z(x, y)=x 2 +y 3 . [X,Y]=meshgrid([-3:0.5:5]); % формируем прямоугольную сетку координат Z=X.^2+Y.^3; % задаем функцию plot3(X,Y, Z); % построить поверхность grid on % включить отображение шкал в виде сетки Результат выполнения команд изображен на рис. 3.6. Чем меньше будет шаг координатной сетки, тем более сглаженной будет казаться поверхность. Рис 3.6 – График поверхности, описываемой функцией z(x, Более наглядными являются сетчатые графики поверхностей с заданной или функциональной окраской. Для построения сетчатой поверхности, цвет которой меняется в зависимости от значения Z, используется функция mesh(z). При этом координатная число узлов сетчатой поверхности определяется размерностью массива Z. % Построить график функци z(x, y)=x 2 +y 3 . [X,Y]=meshgrid([-3:0.5:5]);% формируем прямоугольную сетку координат Z=X.^2+Y.^3; % задаем функцию mesh(Z) % построить сетчатую поверхность colormap copper % задаѐм палитру графика Результат показан на рис. 3.7. Особенно наглядное представление о поверхностях дают сетчатые графики, использующие функциональную закраску ячеек. Такие графики можно построить используя команду Рис. 3.7 – Сетчатый график поверхности, описываемый функцией z(x, Рис. 3.8 – Сетчатый график поверхности с функциональной окраской ячеек Оформление графиков Для наглядной визуализации данных и возможности использования их в различных от- чѐтах, в большинстве случаев, недостаточно только вывести данные в виде графиков на экрана требуется придать им определѐнный вид. Настроить внешний вида графиков в среде MATLAB можно используя команды графики или инструменты меню графического окна. Для масштабирования графиков функций используется команда axis([Xmin, Xmax, Ymin, Ymax, Zmin, Сданной команде также можно использовать ключевые слова для задания внешнего вида осей (см. табл. 3.2). Команды для отображения сетки на графике, создания подписей и добавления легенды представлены в табл. 3.3. Для оформления трѐхмерных графиков, кроме команд указанных в табл. 3.3, можно использовать команды изменяющие окраску и вид поверхности (табл. 3.4). 37 Таблица 3.2 Команды управления осями Название команды Действие axis square Делает оси x и y равной длины axis equal Создаѐт отдельные отметки приращений для осей x и y одинаковой длины axis auto Возвращает значения осей по умолчанию и переходит в автоматический режим Включает / выключает обозначения осей и меток промежуточных делений Таблица 3.3 Команды управления осями Название команды Действие grid [on, off] Включает / выключает сетку на графике title (заголовок графика) Создаѐт надпись заголовка графика xlabel (подпись оси х) Создаѐт подпись оси Ox ylabel (подпись оси Oy’) Создаѐт подпись оси Oy text (x, y, текст) Создаѐт текстовую надпись в координатах (x, y) графического окна подпись выводимой функции №1’, подпись выводимой функции №2’, …) Добавляет легенду к текущему графику Таблица 3.4 Команды управления осями Название команды Действие shading flat Удаляет сетку на поверхности палитра) Задаѐт окраску поверхности colorbar Выводит вертикальную шкалу цветов текущего графика view (az, el) Изменяет угол наблюдения графика (az – азимут, el – угол возвышения) % Оформить график функции z(x, y)=x 2 +y 2 , используя доп. команды [X,Y]=meshgrid([-3:0.5:5]); % формируем сетку координат Z=X.^2+Y.^3; % задаем функцию surf(X,Y, Z); % строим график функции axis([-3, 5, -3, 5, -30, 150]); % изменяем масштаб осей График функции z=x^2+y^3'); % добавляем заголовок графика xlabel('X'); ylabel('Y'); zlabel('Z', 'Rotation', 0); % подписываем оси координат colorbar; % выводим шкалу цветов Результат работы программы показан на рис. 38 Рис. 3.9 – Оформленный график поверхности Второй способ форматирования вида графика заключается в использовании инструментов графического окна. Так изменю графического окна доступно добавление легенды, подписей графика и осей, текстовых блоков, сетки графика, шкалы цветов, а в случае, если необходимо отредактировать вид отдельных элементов графика выбрать вменю пункт Property Editor и выбрать мышкой интересующий элемент графика. Построение графиков разного типа водном окне Если необходимо построить водном графическом окне figure несколько координатных осей с различными графиками без наложения их друг на друга, то можно воспользоваться функцией subplot(m, n, p), где m – число подокон по горизонтали, n – число подокон по вертикали, а p – номер подокна, в которое будет выводиться текущий график функции (подокна отсчитываются последовательно по строкам. % Построить график функции z(x, y)=x 2 +y 2 разными % командами водном окне [X,Y]=meshgrid([-3:0.5:5]); % формируем сетку координат Z=X.^2+Y.^3; % задаем функцию % строим графики функции водном масштабе осей subplot(2, 2, 1), plot3(X, Y, Z), axis([-5, 5, -5, 5, -50,150]); subplot(2, 2, 2), mesh(X, Y, Z), axis([-5, 5, -5, 5, -50,150]); subplot(2, 2, 3), surf(X, Y, Z), axis([-5, 5, -5, 5, -50,150]); Результат работы программы показан на рис. 3.10. 39 Рис. 3.10 – Вывод несколько графиков водном окне Подготовка к работе Ознакомиться с теоретическим материалом и рекомендованной литературой. Подготовить ответы на контрольные вопросы. Задание на выполнение работы Организовать ввод данных и вычисления согласно заданиям ниже. Задание Создать и отладить программу (в виде файла) для построения трех графиков функций водной системе координат, самостоятельно задав шаги диапазон изменения аргумента. Функцию выбрать из таблицы 3.5 согласно варианту. Таблица 3.5 Варианты для выполнения задания 1 № варианта Функции № варианта Функции 1 2 4 2 4 4 sin( ) log( ) y x y x x y x x 6 4 3 4 2 3 4 2 sin( ) sin(4 ) y x x y x x y x x 2 3 4 3 14 tg( ) lg( ) y x y x x y x x 7 3 2 4 8 4 3 sin( ) log(5 ) y x x y x x y x x 3 2 3 16 5 8 cos( ) sin( ) y x y x x y x x 8 2 4 2 5 8 sin(4 ) log(2 ) y x y x x y x x 4 2 4 3 5 4 2 4 sin( ) 4 sin(2 ) y x x y x x y x x 9 2 4 2 3 3 4 4 cos( ) tg( ) y x y x x y x x 5 3 4 4 7 arcsin( ) ctg( ) y x y x x y x x 10 2 4 3 4 tg( ) ctg(3 Задание 2 40 Создать и отладить программу (в виде файла) для построения двух графиков функций водной полярной системе координат в диапазоне изменения аргумента [0...2π]. Функции выбрать из таблицы 3.6 согласно варианту. Задание Создать и отладить программу (в виде файла) для построения графиков трехмерной поверхности, описываемой функцией согласно варианту. Предусмотреть вывод на график обозначения осей и заголовка, который должен содержать математическое выражение выводимой функции. Три варианта оформления графика этой функции вывести водном окне, используя функцию subplot. Подписать каждый график обозначением функции MATLAB, которая использовалась для их построения. Используя инструменты графического окна добавить по центру верхней части окна текстовый блок, содержащий математическое выражение выводимой функции. Таблица 3.6 Варианты для выполнения задания 2 № варианта Функции № варианта Функции 1 2 2 1 sin(2 ) r t r t 6 2 1 1 3 sin 4 r t r t 2 2 3 3cos( ) r t t r t 7 6 10 2 2 sin(3 ) t r r t 3 5 9 1 sin( ) t r e r t 8 ( 9) 3 cos(5 ) 2 t t r e r t 4 3ln 2 2 4sin 2 r t t r 9 3 2 3 5 cos(3 ) r t t t r t 5 2 7 7 sin 4 r t r t 10 2 (8 4) 2 2(1 sin( Таблица 3.7 Варианты для выполнения задания 3 № варианта Функции № варианта Функции 1 z x y 6 2 z x y x 2 sin( ) cos( ) z x y x y 7 2 2 sin( ) x z x y 3 3 2 z x y 8 2 4 z x y 4 sin( ) z x x y 9 2 2 cos( ) 0, 3 x z x y 5 z x y 10 Требования к отчёту Отчѐт должен содержать титульный лист с указанием названия ВУЗа, кафедры, номера и темы лабораторной работы, а также фамилии ИО. студента, подготовившего отчѐт; цель выполняемой работы 41 задания листинги всех программ с обязательными комментариями полученные на каждом этапе работы результаты (графики выводы по каждому выполненному заданию. Контрольные вопросы В окно с каким именем выводятся построенные графики функций Назовите команды для построения графиков в декартовой системе координат. Что является аргументами этих команд Каким образом можно изменить стиль графика Как объединить водной системе координат несколько графиков функций Для чего используется полярная система координат Какие команды используются для построения графиков в полярной системе координат Для чего служит и как применяется функция |