Урок 7 — Графики в Matlab. Построение графиков и таблиц в Матлабе
1. Построение таблиц значений функции одной переменной в пакете MatLabОтображение функции в виде таблицы удобно, если имеется сравнительно небольшое число значений функции. Пусть требуется вывести в командное окно таблицу значений функции в точках 0.2, 0.3, 0.5, 0.8, 1.3, 1.7, 2.5. » х = [0.2 0.3 0.5 0.8 1.3 1.7 2.5] Обратите внимание, что при попытке использования операций возведения в степень ^, деления / и умножения * (которые не относятся к поэлементным) выводится сообщение об ошибке уже при возведении sin(x) в квадрат: » у = sin(х)^2/(1+соз(х))+exp(-x)*log(x) Дело в том, что в MatLab операции * и ^ применяются для перемножения матриц соответствующих размеров и возведения квадратной матрицы в степень. » х Часто требуется вывести значение функции в точках отрезка, отстоящих друг от друга на равное расстояние (шаг). Предположим, что необходимо вывести таблицу значений функции y(х)наотрезке [1, 2] с шагом 0.2. Можно, конечно, ввести вектор-строку значений аргумента х=[1, 1.2, 1.4, 1.6, 1.8, 2.0] из командной строки и вычислить все значения функции так, как описано выше. Однако, если шаг будет не 0.2, а, например 0.01, то предстоит большая работа по вводу вектора х. » х = [1, 1.2, 1.4, 1.6, 1.8, 2.0] Условно можно записать х = [начальное значение : шаг : конечное значение] Необязательно заботиться о том, чтобы сумма предпоследнего значения шага равнялась бы конечному значению, например, при выполнении следующего оператора присваивания » х = [1:0.2:1.9] Вектор-строка заполнится до элемента, не превосходящего определенное нами конечное значение. Шаг может быть и отрицательным: » х = [1.9:-0.2:1] В случае отрицательного шага для получения непустой вектор-строки начальное значение должно быть больше конечного. » х = [0:0.1:0.5]' Обратите внимание, что элементы вектора, заполняемого при помощи двоеточия, могут быть только вещественными, поэтому для транспонирования можно использовать апостроф вместо точки с апострофом. » х = [1:5] Пусть требуется вывести таблицу значений функции на отрезке [0, 1] с шагом 0.05, » х = [0:0.05:1]; Вектор-строки x и yсостоят из двадцати одного элемента, и не помещается на экране в одну строку, поэтому выводятся по частям. Так как х иy хранятся в двумерных массивах размерностью один на двадцать один, то выводятся по столбцам, каждый из которых состоит из одного элемента. Сначала выводятся столбцы с первого по седьмой (columns 1 through 7), затем - с восьмого по четырнадцатый (columns 8 through 14), и, наконец, - с пятнадцатого по двадцать первый (columns 15 through 21). Более наглядным и удобным является графическое представление функции. 2. Построение графиков функции одной переменной2.1. Графики функций в линейном масштабеMatLab обладает хорошо развитыми графическими возможностями для визуализации данных. Рассмотрим в начале построение простейшего графика функции одной переменной на примере функции
определенной на отрезке [0, 1]. Вывод функции в виде графика состоит из следующих этапов: » х = [0:0.05:1]; После выполнения команд на экране появляется окно Figure No. 1 с графиком функции. Окно содержит меню, панель инструментов и область графика. В дальнейшем будут описаны команды, специально предназначенные для оформления графика. Сейчас нас интересует сам принцип построения графиков и некоторые простейшие возможности визуализации функций. » х = [0:0.01:1]; В результате получается график функции в виде более плавной кривой. при помощи следующей последовательности команд: » х = [-1:0.005:-0.3]; Функции необязательно должны быть определены на одном и том же отрезке. В этом случае при построении графиков MatLab выбирает максимальный отрезок, содержащий остальные. Важно только в каждой паре векторов абсцисс и ординат указать соответствующие друг другу вектора, например: » х1 = [-1:0.005:-0.3]; Аналогичным образом при помощи задания в plot через запятую пар аргументов вида: вектор абсцисс, вектор ординат, осуществляется построение графиков произвольного числа функций. Замечание 1 Использование plot с одним аргументом - вектором - приводит к построению "графика вектора", т.е. зависимости значений элементов вектора от их номеров. Аргументом plot может быть и матрица, в этом случае на одни координатные оси выводятся графики столбцов. » х = [0.5:0.01:3]; При выполнении этого примера обратите внимание, что цвет графика совпадает с цветом соответствующей ему оси ординат. 2.2. Графики функций в логарифмических масштабах Для построения графиков в логарифмическом и полулогарифмическом масштабах служат следующие функции: Аргументы loglog, semilogx и semilogy задаются в виде пары векторов значений абсцисс и ординат так же, как для функции plot, описанной в предыдущем пункте. Построим, например, графики функций » х = [0.1:0.01:10]; |