Построение графиков функций

Графика в линейном масштабе

Двумерная графика

Элементарная графика

9.1. Двумерная графика
Графика в линейном масштабе
Построение графиков функций
9.2. Трехмерная графика
9.3. Задание осей координат
9.4. Линии уровня
9.5. Дополнительные возможности
9.6. Специальная графика

Здесь мы рассмотрим лишь небольшую часть графических команд высокого уровня, не затрагивая их базу - графические объекты (Axes, Line, Patch, Surface, Text).

plot (y) - построение графика одномерного массива в зависимости от номера элемента (для двумерного массива строятся графики для столбцов); plot (x,y) - построение графика функции y=y(x); при двумерном х строятся графики х=х(у); если оба массива двумерные, строятся зависимости для соответствующих столбцов; plot (x,y, LineSpec) - заданием строки LineSpec (до 3 символов) определяет стиль линий , форму маркера точек и цвет линий и маркера:

Символ стиля линии Цвет Цвет
Непрерывная -
Штриховая --
Двойной пунктир :
Штрихпунктирная -.

 

Желтый y
Фиолетовый m
Голубой c
Красный r

 

Зеленый g
Синий b
Белый w
Черный k

 

Маркер может определяться символами :

. + * ° ґ s (квадрат) d (ромб) р (пятиугольник) h(шестиугольник)

v ^ < > (стрелки)

По умолчанию выбирается непрерывная линия с точечным маркером и чередованием цветов с желтого по синий.

plot (x1,y1, LineSpec1, x1,y1, LineSpec2,...) - строит на одном графике несколько линий (диапазон по аргументу - объединение х1 и х2;

plot (...,'PropertyName',PropertyValue,...) -задает значения свойств графического объекта Line (толщину линий LineWidth, размер маркера MarcerSize, цвет маркера MarcerFaceColor и и др.) .

>> x=0:0.3:6;  
>> y=besselj(0,x); % функция J0(x)  
>> x1=0:0.4:8;  
>> y1=besselj(1,x1); % функция J1(x)  
>> plot(x,y,'-sk', x1,y1,'-pk','LineWidth',1 ) % рис.9.1

fplot( <имя функции>,limits) строит график функции (функций) в интервале limits=[xmin,xmax]. В качестве имени функции может использоваться М-файл или строка типа 'sin(x)', '[sin(x) cos(x) ]', '[sin(x), myfun1(x), myfun2(x)]'. Можно установить размеры графика по оси значений функции limits=[xmin,xmax ymin ymax].

fplot( <имя функции>,limits, eps) строит график c относительной погрешностью ерs (по умолчанию 0.002) и максимальное число шагов (1/eps)+1. Эту конструкцию можно дополнить четвертым параметром n (n+1 - минимальное число точек) и параметром LineSpec:

>>fplot( '[besselj(0,x) besselj(1,x) 0]',[0 10],[],20) & рис.9.2.

ezplot('f(x)') строит график f(x), заданной символьным выражением (например, ezplot('x^2-2*x+1') ), на интервале [-2p 2p] с выводом выражения в качестве заголовка графика.

ezplot('f(x)', limits) и ezplot('f(x)', limits, fig) строят график f(x) на указанном интервале и в заданном окне.

Рис.9.1. Рис.9.2.

График в полярных координатах определяется функциями polar(f,r) и polar(f,r, LineSpec), где f - массив значений угла и r - соответствующие значения радиуса : x=rЧcos(j), y=rЧsin(j):

>> f=0:0.01:2*pi; >> f=0:0.01:12*pi;
>> r=sin(2.*f).*cos(2.*f); >> r=exp(-0.1*f);
>> hp=polar(f,r),hold on >> hp=polar(f,r) ,hold on
>> set(hp,'LineWidth',4) % рис.9.3 >> set(hp,'LineWidth',2) % рис.9.4
Рис.9.3. Рис.9.4.

График в логарифмическом масштабе задается функцией loglog c тем же набором параметров, что и plot, с той лишь разницей, что проводится масштабирование десятичным логарифмированием по обеим координатам.

График в полулогарифмическом масштабе задается функциями semilogx и semilogy c тем же набором параметров, что и plot (проводится масштабирование логарифмированием по одной из координат).

График с двумя осями ординат (одна отображается слева, другая справа) реализуется функцией plotyy(x1,y1,x2,y2) и той же функцией с добавлением параметров масштабирования 'f1' или 'f1','f2', в роли которых могут выступать plot, semilogx, semilogx, loglog:
>> x=0:0.01:12*pi;
>> plotyy(x,sin(x).*exp(-0.1.*x),x, 10*exp(-0.1.*x)) % Рис.9.5


Рис.9.5.