Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
mip_04b.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
254.98 Кб
Скачать

2. Элементарная графика в системе matlab

Одно из достоинств системы MATLAB – большое количество графических средств, начиная от команд построения простых графиков функций одной переменной и кончая комбинированными и презентационными графиками с элементами анимации.

Функции одной переменной находят широкое применение в практике математических расчетов, а также в технике компьютерного и математического моделирования. Для отображения таких функций используются графики в декартовой (прямоугольной) системе координат. При выводе на экран задаются координаты узловых точек функции. Эти точки соединяются друг с другом отрезками прямых линий, т.е. при построении графика осуществляется линейная интерполяция для промежуточных точек. В пакете MATLAB совокупность узловых точек функции задается двумя векторами: вектором абсцисс и вектором соответствующих ординат.

Вывод графика на экран в декартовой системе осуществляется командой plot. Эта команда может использоваться в нескольких вариантах.

При вызове функции с двумя аргументами plot(X, Y), где X, Y – векторы одинаковой размерности, будет построен график зависимости Y(X). Например, выполнение последовательности операторов

>> x = 0:0.001:30;

>> y = sin(x);

>> plot(x,y);

приведет к появлению на экране специального окна для вывода графических образов, на котором будет представлена синусоида. Добавление к этой последовательности команды grid on приведет к появлению на экране координатной сетки (рис. 1.1). Гашение сетки осуществляется с помощью команды grid off.

В указанном специальном окне расположен ряд элементов, которые используются для размещения выводимых графических образов, а также ряд интерфейсных инструментов, с помощью которых можно манипулировать размещенным в окне изображением.

Рис. 1.1.

Основным графическим элементом, в рамках которого появляется изображение, является прямоугольная система координат с отметками значений на координатных осях. Заметим, что максимальные значения на осях по умолчанию выбираются системой автоматически в зависимости от диапазонов значений точек, хранимых в векторах x,y.

В одном окне можно строить графики нескольких функций одним вызовом функции plot. Например (рис. 1.2),

>> x = 0:0.001:30;

>> y1 = sin(x);

>> y2 = exp(-0.1*x).*cos(x);

>> plot(x,y1,x,y2);

>> grid on;

Обратим внимание на то, что вывод указанной пары графиков привел к замене содержания предшествующего графического окна. Если это не желательно и есть необходимость в том, чтобы новые графики появлялись в отдельном окне, то это можно сделать, явно указав номер нового окна оператором figure(N), где N – номер нового окна, причем первому автоматически будет присвоен номер 1.

Рис. 1.2.

Например, группа операторов

>> x = 0:0.001:30;

>> z=cos(2*x)-cos(x);

>> figure(2);

>> plot(x,z);

>> grid on;

породит новое окно с наименованием Figure No. 2, куда и будет выведен график соответствующей функции z(x).

Для наложения графиков может также использоваться функция hold с аргументом on (разрешить наложение) или off (запретить наложение). Например, предыдущий график можно построить при помощи следующей совокупности команд:

>> t = 0:pi/100:2*pi;

>> y1 = sin(t); y2 = cos(t);

>> plot(t,y1)

>> hold on

>> plot(t,y2)

Для различной маркировки графиков нескольких функций на одном рисунке MATLAB позволяет задавать тип линии. Это делается с помощью специального аргумента функции plot (строка символов), который определяет различные стили линии, символы маркера и цвета для каждого графика функции. В общем случае функция вызывается следующим образом:

plot(X1,Y1, S1, X2,Y2, S2, …), где S1='color_linestyle_marker'.

Допустимые значения для цвета и типа линий, а так же для типа маркера приведены в таблице 1.1.

Например (рис. 1.3),

>> t = 0:pi/10:2*pi;

>> y1 = sin(t); y2 = cos(t);

>> y3=sin(t).^2;

>> plot(t,y1,t,y2,'-.ok',t,y3,':r+')

>> grid on

Таблица 1.

Цвет линии

Тип маркера

C

Голубой

.

точка

M

фиолетовый

o

окружность

Y

Желтый

x

крест

R

Красный

+

плюс

G

Зеленый

*

звездочка

B

Синий

s

квадрат

W

Белый

d

ромб

K

Черный

v

треугольник (вниз)

^

треугольник (вверх)

Тип линии

<

треугольник (влево)

-

сплошная линия

>

треугольник (вправо)

:

двойной пунктир

p

пятиугольник

-.

штрих-пунктир

h

шестиугольник

--

Штриховая

Рис. 1.3.

Для построения графиков функций со значениями x и y, изменяющимися в широких пределах, нередко используются логарифмические масштабы. В таком случае, для построения графиков используется функция loglog. Ее синтаксис аналогичен ранее рассмотренному синтаксису для функции plot. В некоторых случаях предпочтителен полулогарифмический масштаб графиков, когда по одной оси задается логарифмический масштаб, а по другой – линейный. Для построения графиков в полулогарифмическом масштабе используются команды semilogx (строит график функции в логарифмическом масштабе по оси X и линейном по оси Y) и semilogy (строит график функции в логарифмическом масштабе по оси Y и линейном по оси X). Например, цепочка команд

>> x=logspace(-1,3);

>> loglog(x,exp(x))

>> grid on

даёт график, изображённый на рис. 1.4.

Рис. 1.4.

Задание для самостоятельной работы:

Самостоятельно задать произвольную функцию вещественной переменной и выполнить следующие действия по построению её графика:

1. Построить график функции на заданном отрезке значений аргумента, задавая его десятью точками на отрезке. Включить сетку.

2. На одном рисунке построить указанный выше график и график этой же функции, заданный тысячей точек на этом же отрезке.

3. На другом рисунке построить график функции на том же отрезке значений аргумента.

4. Добавить построенный в пункте 3 график к первому рисунку.

5. Построить график функции

на отрезе с использованием полулогарифмической системы координат.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]