авторефераты диссертаций БЕСПЛАТНАЯ БИБЛИОТЕКА РОССИИ

КОНФЕРЕНЦИИ, КНИГИ, ПОСОБИЯ, НАУЧНЫЕ ИЗДАНИЯ

<< ГЛАВНАЯ
АГРОИНЖЕНЕРИЯ
АСТРОНОМИЯ
БЕЗОПАСНОСТЬ
БИОЛОГИЯ
ЗЕМЛЯ
ИНФОРМАТИКА
ИСКУССТВОВЕДЕНИЕ
ИСТОРИЯ
КУЛЬТУРОЛОГИЯ
МАШИНОСТРОЕНИЕ
МЕДИЦИНА
МЕТАЛЛУРГИЯ
МЕХАНИКА
ПЕДАГОГИКА
ПОЛИТИКА
ПРИБОРОСТРОЕНИЕ
ПРОДОВОЛЬСТВИЕ
ПСИХОЛОГИЯ
РАДИОТЕХНИКА
СЕЛЬСКОЕ ХОЗЯЙСТВО
СОЦИОЛОГИЯ
СТРОИТЕЛЬСТВО
ТЕХНИЧЕСКИЕ НАУКИ
ТРАНСПОРТ
ФАРМАЦЕВТИКА
ФИЗИКА
ФИЗИОЛОГИЯ
ФИЛОЛОГИЯ
ФИЛОСОФИЯ
ХИМИЯ
ЭКОНОМИКА
ЭЛЕКТРОТЕХНИКА
ЭНЕРГЕТИКА
ЮРИСПРУДЕНЦИЯ
ЯЗЫКОЗНАНИЕ
РАЗНОЕ
КОНТАКТЫ


Pages:     | 1 | 2 ||

«1 Поволжский государственный университет телекоммуникаций и информатики Акчурин Э.А. Система компьютерной математики Scilab ...»

-- [ Страница 3 ] --

// Построение cos(x) endfunction Ниже три снимка окна при разных состояниях объектов ‘RadioButton’.

Примеры графиков:

7.1.4. Объект Edit Это простой однострочный редактор текста.

Листинг программы // GUI с редактором текста f=figure();

// Создание графического окна set(f,'figure_name','GUI Edit');

// Создание редактора hEdit=uicontrol('Style','edit','Position',[0,0,150,20],...

'BackgroundColor',[1,1,1]);

7.1.5. Объект Text Это поле для статического текста.

Листинг программы // GUI с полем текста f=figure();

// Создание графического окна set(f,'figure_name','GUI Text');

// Создание поля hEdit=uicontrol(f,'Style','text','Position',[10,10,150,60],...

'BackgroundColor',[1,1,1]);

set(hEdit,'string','My text');

// Текст в поле 7.1.6. Объект Slider Это ползунок, в котором выбирается значение в определенных пределах. Его свойства:

Свойство Значение Описание ‘Style’ Стиль ‘Slider’ ‘Position’ Позиция [x y w h] Вектор из 4 целых чисел:

x, y- координаты левого нижнего угла, w – ширина, h - высота ‘Min’ Минимум Целое число Левая граница ‘Max’ Максимум Целое число Правая граница ‘Value’ Значение Целое число Определяется положением ползунка ‘SliderStep’ Шаг [small big] Вектор из 2 целых чисел small - малый, при однократном щелчке, big - большой, при двойном щелчке.

‘callback’ Возврат Действие выполняемое при движении ползунка.

Программа создания объекта. В ней создаются два объекта: ‘Slider’ и текстовое поле ‘Text’ для вывода значения Value.

В свойстве ‘callback’ объекта ‘Slider’ предусмотрена функция set(), которая помещает в свойство ‘String’ ‘Text’ строку, полученную в результате применения функции string() к значению, извлеченному функцией get() из свойства ‘Value’ объекта ‘Slider’.

Листинг программы // GUI с ползунком f=figure();

// Создание графического окна set(f,'figure_name','GUI Slider');

// Создание области текста для вывода значения hF=uicontrol(f,'Position',[140,130,25,15],...

'Style','text',...

'String','50',...

'BackgroundColor',[1,1,1]);

hS=uicontrol(f,'Position',[10,130,120,15],...

'Style','Slider',...

'Min',0,'Max',100,'Value',50,...

'SliderStep',[2,10],...

'callback','set(hF,''String'',string(get(hS,''value'')))');

Ниже два снимка окна при разных положениях ползунка. Ползунок перемещается перетаскиванием мышью, либо щелчками по объекту вне ползунка.

7.1.7. Объект ListBox Объект содержит список тем, которые могут задаваться и выделяться.

Лисинг программы // GUI с ListBox f=figure();

// Создание графического окна set(f,'figure_name','GUI ListBox');

// Создание ListBox hLB=uicontrol(f,'Style','listbox','Position',[10,10,150,160]);

set(hLB,'String','item1 | Item2 | Item3');

// Заполнение списка set(hLB,'value',[1, 3]);

// Выделение в списке тем 1 и 7.1.8. Объект PopUpMenu Объект содержит список тем, которые могут выделяться и отображаться. При наведении мыши на пункт меню он выделяется цветом. При щелчке по нему левой кнопкой мыши отображается содержимое пункта Лисинг программы // GUI с выпадающим меню f=figure();

// Создание графического окна set(f,'figure_name','GUI PopUpMenu');

// Создание PopUpMenu hPmenu=uicontrol(f,'Style','PopUpMenu','Position',[10,160,60,30]);

set(hPmenu,'String','item1 | Item2 | Item3');

// Заполнение меню 7.1.9. Объект Frame 7.2. GUI and Dialogs Средства ГИП и диалогов предназначены для работы с графическим редактором Scilab.

Доступны следующие функции:

Функция Назначение addmenu Функция addmenu добавляет в меню графического редактора кнопку (button) или тему (item), а также ее выпадающее подменю.

delmenu Функция delmenu удаляет из меню графического редактора кнопку (button) или тему (item), а также ее выпадающее подменю.

browsevar Вызывает браузер переменных Scilab.

buttondialog Cоздает простое окно диалога с кнопкой.

config Вызывает окно конфигурации Scilab.

demoplay Интерактивный проигрыватель.

editvar Редактор переменной Scilab, переменная должна существовать.

getvalue xwindow диалог доступа.

halt Останов havewindow Возвращает режим окна Scilab.

progressionbar Рисует полосу прогресса.

seteventhandler Устанавливает дескриптор для текущего графического окна.

setmenu Активизация кнопки или интерактивного меню.

unsetmenu Деактивизация кнопки или интерактивного меню.

waitbar Рисует полосу ожидания.

whatis Вызов списка функций ГИП.

winclose Закрывает окна, созданные sciGUI winlist Возвращает идентификатор текущего окна, созданного sciGUI x_choises Интерактивный выбор независимых переключателей (toggle buttons).

x_choose Интерактивный выбор окна.

x_dialog Оконный диалог.

x_matrix Редактирование матрицы в окне.

x_mdialog Оконный диалог.

x_message Оконное сообщение.

x_message_modeless Сообщение в окне модели.

7.2.1. Функции addmenu, delmenu Функция addmenu добавляет в меню графического редактора кнопку (button) или тему (item), а также ее выпадающее подменю. Вызов функции:

addmenu(button [,submenus] [,action]) addmenu(gwin,button [,submenus] [,action]) Тема создается в меню, кнопка добавляется в панель инструментов. В вызове определены параметры:

gwin – номер графического окна. Если он пропущен, то понимается главное окно Scilab.

Button – строка с именем кнопки или темы.

Submenus – вектор со строками имен пунктов подменю. Может пропускаться, тогда тема не включает подменю.

Action – Обработчик. Action=list(flag,proc_name). flag=0, 1 или 2. Если flag=0, то proc_name – строка с именеь процедуры Scilab. Если flag=1, то proc_name – строка с именем процедуры на языках C или Fortran.. Если flag=2, то proc_name – строка с именем функции Scilab.

В примере в стандартное графическое окно добавляется пункт ‘Trigonom’ с подменю из двух пунктов ‘Sin’, ‘Cos’.

Обработчики этих пунктов используют процедуры plot(x,y1), plot(x,y2). Обработчики определены в строке 6. В ней использована переменная Trigonom_1. Имя этой переменной состоит из имени добавляемого пункта меню, символа подчеркивания и номера графического окна. Переменной ставится в соответствие вектор со строковыми ссылками на две процедуры, каждая ссылка помещается в апострофы.

Листинг программы // GUI с выпадающим меню scf();

// Создать графическое окно addmenu(1,'Trigonom',['Sin';

'Cos']);

// Пункт меню + Подменю x=0:0.1:2*%pi;

Trigonom=['plot(x,sin(x))';

'plot(x,cos(x))'];

// Обработчики Ниже пример выполнения. Сначала отображается окно с новым пунктом меню. После выбора пункта подменю рисуются графики.

Функция delmenu удаляет из меню графического редактора кнопку (button) или тему (item), а также ее выпадающее подменю. Вызов функции:

delmenu(button) delmenu(gwin,button) При работающем графическом окне примера задаем в консоли команду delmenu(1,’Trigonom’). Итог ниже:

7.2.2. Функция browsevar Вызывает браузер переменных Scilab. Вызов функции:

browsevar();

7.2.3. Функция config Вызывает окно конфигурации Scilab. Вызов функции config(). D jryt 3 pfrkflrb^ Display – дисплей.

Stack –стек.

ODE options – режимы решателя дифференциальных уравнений.

7.2.4. Функция buttondialog buttondialog – создает простое окно диалога с кнопкой.

Способ вызова:

answer=buttondialog(mes,buttons[,icon]) Параметры:

mes - строка, сообщение для отображения.

Buttons - строка, имя кнопки.

icon – строка, тип значка (возможны - error, hourglass, info, passwd, question, warning).

Примеры answ=buttondialog("This is an example","ok");

answ=buttondialog("Do the work?","yes|no|maybe","question");

7.2.5. Функция demoplay demoplay – интерактивный проигрыватель.

Вызов:

demoplay(filename) Параметры filename – строка имя файла.

7.2.6. Функция editvar editvar - редактор переменной Scilab, переменная должна существовать.

Способ вызова editvar varname Параметры varname – имя переменной. Переменная должна существовать в Scilab.

a=rand(10,10);

editvar a;

7.2.7. Функция getvalue getvalue – xwindow диалог доступа.

Способ вызова:

[ok,x1,..,x14]=getvalue(desc,labels,typ,ini) Параметры desc - вектор столбец из строк, комментарий диалога labels - вектор столбец из строк, labels(i) – имя требуемого значения typ : list(typ_1,dim_1,..,typ_n,dim_n) typ_i – определяет тип i-ого значения, возможны:

o "mat" : матрица "col" :вектор столбец "row" :вектор строкаr "vec" : вектор "str" : строка "lis" : спсиок o dim_i : определяет размер i-ого значения, целое или вектор из двух целых, по умолчанию 1.

ini : вектор столбец из строк, ini(i), получает отклик для i-ого значения ok : boolean,%t, если кнопка нажата, %f, при отмене нажатия кнопки xi : содержит i-ое значение, если ok=%t. Если левое значение содержит больше xi, чем требуется, то последнее xi содержит вектор из строк ответов.

labels=["magnitude";

"frequency";

"phase "];

[ok,mag,freq,ph]=getvalue("define sine signal",labels,...

list("vec",1,"vec",1,"vec",1),["0.85";

"10^2";

"%pi/3"]) 7.2.8. Функция halt halt - останов Вызов halt() 7.2.9. Функция havewindow havewindow – возвращает режим окна Scilab.

Способ вызова havewindow() 7.2.10. Функция progressionbar progressionbar – рисует полосу прогресса.

Способ вызова winId=progressionbar(mes) progressionbar(winId[,mes]) Параметры mes – строка, сообщение для дисплея.

winId – целое больше 0, идентификатор окна.

winId=progressionbar('Do something');

realtimeinit(0.3);

for j=0:0.1:1, realtime(3*j);

progressionbar(winId);

end 7.2.11. Функция seteventhandler seteventhandler – устанавливает дескриптор для текущего графического окна.

Способ вызова seteventhandler(sfun_name) seteventhandler('') 7.2.12. Функция setmenu setmenu – активизация кнопки или интерактивного меню.

Способ вызова setmenu(button [,nsub]) setmenu(gwin,button [,nsub]) Параметры button – строка символов, имя кнопки.

gwin – целое, номер графического окна, где кнопка установлена.

nsub – целое, номер подменю для активации (если есть). Если кнопка не имеет подменю, то nsub игнорируется.

7.2.13. Функция unsetmenu unsetmenu - деактивизация кнопки или интерактивного меню.

Способ вызова unsetmenu(button,[nsub]) unsetmenu(gwin,button,[nsub]) Parameters button – строка символов, имя кнопки.

gwin – целое, номер графического окна, где кнопка установлена.

nsub – целое, номер подменю для дезактивации (если есть). Если кнопка не имеет подменю, то nsub игнорируется.

7.2.14. Функция waitbar waitbar – рисует полосу ожидания.

Способ вызова winId=waitbar(x) winId=waitbar(x,mes) winId=waitbar(mes) waitbar(x,winId) waitbar(mes,winId) waitbar(x,mes,winId) Параметры x – вещественное, дробь для дисплея.

mes – строка, сообщение для дисплея.

winId – целое, идентификатор окна.

winId=waitbar('This is an example');

realtimeinit(0.3);

for j=0:0.1:1, realtime(3*j);

waitbar(j,winId);

end 7.2.15. Whatis Список функций GUI addmenu - interactive button or menu definition browsevar - Scilab variable browser buttondialog - Create a simple button dialog config - Scilab general configuration.

delmenu - interactive button or menu deletion demoplay - interactive demo player.

editvar - Scilab variable editor getvalue - xwindow dialog for data acquisition halt - stop execution havewindow - return scilab window mode keyboard - keyboard commands progressionbar - Draw a progression bar seteventhandler - set an event handler for the current graphic window setmenu - interactive button or menu activation unsetmenu - interactive button or menu or submenu de-activation waitbar - Draw a waitbar winclose - close windows created by sciGUI winlist - Return the winId of current window created by sciGUI x_choices - interactive Xwindow choices through toggle buttons x_choose - interactive Xwindow choice x_dialog - Xwindow dialog x_matrix - Xwindow editing of matrix x_mdialog - Xwindow dialog x_message - X window message x_message_modeless - X window modeless message 7.2.16. Функция winclose winclose – закрывает окна, созданные sciGUI Способ вызова winclose(winIds) Параметры winIds – матрица или целое большее 0, идентификатор окна.

7.2.17. Функция winlist winlist – возвращает идентификатор текущего окна, созданного sciGUI Способ вызова winIds=winlist() Параметры winIds – матрица или целое большее нуля, идентификатор окна.

7.2.18. Функция x_choices x_choices – интерактивный выбор независимых переключателей (toggle buttons).

Способ вызова rep=x_choices(title,items) Параметры title – строка, заголовок окна.

items – список тем в окне.

items=list(item1,...,itemn).

Каждая тема в списке включает имя темы – строка, число позиций в теме для выбора, целое число, вектор позиций выбора, это строки. Их число должно совпадать с числом позиций.

rep – возвращаемый вектор номеров в списке выбора, которые получает каждая тема при выборе в ней позиции, если пользователь завершает диалог кнопкой завершения. Если пользователь завершает диалог кнопкой отмены, то rep – пустой вектор.

Листинг программы // Функция выбора L1=list('choiсe 1',1,['toggle c1','toggle c2','toggle c3']);

L2=list('choiсe 2',2,['toggle d1','toggle d2','toggle d3']);

L3=list('choiсe 3',3,['toggle e1','toggle e2']);

rep=x_choices('Toggle Menu',list(L1,L2,L3));

7.2.19. Функция x_choose x_choose – интерактивный выбор окна.

Способ вызова [num]=x_choose(items,title [,button]) Параметры:

items – вектор-столбец строк, темы для выбора.

title – вектор-столбец строк, комментарии диалога.

button – строка, текст на дополнительной кнопке. По умолчанию 'Cancel' num – целое, номер выбранной темы или 0, если пользователь завершает диалог кнопкой отмены "Cancel".

Функция в диалоговом окне выводит список тем для выбора. Возвращается номер выбранной темы, если диалог завершен кнопкой завершения. Если пользователь завершает диалог кнопкой отмены, то возвращается 0.

Листинг программы // Функция интерактивного выбора n=x_choose(['Item1';

'Item2';

'Item3'],['That is comment'],'Return');

7.2.20. Функция x_dialog x_dialog – оконный диалог.

Способ вызова result=x_dialog(labels,valueini) Параметры:

labels : вектор столбец из строк, комментарии диалога.

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

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

Листинг программы // Функция оконного диалога gain=evstr(x_dialog('Value of gain?','0.235'));

x_dialog(['Method';

'Enter sampling period'],'1');

m=evstr(x_dialog('Enter 3x3 matrix',['0,0,0';

'0,0,0';

'0,0,0']));

7.2.21. Функция x_matrix x_matrix – редактирование матрицы в окне.

Способ вызова [result]=x_matrix(label,matrix-init) Параметры:

label – строка символов, имя матрицы.

matrix-init – вещественная матрица.

Листинг програмимы m=evstr(x_matrix('enter a 3x3 matrix ',rand(3,3))) 7.2.22. Функция x_mdialog x_mdialog – оконный диалог.

Способ вызова:

result=x_mdialog(title,labels,default_inputs_vector) result=x_mdialog(title,labelsv,labelsh,default_input_matrix) Параметры title – вектор-столбец из строк, общий комментарий диалога.

labels – вектор-столбец из строк, labels(i) – метка i-ого требуемого значения.

default_input_vector – вектор-столбец из строк, начальные значения.

labelsv – вектор из n строк, labelsv(i) – метка I - ой строки из требуемой матрицы.

labelsh – вектор из m строк, labelsh(j) - метка I - ого столбца из требуемой матрицы.

default_input_matrix : n x m матрица строк, default_input_matrix(i,j) по умолчанию это начальные значения элементов матрицы.

result : n x m matrix строк, если диалог завершен кнопкой "Ok" или [],если диалог завершен кнопкой "Cancel".

Листинг программы txt=['magnitude';

'frequency';

'phase '];

sig=x_mdialog('enter sine signal',txt,['1';

'10';

'0']) 7.2.23. Функция x_message x_message – оконное сообщение.

Способ вызова [num]=x_message(strings [,buttons]) Параметры:

strings – вектор строк для отображения.

buttons – строка символов или вектор из двух строк символов, которые специфицируют кнопки и их имена. По умолчанию "Ok".

num - число щелчков по кнопке (если определены 2 кнопки).

Листинг программы gain=0.235;

x_message('value of gain is :'+string(gain)) x_message(['singular matrix';

'use least squares']) 7.3. Функция x_message_modeless x_message_modeless – уменьшенное сообщение. Сначала отображается заголовок, а при щелчке по кнопке OK отображается содержание. Повторное нажатие Ok закрывает окно сообщения.

Способ вызова x_message_modeless(strings) Параметры:

strings – вектор строк символов для отображения.

x_message_modeless(['This is a modeless message' 'Scilab may continue computation' '' 'Click on ""Ok"" to close the message']) x_message_modeless('Now two message windows are opened') 8. SCILAB, Scicos 8.1. Введение Пакет моделирования объединенных объектов Scicos (Scilab Connected Object Simulator) служит для имитационного моделирования систем, состоящих из блоков с заданными свойствами (параметрами). Это функциональный аналог пакета Simulink в СКМ MATLAB.

В блоках Scicos используются сигналы:

Регулярные. Это сигналы данных.

Активизации. Они управляют работой блоков.

Блоки Scicos могут работать в режимах непрерывной или дискретной активизации. Первые не имеют входов активизации, вторые имеют их.

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

Блоки, работающие в дискретном режиме, имеют входы сигналов активизации, которые размещаются сверху блока.

Блоки, работающие в непрерывном режиме, не имеют входов сигналов активизации. Выходы сигналов активизации, генерируемых внутри специальных блоков, размещаются снизу блока. Порты активизации по умолчанию отображаются красным цветом. Входы и выходы регулярных сигналов размещаются слева и справа блока. Они по умолчанию отображаются черным цветом. При необходимости цвета можно изменить.

8.2. Базовые блоки в Scicos В Scicos возможны три типа базовых блоков:

Регулярные (Regular Basic Block - RBB).

С пересечением нуля (Zero Crossing Basic Block - ZBB). Это блоки генерации сигналов активизации.

Синхронные (Synchro Basic Block - SBB). Это блоки генерации сигналов активизации.

В RBB вычисляются значения сигналов. Эти блоки могут быть непрерывными и дискретными. Непрерывный блок активен всегда. Дискретный блок активизируется в моменты события на входе активизации, Между моментами активизации состояние блока не меняется.

В ZCBB на выходе активизации в моменты пересечения нуля значением регулярного сигнала генерируются сигналы.

В SBB сигналы активизации на выходах активизации синхронны с сигналами активизации на входах активизации 8.3. Библиотека блоков Scicos Блоки определены в библиотеке Scicos, которая разделена на подбиблиотеки разного назначения (источники сигналов, виртуальные регистрирующие приборы, графические средства анимации и др.).

Блок на диаграмме отображается прямоугольником с поясняющим рисунком и/или надписью. Определены категории блоков:

Блоки, работающие только с регулярными сигналами.

Блоки, работающие только с событиями.

Блоки регулярных сигналов, управляемые событиями.

Блоки регулярных сигналов, генерирующие события.

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

Направления передачи сигналов указываются стрелками. В браузере можно узнать подробности о блоке.

При конструировании диаграммы в редакторе блоки выбираются из браузера блоков, с помощью мыши переносятся в окно модели и соединяются друг с другом коннекторами. Двойной щелчок мышью на блоке модели выводит окно со списком параметров блока, которые пользователь может менять. При прогоне модели обеспечивается ее математическое моделирование с наглядным визуальным представлением результатов. Система Scicos автоматически составляет и решает уравнения состояния модели и позволяет подключать в нужные ее точки разнообразные виртуальные измерительные приборы.

Предусмотрено и моделирование сложных систем, состоящих из множества подсистем. Блоки, включающие вложенные блоки, называются суперблоками.

8.4. Редактор Scicos Для создания модели используется редактор, который вызывается из Scilab командой Scicos() в консоли или командой Applications=Scicos из главного меню. Библиотека Scicos содержит подбиблиотеки блоков разных предметных областей и назначения. Доступ к подбиблиоткам через команду из пункта Palette главного меню редактора.

Команда Palette=Palette отображает список подбиблиотек для выбора:

Вы можете выбрать подбиблиотеку, которая отображается в отдельном окне (см. ниже). Возможные подбиблиотеки:

Sources – источники.

Sinks – регистраторы.

Linear – линейные.

Non_Linear – нелинейные.

Matrix – матрицы.

Integer – целочисленные.

Events – события.

Threshold – пороги.

Other – другие.

Branching - ветвления.

Electrical - электротехника ThermoHydraulics – термогидравлика.

OldBlocks – старые блоки.

DemoBlocks – демонстрационные блоки.

Команда Palette=Pal Tree дает альтернативный доступ к блокам. Она отображает список подбиблиотек для выбора в виде иерархического дерева с раскрытием подбиблиотеки.

Перед выбором блока можно уточнить его назначение и свойства. Для этого нужно правой кнопкой мыши вызвать выпадающее меню, в котором выбрать команду Help (Справка). В результате отобразится фрагмент из браузера Scilab для этого блока. Например:

Ниже рассмотрены наиболее часто применяемые блоки.

8.5. Sources – источники Подбилиотека Sources содержит набор блоков источников:

Блок Функция Описание Sigbuilder Генератор сигнала. По векторам X,Y строится выходной сигнал Signal creator/generator методом интерполяции сплайнами. На выходе активизации генерируются сигналы в моменты пересечения нуля.

CLOCK_c Часы активизации. Используется для генерации сигнала Activation Clock активизации, используемого для задания периода повторения операции.

CLKINV_f Вход порта активизации в суперблоках для приема сигнала Input Activation Port активизации. Порты нумеруются с 1.

CONST_m Константа. Генерирует матричную константу любого типа..

Constant GENSIN_f Генератор синусоиды. Задаются амплитуда, частота в рад/сек и Sin Generator фаза.

GENSQR_f Генератор прямоугольного сигнала со скважностью 2. Период Square Wave Generator задается внешними часами активизации.

SAWTOOTH_f Генератор пилообразного сигнала. Управляется сигналами Sawtooth Generator событий на входе активизации. Генерирует сигнал со значением разности времени между текущим временем и временем предыдущего события до следующего события.

RAND_m Генератор случайных чисел. Закон распределения:

равномерный в интервале от A до A+B, Random Generator нормальный со средним значением A и девиацией B.

Возможны вещественные и комплексные числа.

CURV_f Ломанная линия. По векторам X,Y строится выходной сигнал Curve методом линейной интерполяции.

STEP_FUNCTION Генерирует переход между двумя уровнями в фиксированный Step Function Generator момент времени.

RAMP Линейно нарастающий сигнал. Задаются наклон, момент начала, Ramp начальное значение, Counter Счетчик. Считает события в интервале от минимального до Counter максимального значения, которые отображаются в значке, с заданным шагом.

Modulo_Count Дискретный блок. Генерирует периодический нарастающий с шагом Modulo Counter 1 сигнал в системе с заданным модулем (число значений).

Возможные значения модуля больше 3.

SampleCLK Часы времени отсчетов. Используется для синхронизации отсчетов Sample Time Clock во всех блоков диаграммы. Задают интервал дискретизации.

IN_f Входной порт в суперблоках для приема регулярного сигнала.

Input Port INIMPL_f Скрытый входной порт в суперблоках. Это ссылка на порт, от Input Implicit Port которого принимается регулярный сигнал.

TKSCALE Задает константу для интерактивного использования в TK виджете Constant for a TK widget (ползунке). Имеет значения от минимального до максимального.

READC_f Чтение бинарных данных из файла.

Read Binary Data READAU_f Чтение из звукового файла.

Read AU sound file RFILE_f Чтение из файла в бинарном или форматированном виде.

Read from input file FROMWSB Чтение данных из рабочей области Scilab в Scicos. Для данных Data from Scilab задаются имя, метод интерполяции.

workspace to Scicos TIME_f Генератор текущего времени (часы).

Time 8.6. Sinks – регистраторы Подбилиотека Sinks содержит набор блоков регистраторов (получателей) данных. Определены блоки:

Блок Функция Описание AFFICH_m Дисплей. Отображает текущее значение входа.

Display CMSCOPE Мульти экранный наблюдатель. Число входов можно изменять.

Multi Display Scope CSCOPE Одно экранный наблюдатель.

Single Display Scope CSCOPXY3D Постоянный наблюдатель z=f(x,y). При действии сигнала на входе Z=f(x,y) permanent событий отображает объемный график сигнала z на третьем viewer входе, как функцию сигналов x, y на двух первых входах.

CSCOPXY Постоянный наблюдатель y=f(x)). При действии сигнала на входе y=f(x) permanent viewer событий отображает график сигнала y на втором входе, как функцию сигнала x на первом входе.

CANIMXY3D Анимационный наблюдатель z=f(x,y). При действии сигнала на Z=f(x,y) animated viewer входе событий отображает объемный график сигнала z на третьем входе, как функцию сигналов x, y на двух первых входах.

CANIMXY Анимационный наблюдатель y=f(x). При действии сигнала на входе y=f(x) animated viewer событий отображает график сигнала y на втором входе, как функцию сигнала x на первом входе.

CMATVIEW Наблюдатель значений матрицы на плоскости с раскраской.

Matrix Colormapped viewer CMAT3D Наблюдатель значений матрицы объемный.

Matrix 3D viewer CEVENTSCOPE Наблюдатель сигналов событий.

Activation Scope CFSCOPE Наблюдатель плавающий. Отображается сигнал, задаваемый Floating point Scope ссылкой.

TOWS_c Запись данных в рабочую область Scilab.

Data to Scilab workspace WRITEC_f Запись бинарных данных в файл.

Write Binary Data WFILE_f Запись в файл в бинарном или форматированном виде..

Write to File WRITEAU Запись звукового файла.

Write AU sound file OUT_f Выходной порт в суперблоках для вывода регулярного сигнала.

Output Port OUTIMPL_f Скрытый выходной порт в суперблоках. Это ссылка на порт, к Output Implicit Port которому передается регулярный сигнал.

CLKOUTV_f Выход порта активизации в суперблоках.

Output Activation Port 8.7. Linear – линейные Подбилиотека Linear содержит набор блоков линейной обработки данных. Определены блоки:

Блок Функция Описание CLSS Непрерывная система пространства состояний.

Continuous state-space system SUMMATION Матричное суммирование или вычитание. Каждому входному порту Matrix summation присваивается знак. Можно использовать вещественные и комплексные числа.

INTEGRAL_m Интегрирование Integration SUM_f Сложение сигналов на трех входах.

Addition DERIV Дифференцирование.

Derivative PID Реализует PID контроллер, который вычисляет взвешенную сумму PID regulator текущего сигнала, суммы предыдущих значение и скорости изменения.

REGISTER Регистр сдвига.

Shift Register TIME_DELAY Задержка на фиксированное время.

Continuous Time Delay CLR Непрерывная функция передачи.

Continuous transfer function GAINBLK Усиление.

Gain SAMPHOLD_m Выборка и хранение.

Sample and Hold VARIABLE_DELAY Задержка на изменяющееся время. Первый вход регулярный Variable delay сигнал, второй – время задержки.

DLR Дискретная функция передачи.


Discrete transfer function DOLLAR_m Оператор задержки на один такт.

Delay operator CLINDUMMY_f Решатель обыкновенный дифференциальных уравнений, который Dummy анализирует пространство точек пересечения нуля.

DLSS Дискретная система пространства состояний.

Discrete state-space system 8.8. Non_Linear – нелинейные Подбилиотека Non_Linear содержит набор блоков нелинейной обработки данных. Определены блоки:

Блок Функция Описание EXPRESSION Математическое выражение на языке Scilab.

Mathematical expression SATURATION Насыщение. Верхний и нижний пределы задаются.

Saturation SIGNUM Знак числа. Выводятся -1, 0, 1.

Signum LOGBLK_f Y(i)=log(u(i))/log(a). Основание логарифма a – любое Log положительное число.

LOOKUP_f Просмотровая таблица.

Lookup table MAXMIN Поиск максимума или минимума по выбору.

Max and Min POWBLK_f Возведение в заданную степень a.

Pow PROD_f Умножение на Multiplication PRODUCT Умножение или деление.

Product OUANT_f Квантование.

Quantization ABS_VALUE Абсолютное значение.

Absolute value TrigFun Тригонометрическая функция. Выбирается из списка.

Trigonometric function EXPBLOK_m Экспонента.

Exp INTRPBLK_f Интерполяция.

Interpolation INTRP2BLK_f 2D интерполяция.

2D Interpolation 8.9. Matrix – матрицы Блок Функция Описание CUMSUM Кумулятивная сумма.

Cumulative Sum SQRT Квадратный корень из элементов матрицы.

Square root MATZREIM Декомпозиция комплексного числа на вещественную и мнимую Complex Decomposition части.

SUBMAT Выделение подматрицы.

Sub-matrix extraction MATDIV Деление матриц правое.

Matrix division MATINV Инверсия матрицы Matrix inverse MATCATV Вертикальная конкатенация матриц.

Vertical Concatenation MATSUM Сумма элементов матрицы.

Matrix Sum RICC Решение уравнения Риккати.

Equation de Riccati ROOTCOEF Вычисляет коэффициенты полинома по его корням.

Coefficient computation MATCATH Горизонтальная конкатенация матриц.

Horizontal Concatenation MATLU Факторизация квадратной матрицы на левую и правую.

LU Factorization MATBKSL Деление матриц левое Left matrix division MATZCONJ Сопряженная матрица.

Matrix Conjugate MATMAGPHI Комплексное = Модуль + Угол.

Complex to Magnitude and Angle Conversion EXTRACT Извлекает из матрицы элементы с заданными столбцами и Matrix Extractor строками.

MATEXPM Экспонента от матрицы.

Matrix Exponential MATDET Определитель матрицы.

Matrix Determinant MATPINV Псевдоинверсная матрица. Используется для неквадратной Matrix PseudoInverse матрицы.

EXTTRI Выделяет из квадратной матрицы левую, правую или диагональ.

Triangular or Diagonal extraction MATMUL Умножение матриц.

Matrix Multiplication MATTRAN Транспонирование матрицы.

Matrix Transpose MATSING Декомпозиция матрицы по алгоритму SVD.

MATSING SVD decomposition MATRESH Изменение размеров матрицы на меньшие.

Matrix Reshape MATDIAG Создание диагональной матрицы.

Create Diagonal Matrix MATEIG Вычисление собственных значений матрицы.

Matrix Eigenvalues 8.10. Integer – целочисленные Блок Функция Описание LOGIC Комбинационная логика. Задается таблица истинности Combinational logic DLATCH Захват данных. На выходе Q=1? Когда D=1 и С=1.

DLatch DFLIPFLOP D триггер.

D Flip-Flop JKFLIPFLOP JK триггер.

JK Flip-Flop DRFLIPFLOP RS триггер SR Flip-Flop BITCLEAR Стереть бит с заданным номером.

Clear bit BITSET Установить бит с заданным номером.

Set bit CONVERT Преобразование типов данных. В маске блока отображаются имена Convert to Int32 преобразуемых типов.

EXTRACTBITS Извлечь биты верхней половины.

Extract Bits Upper Half INTMUL Умножение целочисленных матриц.

Integer matrix Multiplication SHIFT Арифметический сдвиг. Бит знака стоит на месте.

Arithmetical Shift 8.11. Events – события Блок Функция Описание SampleCLK Sample Time Clock ESELECT_f Синхронный блок выбора событий, число которых задается. По Synchronous block входному событию синхронно генерируются выходные.

Event-Select CLKSOMV_f Объединение событий на входах (до трех) в одно.

Activation union CLOCK_c Часы событий.

Activation clock EVTGEN_f Генератор события в заданное время.

Event Generator EVTVARDLY Задержка события на фиксированное время.

Event variable delay M_freq Умножение частоты событий.

Multiple frequencies ANDBLK Логическое И для событий.

Activation and Freq_div Деление частоты событий.

Frequency division Останов.

HALT_f Halt ANDLOG_f Формирователь регулярного сигнала по логическому И для событий Logical and IFTHEL_f При возникновении события на входе генерируется событие на If in0 then else одном из выходов.

8.12. Threshold – пороги Блок Функция Описание NEGTOPOS_f Событие на выходе генерируется при смене сигнала на входе с - to + минуса на плюс.

POSTONEG_f Событие на выходе генерируется при смене сигнала на входе с + to - плюса на минус.

XCROSS_f Событие на выходе генерируется при пересечении нуля.

ZCross 8.13. Other – другие Блок Функция Описание ENDBLK Установка времени конца моделирования.

End AUTOMAT Конструктор гибридного автомата.

Automata DEBUG_SCICOS Отладка.

Debug LOGICAL_OP Логическая операция. Тип операции выбирается. Число входов Logical operation выбирается с учетом типа операции.

RELATIONALOP Логическое сравнение двух величин Relational Operation generic_block3 Генерирует выходную функцию с использованием имени функции.

Generic block MBLOCK Генерирует выходную функцию с использованием имени функции Modelica Generic block.с возможностью компиляции блока.

PDE Реализует несколько блоков с выбором в окне ГИП.

1D PDE RATELIMITER Ограничитель скорости.


Rate limiter BACKLASH Последствие. Изменение на входе повторяется на выходе.

Backlash DEADBAND Мертвая зона.

Dead band EXPRESSION Математическое выражение Mathematical expression CONSTRAINT_f Определяет скрытые математические отношения.

Constraint HYSTHERESIS Петля гистерезиса.

Hystheresis c_block Связь с языком С.

C language fortran_block Связь с языком Фортран.

Fortran SUPER_f Создаем суперблок.

Super Block scifunc_block_m Функция Scilab Scilab function CBLOCK Связь с новой версией языка С.

New C 8.14. Branching – ветвления Блок Функция Описание MUX Мультиплексер.

Multiplexer DEMUX Демультиплексер.

Demultiplexer NRMSOM_f Слияние данных. Сигнал на выходе принимается равным Merge data максимальному из ранее принятых.

EXTRACTOR Извлекает из множества входов один.

Extractor SELECT_m Селектор одного из двух входов.

Selector ISELECT_m Передает входной сигнал на один из выходов.

Selector M_SWITCH Много-портовый переключатель.

Multi-port switch RELAY_f Переключатель двух входов.

Relay ESELECT_f Генерация событий по правилу если … то … иначе… Event select SWITCH2_m Многопортовый переключатель.

Switch SCALAR2VECTOR Преобразования скаляра в вектор.

Scalar to vector SWITCH_f Переключатель. Блок с ручным управлением.

Switch EDGE_TRIGGER Генерирует события по перепадам регулярного сигнала.

EDGE Trigger block Extract_Activation Формирует сигнал события.

Extract Activation GOTO Передать регулярный сигнал к порту с меткой.

Go To FROM Принять регулярный сигнал от порта с меткой.

From GOTOMO Передать регулярный сигнал к порту с меткой в модели.

Pass block input to Используется при конструировании моделей блоков.

FROMMO block FROMMO Принять регулярный сигнал от порта с меткой в модели.

Receives data from Используется при конструировании моделей блоков.

GOTOMOFrom CLKGOTO Передать событие к порту с меткой.

Pass block CLKFROM Принять событие от порта с меткой.

Receives Data GotoTagVisibility Перейти к наблюдателю регулярного сигнала по ярлыку видимости.

Define Scope of GoTo tag visibility CLKGotoTagVisibility Перейти к наблюдателю события по ярлыку видимости Define Scope of GoToMo tag visibility GotoTagVisibilityMO Перейти к наблюдателю регулярного сигнала по ярлыку видимости.

Define Scope of Используется при конструировании моделей блоков.

GoToMo tag visibility 8.15. Electrical – электротехника Подбилиотека Electrical содержит набор блоков для построения электротехнических цепей. Определены блоки:

Блок Функция Описание Controllable Current Управляемый источник постоянного тока.

Source DC Voltage Source Источник постоянного напряжения.

Controllable Voltage Управляемый источник постоянного напряжения.

Source Ideal Transformer Идеальный трансформатор.

Gyrator Гиратор.

PNP transistor PNP транзистор.

NPN transistor NPN транзистор.

PMOS transistor PMOS транзистор.

NMOS transistor NMOS транзистор.

Ideal OpAmp Идеальный операционный усилитель.

Diod Диод.

Resistor Резистор.

Variable Resistor Переменный резистор.

Capacitor Конденсатор.

Inductor Индуктор.

Ground Заземдение.

Sine Voltage Source Источник синусоидального напряжения. Задаются амплитуда, частота, фаза.

Variable AC Voltage Управляемый источник переменного напряжения. Задается Source частота.

AC Voltage Source Источник переменного напряжения. Задаются амплитуда и частота.

Voltage Sensor Датчик напряжения между двумя точками.

Potencial Sensor Датчик потенциала (относительно земли).

Currentl Sensor Датчик потенциала (относительно земли).

Non-ideal Switch Неидеальный ключ. Задаются сопротивления в замкнутом и разомкнутом состояниях.

8.16. Свойства блоков Scicos В Scicos системные блоки разного типа:

Обычные блоки, выполняющие действие, описываемое функциями Sc[lab.

Суперблоки, включающие в себя иерархически организованные вложенные блоки.

Управляемые блоки, поведение которых задается внешними событиями.

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

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

Входы блока помечаются стрелками, входящими в блок.

Выходы блока помечаются стрелками, исходящими из блока.

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

Функция Rotate Left. Поворот на 450 против часовой стрелки.

Функция Rotate Right. Поворот на 450 по часовой стрелке.

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

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

9. Scilab, внешние интерфейсы В Scilab встроены интерфейсы для взаимодействия:

с программами, созданными на других языках программирования, с данными, которые совместно используются с другими программами, с периферийными устройствами, прямо связанными с Scilab.

9.1. Импорт и экспорт данных Вы можете ввести в Scilab данные из других программ разными способами:

Если данных немного (10-15), то самый лучший способ ввести их в командном окне вручную, как массив в квадратных скобках.

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

С помощью команды File=load (Загрузить), которая введет данные из файла данных, сохраненного командой File=Save.

Командой loadmatfile с опцией “-ascii” ввести выбранные данные в формате ascii (построчный текст).

Командой loadmatfile c опцией ”–mat” ввести выбранные данные в двоичном формате (по умолчанию).

Командой matfile2sci, которая преобразует matfile из скм MATLAB в бинарный файл Scilab с расширением.sci.

Командой savematfile c опцией ”–mat” сохранить выбранные данные в двоичном формате (по умолчанию).

С помощью низкоуровневых функций ввода/вывода Scilab. Они позволяют читать данные из файлов в разных форматах.

Вы можете вывести из Scilab данные во внешний мир разными способами:

Командой diary создать текстовый файл дневника сессии, из которого в любом текстовом редакторе извлечь данные. Это копия командного окна.

Командой File=save (Сохранить) главного меню сохранить все переменные сессии в двоичном формате.

Используется функция save_format. Создается файл с расширением *.sav или *.bin.

Командой savematfile с опцией “-ascii” сохранить выбранные данные в формате ascii (построчный текст).

Командой savematfile c опцией ”–mat” сохранить выбранные данные в двоичном формате (по умолчанию).

С использованием низкоуровневых функций ввода/вывода Scilab. Они позволяют писать данные в файлы в разных форматах.

Данные в двоичном формате сохраняются в SCI-файле, который называется так, потому что имеет расширение.sci.

Для работы с этим файлом в программах на других языках имеется библиотека функций (рекомендуется использовать их, а не писать свои коды):

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

Функция Назначение readxls Читает электронную таблицу Excel. Она конвертируется в структуру mlist.

xls_open Открывает электронную таблицу Excel для чтения.

xls_read Читает лист из электронной таблицы Excel.

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

Для использования в программах на языке С:

Функция Назначение mscanf Интерфейс с функцией scanf(format). Функция читает данные из командного окна Scilab, интерпретирует их в задаваемом формате и возвращает результат преобразования в C программу.

mfscanf Интерфейс с функцией fscanf(file, format). Функция читает данные из файла, интерпретирует их в задаваемом формате и возвращает результат преобразования в C программу.

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

sprintf Эмулятор функции sprintf языка C.

Для программ на языке Fortran можно использовать функции Функция Назначение read4b Читает матрицу MxN из бинарного файла программы на языке Fortran. Элементы матрицы – строки размером 4 байта.

readb Читает матрицу MxN из бинарного файла программы на языке Fortran. Элементы матрицы – строки размером 8 байт.

write4b Пишет матрицу MxN в бинарный файл программы на языке Fortran. Элементы матрицы – строки размером 4 байта.

writeb Пишет матрицу MxN в бинарный файл программы на языке Fortran. Элементы матрицы – строки размером 8 байт.

9.2. Преобразования MATLAB в Scilab Для пользователя, ранее работавшего с MATLAB можно в Scilab применить решения из MATLAB. Возможны два подхода:

Функции Scilab, эмулирующие функции MATLAB. Практически все основные функции MATLAB эмулируются в Scilab.

Инструментарий m2sci. С его помощью коды MATLAB превращаются в Scilab.

Для преобразования имеющихся.m файлов MATLAB в.sci файлы Scilab нужно использовать в главном меню Scilab команду Applications = m2sci. Она вызывает диалоговое окно:

В окне нужно выбрать опции преобразования:

Для исходника – выбрать каталог или один файл.

Для результата – задать каталог.

Флаг рекурсии.

Использовать ли только значения удвоенной точности.

Режим Verbose/ Генерировать коды, удобные для печати.

После выбора – кнопка Convert.

9.3. Вызов из Scilab объектов Java При установке Scilab включается виртуальная машина Java, так что при работе в Scilab напрямую доступны объекты этого языка (например, при работе в Интернет). Вы можете:

Создавать свои объекты Java.

Вызывать методы объектов Java, используя синтаксис Scilab и Java.

Осуществлять обмен данными между Scilab и объектами Java.

Интерфейс Java в Scilab обеспечивается классами и функциями:

Класс Назначение SciComplex Комплексные числа.

SciComplexArray Матрицы комплексных чисел.

SciDouble Числа с удвоенной точностью.

SciDoubleArray Матрицы чисел с удвоенной точностью.

SciString Строки.

SciStringArray Матрицы строк.

Scilab Класс Scilab.

javasci Инструментарий Scilab для интерфейса функций Scilab к объектам Java.

9.4. Последовательный порт ввода/вывода Позволяет иметь в Scilab прямой доступ к периферийным устройствам (принтер, модем, измерительные и научные приборы). Интерфейс работы с портом позволяет:

Конфигурировать последовательный порт.

Задавать правила использования выводов разъема порта.

Писать и читать данные через порт.

Использовать события и вызовы.

Записывать информацию на диск.

Последовательный порт может использовать стандарты RS-232 (чаще всего), RS-422 и RS-485.



Pages:     | 1 | 2 ||
 





 
© 2013 www.libed.ru - «Бесплатная библиотека научно-практических конференций»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.