Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
MATLAB-3.doc
Скачиваний:
22
Добавлен:
09.02.2015
Размер:
3.49 Mб
Скачать

37

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

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

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

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

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

  • plot(y) – построение графика одномерного массива в зависимости от номера элемента (для двумерного массива строятся графики для столбцов);

  • plot(x, y) – построение графика функции yº=ºy(x); при двумерном х строятся графики хº=ºх(y); если оба массива двумерные, строятся зависимости для соответствующих столбцов;

  • plot(x, y, LineSpec) определяет (табл. 4.1, 4.2) стиль линий, форму маркераточекицветлинийимаркеразаданиемстрокиLineSpec (дотрехсимволов).

Таблица 4.1 Таблица 4.2

Стиль линии

Символ

Цвет

Символ

Цвет

Символ

Непрерывная

Желтый

y

Зеленый

g

Штриховая

– –

Фиолетовый

m

Синий

b

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

:

Голубой

c

Белый

w

Штрихпунктирная

–.

Красный

r

Черный

k

Н

Рис. 4.1

апример, последовательность команд:

»X = [–pi : 0.1 : pi];

»X1 = sin(X);

»plot(X1, '^ r')

обеспечит построение графика, представленного на рис. 4.1.

По умолчанию выбирается непрерывная линия с точечным маркером и чередованием цветов с желтого по синий. Маркер может определяться символами: . + * °, а также s (квадрат), d (ромб), р (пятиугольник), h (шестиугольник), v ^ < > (стрелки).

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

Рис. 4.2

Рис. 4.3

В результате выполнения команд:

»x = [–3 : 0.1 : 3];

»y = x.^2;

»x1 = x+3;

»y1= x1;

»plot(x, y, x1, y1)

будут получены графики, как на рис. 4.2.

Выполнение последовательности команд с расширенным набором аргументов:

»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)

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

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

Есть возможность построить график функции по ее имени и аргументу:

  • fplot(<имя функции>, limits) строит график функции (функций) в интервале limitsº=º[xmin, xmax]. В качестве имени функции может использоваться m-файл или строка типа '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.

Рис. 4.4

С помощью команды:

»fplot('[besselj(0, x) besselj(1, x) 0]', [0 10], [ ], 20)

обеспечивается построение графиков двух функций Бесселя (рис. 4.4) для указанного диапазона аргумента [0 10].

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

График в полярных координатах определяется командами polar(f, r) и polar(f, r, LineSpec), где f – массив значений угла, r – соответствующие значения радиуса. Примеры использования полярной системы координат представлены на рис. 4.5.

»f = 0 : 0.02 : 2*pi

»r = sin(2.*f).*cos(2.*f);

»hp = polar(f, r), hold on

»set(hp, 'LineWidth', 4)

»f = 0 : 0.01 : 15*pi

»r = exp(–0.1*f);

»hp = polar(f, r), hold on

»set(hp, 'LineWidth', 4)

Рис. 4.5

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

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

Г

Рис. 4.6

рафик с двумя осями ординат (одна отображается слева, другая справа) реализуется функцией plotyy(x1, y1, x2, y2) и той же функцией с добавлением параметров масштабирования 'f1' или 'f1', 'f2', в роли которых могут выступать semilogx, semilogx, loglog, plot.

Результат, представленный на рис. 4.6, получен с помощью команд:

»x = 0 : 0.01 : 12*pi;

»plotyy(x, sin(x), x, 10*exp(–0.1.*x))

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