Материал: MATLAB 5. Анализ технических систем. Слепокуров Ю.С

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

 

исходного массива

 

 

 

 

 

max(x)

Определение наибольшего элемента массива. В случае

 

двумерного массива

это

вектор-строка,

содержащая

 

максимальные элементы каждого столбца. Для комплексных

 

элементов определение максимума происходит

по условию

 

max(abs(x)). Если массив содержит хотя бы один элемент

 

типа NaN, то результатом операции тоже будет NaN

min(x)

Аналогична предыдущей функции, но вместо

 

максимального возвращает минимальный элемент массива

median(x)

Определение срединного значения (медианы) элементов

 

массива.

 

 

 

 

 

mean(x)

Определение

среднего

арифметического значения

 

элементов массива. Для двумерного массива mean(mean(x))

 

есть математическое ожидание элементов массива

 

std(x)

Определение

 

стандартных

отклонений

элементов

 

массива

 

 

 

 

 

cov(x)

Определение

ковариационной матрицы

элементов

 

массива (т.е. определение дисперсии элементов массива)

corrcoef(x)

Определение

коэффициентов

корреляции

элементов

 

массива

 

 

 

 

 

diff(x,n)

Вычисление конечных разностей порядка n для

 

элементов массива. В случае двумерного массива берутся

 

разности столбцов

 

 

 

 

 

spline(x,y,x1)

Интерполяция функции одной переменной кубическим

 

сплайном. x1 новый вектор аргументов функции

 

Пример использования функции spline:

x = [ 0 1 2 3 4 5 6 7 8 9 10 ]; % задан вектор аргумента функции % задаем вектор значений функции

y = [ 0 0.1 0.22 0.35 0.58 0.76 0.95 1.24 1.01 0.87 0.98 ];

%определяем новый вектор функции, с меньшим значением шага x1 = 0 : 0.05 : 10;

%вычисляем вектор значения функции по новым точкам

[ y1] = spline(x, y, x1);

1.9.ГРАФИЧЕСКИЕ СРЕДСТВА СИСТЕМЫ MATLAB

1.9.1.Графики двумерных функций

plot

Построение графиков отрезками прямых

 

 

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

Синтаксис: plot(x,y) plot(y) plot(x,y,‘s‘)

plot(x1,y1,‘s1‘,x2,y2,‘s2‘,…)

plot(x,y) строит график функции y(x). Если X или Y матрица, то строятся графики по данным в матрице.

plot(y) строит график функции y(i), при этом значения берутся из вектора Y, а i представляет собой индекс соответствующего элемента. Если Y содержит комплексные элементы, то выполняется команда plot(real(Y), imag(Y)). Во всех других случаях мнимая часть игнорируется.

plot(x,y,‘s‘) строит график функции y(x) но с заданием типа линии графика в виде строковой константы, которая может принимать следующие значения:

 

Цвет линии

 

Тип точки

 

Тип линии

 

 

 

 

 

 

y

желтый

.

точка

-

сплошная

m

фиолетовый

o

окружность

:

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

c

голубой

x

крест

-.

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

r

красный

+

плюс

--

штриховая

g

зеленый

*

звездочка

 

 

b

синий

s

квадрат

 

 

w

белый

d

ромб

 

 

k

черный

v

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

 

 

 

 

^

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

 

 

 

 

p

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

 

 

 

 

h

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

 

 

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

Функция plot(x1,y1,‘s1‘,x2,y2,‘s2‘,…) строит на одном графике ряд линий, представленных данными вида (x,y,‘s‘).

При отсутствии указания на цвет линий и точек он выбирается автоматически одним из шести табличных цветов (исключая белый). Если линий больше шести, то выбор цветов повторяется. Для монохромных систем линии выделяются стилем.

Пример:

»%Графики трех функций со спецификацией линий каждого графика

»x = - 2*pi : 0.1*pi : 2*pi ;

»y1 = sin(x);

»y2 = sin(x).^2;

»y3 = sin(x).^3;

»plot(x,y1,‘-m‘,x,y2,‘+r‘,x,y3,‘- -ok‘)

1

 

 

 

 

 

 

 

 

0.8

 

 

 

 

 

 

 

 

0.6

 

 

 

 

 

 

 

 

0.4

 

 

 

 

 

 

 

 

0.2

 

 

 

 

 

 

 

 

0

 

 

 

 

 

 

 

 

-0.2

 

 

 

 

 

 

 

 

-0.4

 

 

 

 

 

 

 

 

-0.6

 

 

 

 

 

 

 

 

-0.8

 

 

 

 

 

 

 

 

-1

 

 

 

 

 

 

 

 

-8

-6

-4

-2

0

2

4

6

8

 

 

 

 

Рис. 1.2

 

 

 

 

loglog

 

 

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

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

Для этого применяется команда loglog(…), синтаксис которой аналогичен рассмотренному для команды plot.

Пример:

»% График экспоненциальной функции в логарифмическом масштабе

»x=logspace(-1,3);

»loglog(x,exp(x)./x,'k');

»grid on

10300

 

 

 

 

10250

 

 

 

 

10200

 

 

 

 

10150

 

 

 

 

10100

 

 

 

 

1050

 

 

 

 

100

 

 

 

 

10-1

100

101

102

103

Рис. 1.3

 

 

 

 

semilogx,

Графики функций в полулогарифмическом

semilogy

масштабе

 

 

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

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

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

 

Синтаксис команды аналогичен синтаксису команды plot.

hist

Построение графика в виде гистограммы

Классическая гистограмма характеризует число попаданий значений элементов вектора Y в М интервалов с представлением этих чисел в виде столбиковой диаграммы. Получение данных для гистограммы выполняется функцией hist, имеющей синтаксис:

N = hist(Y) – возвращает вектор числа попаданий для 10 интервалов. Если Y – матрица, то выдаются данные по числу попаданий в ее столбцы;

N = hist(Y,M) – возвращает число попаданий для элементов вектора Y с центральными отчетами, заданными элементами вектора X;

[N,X] = hist(…) – возвращает числа попаданий в интервалы и данные о центрах интервалов;

 

hist(…) – с синтаксисом аналогичным приведенному выше, строит

график гистограммы.

 

 

 

 

 

 

 

 

 

Пример:

 

 

 

 

 

 

 

 

 

 

 

Построим гистограмму для 1000 случайных чисел и выведем вектор с

данными и числах их попаданий в интервалы, заданные вектором X.

» % Построение гистограммы для 1000 случайных чисел

» x=-3:0.2:3;

 

 

 

 

 

 

 

 

 

 

» y=randn(1000,1);

 

 

 

 

 

 

 

 

 

» hist(y,x);

 

 

 

 

 

 

 

 

 

 

 

» h=hist(y,x)

 

 

 

 

 

 

 

 

 

 

h =

 

 

 

 

 

 

 

 

 

 

 

 

Columns 1 through 12

 

 

 

 

 

 

 

 

0

0

3

7

8

9

11

23

33

43

57

55

 

Columns 13 through 24

 

 

 

 

 

 

 

 

70

62

83

87

93

68

70

65

41

35

27

21

Columns 25 through 31

 

 

 

 

 

 

 

 

12

5

6

3

2

1

0

 

 

 

 

 

 

 

100

 

 

 

 

 

 

 

 

 

 

 

 

90

 

 

 

 

 

 

 

 

 

 

 

 

80

 

 

 

 

 

 

 

 

 

 

 

 

70

 

 

 

 

 

 

 

 

 

 

 

 

60

 

 

 

 

 

 

 

 

 

 

 

 

50

 

 

 

 

 

 

 

 

 

 

 

 

40

 

 

 

 

 

 

 

 

 

 

 

 

30

 

 

 

 

 

 

 

 

 

 

 

 

20

 

 

 

 

 

 

 

 

 

 

 

 

10

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

-4

-3

 

-2

 

-1

0

 

1

2

3

4

Рис. 1.4

 

 

 

 

 

 

 

 

 

 

 

stairs

 

 

 

 

Построение лестничного графика функции

 

Лестничные графики представляют собой ступеньки, с огибающей,

представленной функцией y(x). Такие графики используются, например, для

отображения процессов квантования функции y(x), представленной рядом

своих отсчетов. При этом в промежутках между отсчетами значения функции

считаются постоянными и равными величине последнего отсчета.

Синтаксис функции:

stairs(Y) – строит лестничный график по данным вектора Y;

Источник: https://studfile.net/preview/16565812/