Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лабораторная работа / изучение системы MATLAB.doc
Скачиваний:
31
Добавлен:
22.02.2014
Размер:
728.06 Кб
Скачать

Функции прикладной численной математики

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

Полиномы в среде MATLAB полином задается и сохраняется в виде вектора, элементами которого являются коэффициенты полинома от an до а0 в указанном порядке: Р = [an…а2 а1 а0]. Операции с полиномами приведены в таблице 11.

Таблица 11. Операции с полиномами

Обозначение

Назначение

conv(p1,p2)

Умножение полиномов р1 и р2. Произведением двух полиномов степеней m и n называют полином степени n+m, коэффициенты которого определяются посредством простого перемножения этих полиномов

deconv(p1,p2)

Деление полинома р1 на полином р2. Данная функция определяет коэффициенты полинома, который является частным от деления р1 и р2

roots(p)

Данная функция позволяет получить вектор, элементы которого являются корнями заданного полинома р

poly(r)

Данная функция позволяет получить вектор коэффициентов полинома по заданному вектору его корней, где r – заданный вектор значений корней

polyval(p,x)

Данная функция вычисляет значения полинома по заданному значению его аргумента, где р – заданный вектор коэффициентов полинома, х – заданное значение аргумента

size(Y)

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

polyder(p1,p2)

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

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

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

Основной функцией, обеспечивающей построение графиков на экране дисплея , является функция plot. Общая форма обращения к ней:

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

где x1,y1 – заданные векторы, элементами которых являются массивы значений аргумента (x1) и функции (y1), отвечающие первой кривой графика; x2, y2 – массивы значений аргумента и функции второй кривой и так далее; s1, s2 – символьные переменные, способные содержать до трех символов, обозначающих тип линии, соединяющей отдельные точки графика, тип точки графика, цвет линии.

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

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

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

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

После этого построить график зависимости y(x):

>> plot(x,y).

Для вывода координатной сетки необходимо добавить процедуру grid. Заголовок графика выводиться с помощью процедуры title(‘текст’). Над графиком появиться текст, записанный между апострофами в скобках. Аналогично выводятся объяснения к графику, которые размещаются вдоль горизонтальной оси (функция xlabel) и вдоль вертикальной оси (функция ylabel).

Например, набрав последовательность ниже приведенных операторов можно получить график, представленный на рисунке 14:

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

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

>> plot(x,y), grid;

>> title (‘function y=3*sin(x+pi/3)’);

>> xlabel (‘x’); ylabel(‘y’);

Рисунок 14. График функции

Система MATLAB предоставляет возможность не указывать аргумент функции при построении графика. В этом случае в качестве аргумента система принимает номер элемента вектора, график которого строиться. Для построения графика вектора задают сам вектор, например х=[1 2 3 4] и функцию plot(х).

Вектор можно представить в виде столбцовой диаграммы с помощью функции bar(x).

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

Для построения графика гистограммы заданного вектора используется функция hist(y,x), где y – вектор, гистограмму которого нужно построить; х – вектор, элементы которого определяют интервалы изменения первого вектора.

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

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

Таблица 12. Функции, строящие графики в логарифмическом масштабе

Обозначение

Назначение

logspace(d1,d2,n)

Формирует вектор строку, содержащую n равноотстоящих в логарифмическом масштабе друг от друга значений в диапазоне от 10d1 до 10d2

loglog

Создает графики по обеим осям в логарифмическом масштабе

semilogx

Создает графики с логарифмическим масштабом по оси х

semilogy

Создает графики с логарифмическим масштабом по оси y

Например, нужно построить графики амплитудно-частотной и фазово-частотной характеристик звена, описываемого передаточной функцией:

Для этого нужно создать полином числителя передаточной функции Рс=[1 4] и полином знаменателя передаточной функции Pz=[1 4 100], затем определить корни этих полиномов. Затем следует задать диапазон изменения частоты, так, чтобы он охватывал вес найденные корни. Затем нужно задать количество точек графика и сформировать массив точек по частоте в логарифмическом масштабе, используя функцию logspace(d1,d2,n). Пользуясь функцией , можно вычислить сначала вектор комплексных значений числителя частотной передаточной функции, если в качестве аргумента функции polyval использовать сформированный вектор частот, элементы которого умножены на мнимую единицу. Аналогично вычисляется комплекснозначный вектор знаменателя частотной ПФ. Вектор значений амплитудно-частотной характеристики (АЧХ) можно найти, рассчитывая модули векторов числителя и знаменателя частотной ПФ и поэлементно деля полученные векторы. Чтобы найти вектор значений фазово-частотной характеристики (ФЧХ), нужно разделить поэлементно комплексные векторы числителя и знаменателя Частотной ПФ и определить вектор аргументов элементов полученного вектора. Для представления фазы в градусах, полученные результаты следует умножить на 180 и разделить на π. Для построения графика АЧХ достаточно применить функцию loglog, а для построения ФЧХ удобнее воспользоваться функцией semilogx. То есть:

>> P1 = [1 4]; P2 = [1 4  100];

>>roots(P1);

>>roots(P2);

>>om0=1e-2; omk=1e2;

>>OM=logspace(-2,2,41); p=i*OM;

>>ch=polyval(P1,p);zn=polyval(P2,p);

>> ACH=abs(ch)./abs(zn);

>>FCH=angle(ch./zn)*180/pi;

>>loglog(OM,ACH);grid

>>figure, semilogx(OM,FCH); grid

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

Рисунок 15. Амплитудно-частотная характеристика частотной ПФ

Рисунок 16. Фазово-частотная характеристика частотной ПФ

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

Команда text(x,y,’ ‘) позволяет расположить указанный текст в поле графика, при этом начало текста помещается в точку с координатами x и y. Значения указанных координат должны быть представлены в единицах величин, откладываемых по осям графика, и находиться внутри диапазона изменения указанных величин. Более удобно для размещения текста внутри поля графика использовать команду gtext(‘ ’), в результате вызова которой в активном графическом окне появляется перекрестие; его перемещение с помощью мыши позволяет указать место начала вывода указанного текста.

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

Для того, чтобы несколько последовательно вычисленных графиков были изображены в графическом окне в одном стиле, можно использовать команду hold on, тогда каждый график будет строиться в том же предварительно открытом графическом окне. Команда hold off выключает режим сохранения графического окна, установленного предыдущей командой.