русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Plot(x,y)


Дата добавления: 2015-06-12; просмотров: 971; Нарушение авторских прав


 

В результате на экране появится дополнительное окно с графиком.

Графики имеют несколько недостатков:

- на них не нанесена сетка из координатных линий, что затрудняет «чтение» графиков;

- нет общей информации о кривых графика (заголовка);

- неизвестно, какие величины отложены по осям графика.

Первый недостаток устраняется с помощью функции grid. Если эту функцию записать сразу после обращения к функции plot.

Ценной особенностью графиков построенных в системе MatLAB, является то, что сетка координат всегда отвечает «целым» шагам изменения, что делает графики «читабельными», т.е. по графику можно производить «отсчет» значения функции при любом заданном значении аргумента и наоборот. Таким свойством не обладает большинство графических пакетов – приложений к языкам программирования высокого уровня.

Заголовок графика выводится с помощью процедуры title. Если после обращения к процедуре plotвызвать title таким образом:

 

Title (‘<текст>’)

 

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

Аналогично можно вывести пояснение к графику, которые размещаются вдоль горизонтальной оси (функция xlabel) и вдоль вертикальной оси (функция ylabel).

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

 

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

 

7.2 Специальные графики.

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



Пользуясь этим можно построить график любого вектора.

Более наглядным является представление вектора в виде столбчатой диаграммы с помощью функции bar.

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

Еще одна полезная инженеру функция – hist (построение графика гистограммы заданного вектора). Стандартное обращение к ней имеет вид:

Hist (y,x)

Где y – вектор, гистограмму которого нужно построить; x – это вектор, определяющий интервалы изменение первого вектора, внутри которого подсчитывается число элементов вектора y. Эта функция производит две операции.

- подсчитывает число элементов вектора y, значение которых попадают внутрь диапазона, указанного вектором x ;

- строит столбчатую диаграмму подсчитанных чисел элементов вектора y как функцию указанных вектором x диапазонов. В качестве примера рассмотрим построение гистограммы, случайных величин, которые формируются встроенной функции randn.

Возьмем общее число элементов вектора случайных величин 10000. Построим гистограмму для диапазона изменения этих величин от –3 до+3 с шагом 0.1.

Тогда график функции можно построить:

X = -3:0.1:3

Y = randn(10000,1)

Hist(y,x)

Ylabel (‘число с 10000’)

Xlabel(‘аргумент’)

Title(‘гистограмма нормального распределения’)

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

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

Функция logspase с обращением:

X=logspase (d1, d2, n)

формирует вектор-строку x, содержащую n равноотдаленных в логарифмическом масштабе друг от друга точек, которые покрывают диапазон от до .

Функция LogLog полностью аналогична функции plot, но графики по обеим осям строятся в логарифмическом масштабе. Для построения графиков, использующих логарифмический масштаб только по одной из координатных осей, пользуются процедурами similogx и semilogy. Первое процедура строит графики с логарифмическим масштабом вдоль горизонтальной оси, вторая – вдоль вертикальной оси. Обращение к последним трем процедурам полностью аналогична обращению к функции plot.

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

 

W(p)=

Для этого следует, во-первых, создать векторы-полиномы числителя Pc= [1 4] и знаменателя Pz = [1 4 100] передаточной функции.

Во-вторых, определить корни этих двух полиномов (сделать самостоятельно).

В-третьих, задать диапазон изменения частоты таковым, чтобы он охватывал все найденные корни.

Om0=1e-2; omk=1e2

Затем задать количество точек графика n = 41

И сформировать массив точек по частоте ОМ = logspase(-2,2,41), где значения –2 и 2 соответствуют десятичным порядкам начального (om0) и конечного (omk) значений частоты.

Пользуясь функцией polyval, можно вычислить сначала вектор ch комплексных значений числителя частотой передаточной функции, соответствующей заданной передаточной функции, если в качестве аргумента функции polyval использовать сформированный вектор частот ОМ, элементы которого умножены на мнимую единицу. Аналогично вычисляются комплекснозначный вектор zn знаменателя ЧПФ.

Вектор значений АЧХ (амплитудно-частотной характеристики) можно найти, вычисляя модули векторов числителя и знаменателя ЧПФ и деля поэлементно полученные векторы. Чтобы найти вектор значений ФЧХ (фазо-частотной характеристики) надо разделить поэлементно комплекснозначные векторы числителя и знаменателя ЧПФ и определить вектор аргументов элементов полученного вектора.

Чтобы фазы представить в градусах, полученные результаты следует умножить на 180 и разделить на π.

Для построения графика АЧХ в логорифмическом масштабе, достаточно применить функцию LogLogа для построения ФЧХ удобнее воспользоваться функцией semilogs.

Последовательность действий может быть такой:

ОМ = logspase(-2,2,41)

Ch = polyval (P1*i*OM);

Zn= polyval (P2*i*OM);

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

Loglog(OM,ACH);

Grid;

Title(‘график амплитудно-частотной характеристики’)

Xlabl(‘частота’)

Ylabl(‘отношение амплитуд’)

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

Semilogx(OM,FCH);

Grid,

Title(‘Фазо-частотная характеристика’),

Xlabl(‘частота’)

Ylabl(‘фаза(градусы)’)

7.3. Дополнительные функции графического окна

Обычно графики, получаемые с помощью процедур plot, loglog, semilogx, semilogy,автоматически строятся в таких масштабах, чтобы в поле графика поместились все вычисленные точки, включая максимальные и минимальные значения аргумента и функции. Но MatLAB не имеет возможности определения и других режимов масштабирования. Это достигается за счет использования процедуры axis.

Команда axis ([xmin xmax ymin ymax])устанавливает жесткие границы поля графика в единицах величин, откладываемых по осям.

Команда axis(‘auto’) возвращает масштабы по осям к их штатным значениям (принятым по умолчанию).

Команда axis(‘ij’)перемещает начало отсчета в левый верхний угол и реализует отсчет от верхнего левого угла (матричная система координат).

Команда axis(‘xy’) возвращает декартову систему координат с началом отсчета в левом нижнем углу.

Команда axis(‘sqare’) устанавливает одинаковый диапазон изменения переменных по осям графика.

Команда axis(‘equal’) обеспечивает одинаковый масштаб по обеим осям графика.

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

Обращение к этой процедуре должно предшествовать обращению к процедурам plot, loglog, semilogx и semilogy и выглядеть так:

Subplot (m, n, p)

Здесь м указывает, на сколько частей делится графическое окно по вертикали, n – по горизонтали, а p – является номером подокна, в котором будет строиться график. Подокна нумеруются слева направо, сверху вниз (так, как читается текст книги).

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

Более удобно для размещения текста внутри поля графика является использование команды gtext (‘<текст>’), с помощью которой в активном графическом окне высвечивается перекрестие. Перемещая перекрестие с помощью мыши, можно указать место начала вывода указанного текста. Нажатием левой кнопки мыши или любой клавиши текст вводится в указанное место.

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

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



<== предыдущая лекция | следующая лекция ==>
Операции с полиномами | Порядок выполнения работы.


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.16 сек.