Сначала надо сформировать массив значений аргумента х:

х = -3 * pi : pi/100 : +3 * pi

затем вычислить массив соответствующих значений функции:

y = 3 * sin (x + pi / 3)

и, наконец, построить график зависимости y(x).

В целом, в командном окне эта последовательность операций будет выглядеть так:

» x = -3 * pi : pi/100 : 3 * pi;

» y = 3 * sin (x + pi/3);

» plot (x, y), grid on

Не более сложным является вывод в среде MatLAB графиков функций, заданных параметрически. Пусть необходимо построить график функции y(x) которая задана параметрическими формулами:

x = 4 e-0,05 t sin t, y = 0,2 e-0,1 t sin 2t.

Выберем диапазон изменения параметра t от 0 до 50 с шагом 0,1.

» t = 0 : 0.1 : 50;

» x = 4 * exp (-0.05*t).* sin (t);

» y = 0.2 * exp (-0.1*t).* sin (2*t);

» plot (x, y)

На рисунке 3.2 приведен результат построения графиков функций.

Рисунок 3.1 Рисунок 3.2

При обращении к процедуре fplot (‘у(х)’, [xmin, xmax])можно построить функцию, в интервале изменения аргумента х от минимального до максимального значения без фиксированного шага изменения х.

Например: fplot(‘sin(x)/x’,[-15,15]).

3 Графики в логарифмическом масштабе

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

loglog (…) – синтаксис команды аналогичен рассмотренному ранее для функции plot. Логарифмический масштаб используется для координатных осей х и y.

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

НЕ нашли? Не то? Что вы ищете?

semilogx (…) – строит график функции в логарифмическом масштабе по оси х и в линейном по оси у.

semilogy (…) – строит график функции в логарифмическом масштабе по оси у и в линейном по оси х.

4 Графики векторов

Для построения столбцовых диаграмм применяются следующие команды.

bar (x, у) – строит столбцовый график элементов массива у в позициях, определяемых вектором х с упорядоченными в порядке возрастания значений элементами. Если х и у двумерные массивы одинакового размера, то столбцы строятся попарно друг на друге.

bar (у) – строит график значений элементов одномерного массива у.

bar (х, у, ‘width’), bar (у, ‘width’) – аналогична ранее рассмотренным, но width задает ширину столбцов. При width>1 столбцы прекрываются, по умолчанию задано width=0,8.

Возможно применение этих команд в следующем виде:

bar (…, ‘s’)- где строковая константа s задает тип линий, цвет по аналогии с командой plot.

Аналогичная по синтаксису команда barh (…, ‘s’) – строит столбцовые диаграммы с горизонтальным расположением столбцов.

Для получения данных гистограммы, характеризующей число попаданий значений элементов вектора у в М интервалов с представлением этих чисел в виде столбцовой диаграммы служит функция hist (y, M).

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

polar (THETA, RHO) – строит график в полярной системе координат, где RHO задает длину вектора, а THETA – его угол от 0 до 2π.

polar (THETA, RHO, ‘s’) - аналогична описанным выше командам, но позволяет строить линии с заданным типом и цветом по аналогии с командой plot.

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

compass (U, V) – строит графики радиус-вектора, где U – действительная, а V - мнимая части каждого вектора.

compass (Z) – эквивалентна compass (real(Z), imag(Z)).

compass (U, V, ‘s’) и compass (Z, ‘s’) – позволяет задавать спецификацию линии по аналогии с командой plot.

При необходимости отображения комплексных величин в виде проекции радиус-вектора на плоскость используют команды:

feather (U, V) – строит график проекции радиус-вектора, заданного компонентами U и V.

Аналогично используются команды feather(Z) и feather (…, ‘s’).

Для построения лестничных графиков в виде ступеньки с огибающей, представленной функцией у(х) используют команды группы stairs: stairs(y), stairs(x, y), stairs(…,’s’).

5 Графики с зонами погрешности

Если данные для построения функции определены с заметной погрешностью, то используются графики функций типа errorbar с оценкой погрешности каждой каждой точки путем ее представления в виде буквы I, высота которой соответствует заданной погрешности представления точки. Эта команда используется в следующем виде:

errorbar (x, у, L, U) - строит график значений элементов вектора у в зависимости от данных, содержащихся в векторе х, с указанием верхней и нижней границ, заданных в векторах L и U.

errorbar (x, у, Е) - строит графики функции у(х), с указанием этих границ, в виде (у-Е, у+Е), где Е - погрешность.

errorbar(…, ‘s’)- аналогична описанным выше командам, но позволяет строить линии с заданным типом и цветом по аналогии с командой plot.

6 Графики дискретных функций

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

stem (у) – строит график с ординатами в векторе у в виде отдельных вертикальных линий (рис.4).

stem (х, у) – строит график с ординатами в векторе у и абсциссами в векторе х.

stem (…,‘filled’ ) – строит график функции с закрашенными маркерами.

stem (…,‘s’ ) – строит график функции со спецификацией линий по аналогии с командой plot.

» x = [];

» stem (x, 'k')

Процедура comet (x, y) ('комета") строит график зависимости y(x) постепенно во времени в виде траектории кометы. При этом изображающая точка на графике имеет вид маленькой кометы, которая плавно перемещается от одной точки к другой. Это обстоятельство может быть полезным при построении пространственных траекторий для выявления характера изменения траектории со временем.

Рис. 3 Рис. 4

7 Трехмерные графики

Трехмерные поверхности описываются функцией двух переменных
z (x, y). При этом требуется определение для x и y двумерных массивов. Для создания таких массивов служит функция meshgrid.

[X, Y]= meshgrid(x, y) – преобразует область, заданную векторами х и у, в массивы X и Y, которые могут быть использованы для вычисления функций двух переменных и потсроения трехмерных графиков. Строки выходного массива Х являются копиями вектора х, а столбцы У – копиями вектора у.

[X, Y]= meshgrid(x) – аналогична [X, Y]= meshgrid(x, х)

Например вызов функции [X, Y]= meshgrid(-2:0.2:2, -2:0.2:2) создает опорную плоскость для построения трехмерной поверхности при изменении х и у от –2 до 2 с шагом 0.2.

Контурные графики служат для представления на плоскости функции двух переменных вида z (x, y) с помощью линий равного уровня. Они получаются, если трехмерная поверхность пересекается рядом плоскостей, параллельных друг другу. При этом контурный график представляет собой совокупность спроецированных на плоскость (x, y) линий пресечения z (x, y) с плоскостями.

contur (z) – строит контурный график по данным матрицы z с автоматическим задание диапазона изменения x и y.

contur (x, y, z) – строит контурный график по данным матрицы z с указанием спецификаций для x и y.

contur (z, N) – дает построения с заданием N линий равного уровня (по умолчанию N=10).

contur (z, V) – строит линии равного уровня для высот, указанных значениями вектора V.

contur (z, [v v]) – вычисляет одиночный контур для уровня v.

Команда plot3(…) является аналогом команды plot(…), но относится к функции двух переменных z (x, y). Она строит аксонометрическое изображение трехмерных поверхностей.

plot3(x, y, z) – строит массив точек, представленных векторами x, y и z, соединяя их отрезками прямых. Команда имеет ограниченное применение.

plot3(X, Y,Z) где X, Y,Z – три матрицы одинакового размера, строит точки и соединяет их отрезками прямых.

plot3(X, Y,Z, ‘s’) где X, Y,Z обеспечивает аналогичные построения, но со спецификацией линий и точек. Например, построим график трехмерной поверхности z(x, y)=x^2+y^2 цветными кружками:

>>[X, Y]=meshgrid([-3:0.15:3]);

>>Z=X.^2+Y.^2;

>>plot3(X, Y,Z, ‘о’)

plot3(x1, y1, z1, ‘s1’, x2, y2, z2, ‘s2’, x3, y3, z3, ‘s3’,…) – строит на одном рисунке графики нескольких функций со спецификацией параметров каждого из них.

Команда meshс(…) – помимо графика трехмерной поверхности дает изображение ее проекции на плоскость, расположенную под графиком в виде линий равного уровня.

Команда meshz (…) – строит поверхность в виде столбиков.

Команда surf (…) – строит цветную параметрическую поверхность, а команда surfс (…) – строит дополнительно контурный график проекции фигуры.

Команда surfl (…) – строит график трехмерной поверхности с подсветкой от источника света.

8 Оформление и комбинирование графиков

Графики в MatLAB всегда выводятся в отдельном (графическом) окне, которое называется фигурой. Меню File этого окна позволяет просмотреть и изменить свойства вызванного графика. Функция clear - позволяет очистить графическое окно. После того как график построен, можно выполнить его форматирование или оформление в нужном виде.

Функции grid on (off) – включают (выключают) отображение координатной сетки, которая строится пунктирными линиями. Ценной особенностью графиков, построенных в системе MatLAB, является то, что сетка координат всегда отвечает "целым" шагам изменения, что делает графики "читабельными", т. е. по графику можно производить "отсчет" значений функции при любом заданном значении аргумента и наоборот.

Для установки над графиком титульной надписи используется процедура title. Если после обращения к процедуре plot вызвать title таким образом: title ('<текст>'), то сверху в поле фигуры появится текст, записанный между скобками. При этом следует помнить, что текст всегда должен помещаться в апострофы.

Для установки надписей возле осей используются следующие команды:

- вдоль горизонтальной оси - функция xlabel ('<текст>'),

- вдоль вертикальной оси - функция ylabel ('<текст>'),

- при трехмерном графике - функция zlabel ('<текст>').

Например:

» title ('Функция y = 3*sin (x + pi/3)');

» xlabel ('x'); ylabel ('y');

Часто возникает необходимость добавления текста в любое место графика. Для этого используется команда:

text (X, Y, ‘<текст>’) – добавляет на двумерный график текст, заданный строковой константой так, что начало текста расположено в точке с координатами (X, Y)

text (X, Y, Z, ‘<текст>’) – то же для трехмерного графика.

Команда gtext ('<текст>')- выводит на график перемещаемый мышью маркер и вводит заданный текст в выбранном месте.

Команда gtext (С) позволяет аналогичным образом разместить многострочную надпись, заданную массивом строковых переменных С.

Пояснение в виде отрезков линий со справочными надписями, размещаемое внутри графика или около него задается командой legend:

legend ('<текст1>', '<текст2>','<текст3>' …)- добавляет к текущему графику легенду в виде строк.

legend (…,<позиция>) – размещает легенду в место, определенное параметром позиция: 0 – лучшее место, выбираемое автоматически; 1- верхний правый угол; 2- верхний левый угол; 3 – нижний левый угол; 4 – нижний правый угол; -1 – справа от графика вне поля.

Для продолжения графических построений нескольких графиков в одном окне используется команда:

hold onпозволяет добавлять графики к уже имеющимся;

hold off – отменяет режим продолжения графических построений.

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8