Базовые средства матпакета Scilab
.pdfРис.1.4.1-28. Построение графика синусоидального напряжения
Построить график дискредитированного синусоидального напряжения ( ) = ( )B.тактовый период примем равнымT=0.1с,
n=[0…63](рис.1.4.1-29).
--> exec("РИС14129.sce", 0)
111
Рис.1.4.1-29. Построить график дискредитированного синусоидального напряжения
Построить в полярной системе координат график функции
= sin( )√|cos( ) -2sin(t)+2 (рис.1.4.1-30). sin( )+75
--> exec("РИС14128.sce", 0)
112
Рис. 1.4.1-30 Построение графика функции в полярной системе координат
Построить график функции корреляции случайного процесса
(рис.1.4.1-31).
--> exec("РИС14131.sce", 0)
113
Рис. 1.4.1-31 Построение графика функции корреляции случайного процесса
--> exec("РИС14132.sce", 0)
114
Рис. 1.4.1-32 Построение графика функции амплитудного спектра частотпрямоугольного импульса
Построить график сигнала амплитудной модуляции с одним тоном(рис.1.4.1-33).
-->exec("РИС14133.sce", 0)
115
Рис. 1.4.1-33 Построение графика функции плотности вероятности случайного процесса
116
Построение простых геометрическихформ
Кроме функций, представленных как аналитически, так и таблично иногда необходимо нарисовать в графическом окне простейшие геометрические фигуры. Это легко можно реализовать функцией plot.
В качестве содержательного примера рассмотрим следующую задачу: Построить в графическом окне графическую фигуру ромб,
изображенную на рис. 1.4.1-34. Затем задать координаты нескольких точек, а затем отметить их попадания в заданную область красной звездочкой и непопадания их в заданную область черной точкой.
B
-1 A
-1
Рy |
|
|
и |
1 |
|
с |
|
|
.0 |
C |
x |
|
||
|
1 |
|
1 |
D |
|
. |
|
|
|
|
|
4 |
|
|
.1-34.Ромб в системе координат x-y
Проведем формализацию поставленной задачи: Для этого запишем уравнение прямых – AB, BC, CD, DA:
AB: x-y=-1; BC: x+y=1; CD: x-y=1; DA: x+y=-1.
Для того, чтобы точкаMс координатами(x,y)принадлежала замкнутой заштрихованной области, необходимо выполнить следующие условия:
x-y -1
x-y 1
x y 1x y -1
|x-y| 1
|x y|
1
.
На Рис. 1.4.1-35 приведено решение поставленной задачи с помощью функции Fromb и ее решение.
117
exec("РИС14135.sce", 0)
Рис. 1.4.1-35. Пример построение фигуры ромб
В Scilabимеются высокоуровневые средства для построения простейших геометрических фигур:
arg_ properties — описание свойств объекта дуги;
rectangle properties—описание прямоугольника свойство сущности;
segs_properties — описание свойств объекта сегментов;
xarc—рисование части эллипса;
xarcs—рисованиечасти набора эллипсов;
xarrows — рисованиенабор стрелок;
xfarc—заливка части эллипса;
xfarcs—заливка частей набора эллипсов;
118
xfrect— заливка прямоугольника;
xrect—рисованиепрямоугольник;
xrects—рисованиеили заливки набора прямоугольников;
xsegs—рисованиенесвязанных сегментов.
1.4.2.Низкоуровневая графические средства
иосновные графические объектов
Иерархия графических объектов
В |
Scilab |
графические |
окна |
и |
их |
содержимое |
представлены иерархическими объектами. Верхний |
уровень |
иерархии– |
||||
этоfigure(Графическое окно). |
|
|
|
|
||
Каждое графическое окно (figure) определяет по меньшей мере одного |
потомка – объектaxes(Оси). В свою очередь каждый объект axes содержит набор наследуемыхобъектов двух типов. Первый тип представляет объекты, которые являются основными графическими объектами для отображения 2D и
3Dграфиков |
и |
различных |
геометрических |
фигур, |
например, polylines (Ломанные |
линии),rectangles |
(Прямоугольники),arcs (Дуги), segs (Сегменты),compound(Склеивание, Соединение) и другие [13]. Второй тип представляет объекты для построения графического интерфейса пользователя (GUI), к которым в первую очередь относится объект uicontrol, позволяющий создавать графические интерактивные компоненты такие как ползунки, числовые поля, изменяемые кнопкой мыши, редактируемые таблицы, редактируемые текстовые поля в графических элементах, флажки, группы кнопок, выпадающие списки, выпадающие меню кнопки и др. Все эти объекты являются прямыми потомками объектаfigure, в которой они определены. Их свойства могут быть установлены и настроены через их указатели, как и для других графических объектов.
Главное в низкоуровневом графическом режиме заключается в том, чтобы сделать обмен свойствами графических объектов проще и эффективно. Этот графический режим имеет набор графических функций низкого уровня, используемых для управления свойствами объектов, такими, как данные, координаты и масштабирование, цвет и вид без необходимости повторять команды инициализации графики.
Все графические объекты, в том числе и figure, связаны между собой переменными Scilab, имеющими тип handle (Дескриптор). Дескриптор – это уникальный идентификатор (указатель), который связан с каждым экземпляром созданного графического объекта. Используя этот дескриптор,
119
можно добраться |
до |
свойств |
конкретного |
объекта |
используя |
||
функции set и get. |
|
|
|
|
|
|
|
Как известно |
все графики |
в Scilab |
строятся |
в |
так |
||
называемых графических |
окнах |
–Figure, |
каждое |
из которых |
имеет |
идентификационный номер, который является дескриптором графического
окна (handle).
Рисование – это сложный процесс, который заключается в создании различных объектов в терминах объектно-ориентированного программирования. Например, сначала создается графическое окно – объектFigure, которое затем порождает потомков – объектыChildrenв виде объектовAxes(оси, которые отображаются на экране). У осей тоже есть потомки – линии графика функций, которые к ним привязываются.
Таким образом, каждое графическое окно в Scilab – это отдельный графический объект, обладающие большим набором свойств (Figureproperties), которые отвечают за его внешний вид, а также содержащий множество подчиненных объектов, наследующие его свойства. При построении графиков происходит неявное обращение к рабочей области графического окна, когда, например, отображаются оси, наносится сетка, помечаются точки или эти точки соединяются отрезками прямых линий и т.д. Для построения графиков в системе есть множество предопределенных высокоуровневых функций, которые выполняют всю работу в графическом окне (п. 1.4.1).
На втором уровне иерархии находятся графические объектыAxes(Оси),
которые |
обладают свойствами (Axes |
properties), позволяющими изменять |
|||
координаты и тип осей, |
а также |
значения |
параметров по |
умолчанию |
|
для создания объектов следующего уровня. |
|
|
|||
У |
каждого объектаAxes два потомка: |
объектыCompound |
(Составной |
||
объект) и Legend (Пояснения-Легенда). |
|
|
|
||
ОбъектLegendпредставляет собой список графических объектов |
|||||
третьего |
уровня |
иерархии. Эти |
объекты |
обладают |
свойства(Legendentityproperties), которые указывают на тип линии, символы маркеров и их цвета.
ОбъектCompound |
(Составной |
объект) |
определяет |
взаимозависимости различных графических |
объектов и их |
глобальное |
свойство – отображение (видимость), в том числе объектов следующего уровняPolyline (Полилинии) – это ломанные линии отображающие графики, окружности, квадраты и др., которые устанавливают2D и 3D свойства(Polyline properties) рисования графиков, фигур и поверхностей.
Например, одно из свойствPolyline properties – Visible,
устанавливающее видимость графика, принимает значение on или off. А, например, другое свойство – Thickness, указывающее ширину линии в пикселях, принимает значение положительного числа.
120