<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://wiki.linuxformat.ru/wiki/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://wiki.linuxformat.ru/wiki/index.php?action=history&amp;feed=atom&amp;title=LXF108%3ASciLab</id>
		<title>LXF108:SciLab - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://wiki.linuxformat.ru/wiki/index.php?action=history&amp;feed=atom&amp;title=LXF108%3ASciLab"/>
		<link rel="alternate" type="text/html" href="http://wiki.linuxformat.ru/wiki/index.php?title=LXF108:SciLab&amp;action=history"/>
		<updated>2026-05-13T06:57:44Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.19.20+dfsg-0+deb7u3</generator>

	<entry>
		<id>http://wiki.linuxformat.ru/wiki/index.php?title=LXF108:SciLab&amp;diff=8528&amp;oldid=prev</id>
		<title>Yaleks: Новая: {{Цикл/SciLab‎}} == Scilab: Имитационное моделирование == : ''ЧАСТЬ 3 Одним из великих даров компьютерной эры явл...</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxformat.ru/wiki/index.php?title=LXF108:SciLab&amp;diff=8528&amp;oldid=prev"/>
				<updated>2009-08-24T13:42:48Z</updated>
		
		<summary type="html">&lt;p&gt;Новая: {{Цикл/SciLab‎}} == Scilab: Имитационное моделирование == : &amp;#039;&amp;#039;ЧАСТЬ 3 Одним из великих даров компьютерной эры явл...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Цикл/SciLab‎}}&lt;br /&gt;
== Scilab: Имитационное моделирование ==&lt;br /&gt;
: ''ЧАСТЬ 3 Одним из великих даров компьютерной эры является возможность увидеть невидимое и услышать неслышимое. '''Александр Бикмеев''' предлагает заглянуть в «черный ящик».''&lt;br /&gt;
&lt;br /&gt;
Не знаю, как вам, а мне всегда хотелось узнать и увидеть&lt;br /&gt;
недоступное: как выглядит черная дыра изнутри, где находится граница литосферы и магмы, на что была похожа&lt;br /&gt;
Вселенная за мгновение до Большого взрыва... да хотя бы что происходит с шариком (или мухой) в закрытой коробке, когда я ее трясу?&lt;br /&gt;
Благодаря Scilab и моим Учителям я могу проникнуть в эти тайны, но&lt;br /&gt;
рамки журнала не позволяют рассказать обо всем. Поэтому придется&lt;br /&gt;
проявить скромность и остановиться на коробке и шарике.&lt;br /&gt;
&lt;br /&gt;
То, чем мы собираемся заняться, называется компьютерным экспериментом в форме имитационного моделирования. Для этой цели&lt;br /&gt;
в системе Matlab есть Simulink, а в Scilab – Sciсos. Это инструмент&lt;br /&gt;
для моделирования динамических процессов с помощью функциональных блоков и связей между ними. Проще говоря, математическая модель изучаемого объекта или процесса составляется из&lt;br /&gt;
определенных блоков, а затем при помощи связей указывается, как&lt;br /&gt;
данные перемещаются от одного блока к другому. Да, то же самое&lt;br /&gt;
можно проделать, написав программу на встроенном языке, но если&lt;br /&gt;
уже есть готовые блоки, так почему бы не воспользоваться ими?&lt;br /&gt;
Кроме того, описание модели в виде диаграммы более наглядно и&lt;br /&gt;
информативно.&lt;br /&gt;
&lt;br /&gt;
Конечно, Scicos содержит не так много диаграмм, как Simulink,&lt;br /&gt;
однако для моделирования многих объектов и процессов, а особенно&lt;br /&gt;
для целей обучения он вполне подойдет.&lt;br /&gt;
&lt;br /&gt;
=== Ну-с, приступим ===&lt;br /&gt;
[[Изображение:LXF108 78 1.png|thumb|300px|Рис. 1. Так выглядит графический редактор Scicos и древо палитр блоков.]]&lt;br /&gt;
Scicos содержит графический редактор, представляющий собой окно,&lt;br /&gt;
в котором отображается диаграмма и отдельные окна палитр блоков.&lt;br /&gt;
Вызывается он командой scicos; (точку с запятой можно не ставить,&lt;br /&gt;
но тогда все окно Scilab будет заполнено служебной информацией).&lt;br /&gt;
По сути, окно графического редактора Scicos не очень-то и отличается от самого Scilab, но в нем нельзя вводить текст; вы также заметите,&lt;br /&gt;
что главное меню содержит несколько новых пунктов: Diagram (для&lt;br /&gt;
задания параметров всей диаграммы), Simulate (для компиляции,&lt;br /&gt;
определения параметров и запуска модели), Tools (инструменты для&lt;br /&gt;
различных служебных задач) и Palette (работа с палитрами функциональных блоков). Это графическое окно, и если белый фон навевает&lt;br /&gt;
на вас скуку, можете изменить его, щелкнув правой кнопкой мыши в&lt;br /&gt;
пустой области окна диаграммы и выбрав в появившемся меню пункт&lt;br /&gt;
Background color.&lt;br /&gt;
&lt;br /&gt;
Все блоки сгруппированы в палитры. Вывести любую из них можно, выбрав последовательно Palette &amp;gt; Palettes, а затем щелкнув на&lt;br /&gt;
требуемой панели в появившемся окне. Однако более удобно в работе древо палитр, поскольку в этом случае все блоки присутствуют на&lt;br /&gt;
экране одновременно (см. рис. 1): оно вызывается последовательным&lt;br /&gt;
выбором Palette &amp;gt; Pal tree.&lt;br /&gt;
&lt;br /&gt;
Блоки могут иметь различное число входов и выходов, называемых портами. Входной порт обозначается треугольником с углом,&lt;br /&gt;
направленным в блок, а порт-выход – с углом, направленным из&lt;br /&gt;
блока. Порты делятся на обычные (для ввода/вывода данных в/из&lt;br /&gt;
блока), которые отображаются черным цветом, и активационные или&lt;br /&gt;
управляющие (для ввода/вывода управляющей информации), отмечаемые красным цветом. Как правило, обычные порты расположены&lt;br /&gt;
по бокам блока, а управляющие – сверху и снизу.&lt;br /&gt;
&lt;br /&gt;
При составлении диаграммы вначале необходимо дважды щелкнуть на желаемом блоке, а затем перенести курсор мыши (он примет&lt;br /&gt;
вид иконки блока) в окно диаграммы и левым щелчком установить&lt;br /&gt;
блок в нужном месте. Позиция блока не фиксирована, то есть впоследствии, если потребуется, вы сможете переместить блок, не нарушая связи и сохранив его атрибуты. Блоки также можно поворачивать&lt;br /&gt;
и отражать: чтобы сделать это, щелкните на блоке правой кнопкой&lt;br /&gt;
мыши и выберите в появившемся меню один из трех пунктов: Rotate&lt;br /&gt;
Left (повернуть против часовой стрелки на 450), Rotate Right (повернуть по часовой стрелке на 450) или Flip (перевернуть, отразить).&lt;br /&gt;
&lt;br /&gt;
После переноса блоков их необходимо соединить между собой.&lt;br /&gt;
Для создания связи следует щелкнуть на треугольнике выходного&lt;br /&gt;
порта одного блока, а затем – на треугольнике входного порта другого. При этом будет создана прямая линия. Если вам необходимо создать ломаную, то каждую ее точку можно определить левым щелчком&lt;br /&gt;
в пустой области, точно так же, как при рисовании многоугольника в&lt;br /&gt;
OOo Draw. Когда вы, наконец, щелкнете на входном порту, редактор&lt;br /&gt;
постарается сделать углы вашей линии прямыми. Каждый входной&lt;br /&gt;
порт соединяется лишь с одним выходным портом. Если вам необходимо провести линии от одного блока ко многим, например, передать&lt;br /&gt;
одно и то же значение на вход нескольких расчетных блоков или синхронизировать несколько генераторов, то сначала проводится одна&lt;br /&gt;
связь, а затем от ее линии создаются ответвления. Для этого следует выполнить двойной щелчок в каком-либо месте связи и провести&lt;br /&gt;
дополнительную ветвь. Альтернативный вариант – использовать блоки MUX и DEMUX.&lt;br /&gt;
&lt;br /&gt;
Существует два вида связей: для передачи данных (черного цвета) и для передачи управляющей/временной информации (красного цвета). Пользователь может изменить цвета связей, но не цвет&lt;br /&gt;
входа/выхода блока: он четко указывает необходимый тип связи.&lt;br /&gt;
Следует также помнить, что обычный и управляющий порты соединить нельзя.&lt;br /&gt;
&lt;br /&gt;
Почти все блоки имеют изменяемые параметры, определяющие&lt;br /&gt;
обработку информации или поведение. Чтобы открыть окно с перечнем параметров, достаточно дважды щелкнуть на блоке левой кнопкой мыши.&lt;br /&gt;
&lt;br /&gt;
Как создаются диаграммы, надеюсь, понятно. Но как же выбирать&lt;br /&gt;
блоки для решения конкретной задачи и какие блоки с чем соединять? Вот в этом-то и заключается искусство экспериментатора. В&lt;br /&gt;
рамках данной статьи я не смогу описать назначение всех блоков&lt;br /&gt;
(читайте справку), но постараюсь объяснить базовые принципы.&lt;br /&gt;
&lt;br /&gt;
=== Что в черном ящике? ===&lt;br /&gt;
{{Врезка&lt;br /&gt;
|Заголовок=Немного истории&lt;br /&gt;
|Содержание=Sciсos – это часть&lt;br /&gt;
пакета Scilab,&lt;br /&gt;
распространяемая&lt;br /&gt;
совместно с ним.&lt;br /&gt;
Изначально она&lt;br /&gt;
разрабатывалась&lt;br /&gt;
Р. Никухой&lt;br /&gt;
[R. Nikoukhah] на&lt;br /&gt;
языке Scilab и не&lt;br /&gt;
имела графического интерфейса.&lt;br /&gt;
Позднее, для&lt;br /&gt;
первого официального релиза в&lt;br /&gt;
1994, разработчик&lt;br /&gt;
переписал имитатор на Fortran и&lt;br /&gt;
частично на C,&lt;br /&gt;
а С. Штеер&lt;br /&gt;
[S. Steer] разработал графический&lt;br /&gt;
редактор.&lt;br /&gt;
До конца 90-х&lt;br /&gt;
Sciсos развивался&lt;br /&gt;
медленно силами&lt;br /&gt;
студентов и&lt;br /&gt;
аспирантов. С 2000&lt;br /&gt;
года работа над&lt;br /&gt;
ним значительно&lt;br /&gt;
ускорилась благодаря контракту с&lt;br /&gt;
R&amp;amp;D. В частности&lt;br /&gt;
был разработан&lt;br /&gt;
новый имитатор&lt;br /&gt;
на С, расширены&lt;br /&gt;
типы данных, внедрен компилятор&lt;br /&gt;
Modelica, разработаны интерфейсы&lt;br /&gt;
взаимодействия с&lt;br /&gt;
внешними устройствами.&lt;br /&gt;
&lt;br /&gt;
Ключевую роль&lt;br /&gt;
в продвижении&lt;br /&gt;
Scicos сыграла&lt;br /&gt;
книга “Modeling&lt;br /&gt;
and Simulation in&lt;br /&gt;
Scilab/Scicos”,&lt;br /&gt;
вышедшая в издательстве Springer в&lt;br /&gt;
2006 году&lt;br /&gt;
(к сожалению, на&lt;br /&gt;
русский язык она&lt;br /&gt;
не переведена). В&lt;br /&gt;
2008 году для версии SciLab 4.1.2&lt;br /&gt;
был разработан&lt;br /&gt;
абсолютно новый&lt;br /&gt;
многооконный&lt;br /&gt;
графический&lt;br /&gt;
интерфейс и алгоритм компиляции,&lt;br /&gt;
кроме того, Scicos&lt;br /&gt;
был адаптирован&lt;br /&gt;
под лицензию GPL.&lt;br /&gt;
|Ширина=300px}}&lt;br /&gt;
[[Изображение:LXF108 79 1.png|thumb|300px|Рис. 2. Измененная диаграмма с заданным смещением коробки.]]&lt;br /&gt;
Прежде чем переходить к созданию диаграммы, следует построить&lt;br /&gt;
математическую модель, то есть записать уравнение или систему&lt;br /&gt;
уравнений, описывающих процесс, а также определить начальные&lt;br /&gt;
условия и внутренние константы. Scicos сможет решить поставленную перед ним задачу только при условии, что вы сами понимаете ее,&lt;br /&gt;
в противном случае не поможет и суперкомпьютер.&lt;br /&gt;
&lt;br /&gt;
Рассмотрим такой пример: в коробке находится несколько упругих шариков, и в какой-то момент времени мы начинаем наблюдать за ними. Для этого случая модель уже построена и включена в&lt;br /&gt;
демонстрационные примеры, поэтому в редакторе Scicos выберите&lt;br /&gt;
последовательно пункты меню ? &amp;gt; Demos, а затем, в появившемся&lt;br /&gt;
окне, укажите файл bounce.cosf. После этого в редакторе откроется&lt;br /&gt;
диаграмма, показанная на рис. 1. В ней всего три блока, так что разобрать ее труда не составит.&lt;br /&gt;
&lt;br /&gt;
Первый (имеющий вид красных часов) – это стандартный управляющий блок, без которого не обходится практически ни одна диаграмма. Он генерирует регулярные события, с заданным пользователем периодом. В данном случае он отсчитывает время, то есть подает&lt;br /&gt;
команду на пересчет системы и отрисовку текущего состояния через&lt;br /&gt;
определенные интервалы. Этот блок имеет всего два параметра:&lt;br /&gt;
Period – период генерации событий и init time – начальное значение&lt;br /&gt;
времени.&lt;br /&gt;
&lt;br /&gt;
Блок, с которым соединены часы, представляет собой инструмент анимации, подстроенный специально для данной задачи. (Есть&lt;br /&gt;
сходный инструмент, расположенный на палитре Sinks.) У него много параметров, и большая их часть задается векторами, размерность&lt;br /&gt;
которых совпадает с числом шариков. Они определяют цвета шариков, их радиусы и границы коробки.&lt;br /&gt;
&lt;br /&gt;
Ну, а третий блок осуществляет расчеты и выдает вектора координат. У него тоже много параметров, которые задают массу, радиус шариков, коэффициент аэродинамики, ускорение свободного&lt;br /&gt;
падения...&lt;br /&gt;
&lt;br /&gt;
Запустите модель на выполнение (Simulate &amp;gt; Run), и вы увидите,&lt;br /&gt;
что происходит в неподвижной коробке с несколькими шариками.&lt;br /&gt;
Хотите почувствовать разницу между Землей, Луной и Юпитером?&lt;br /&gt;
Измените параметр g (gravity) и посмотрите, как он влияет на поведение системы. Чтобы остановить выполнение, нажмите на кнопку Stop&lt;br /&gt;
в редакторе диаграмм (заметьте – не в окне с анимацией).&lt;br /&gt;
&lt;br /&gt;
Но в нашей задаче всего один шарик, и коробка движется.&lt;br /&gt;
Попробуем изменить данную модель в соответствии с новыми&lt;br /&gt;
условиями. Пусть коробка (и шарик) находятся в поле тяготения и&lt;br /&gt;
коробка совершает синусоидальные колебания вдоль горизонтальной оси, а также периодические со случайной амплитудой – вдоль&lt;br /&gt;
вертикальной.&lt;br /&gt;
&lt;br /&gt;
Добавим к открытой диаграмме описание смещения коробки, то&lt;br /&gt;
есть синусоидальное изменение координаты шарика х и синусоидальные изменения со случайной амплитудой координаты y. Посмотрите&lt;br /&gt;
результат на рис. 2.&lt;br /&gt;
&lt;br /&gt;
Блок с красным фоном описывает смещение коробки по оси х и&lt;br /&gt;
представляет собой генератор синусоидального сигнала с палитры&lt;br /&gt;
Sources. У него есть три параметра: Magnitude – максимальная по&lt;br /&gt;
модулю величина сигнала, в нашем случае это максимальное смещение коробки (установите 2); Frequency – частота колебаний (мы&lt;br /&gt;
выберем здесь значение 15); и phase – начальная фаза колебаний&lt;br /&gt;
(укажите 0).&lt;br /&gt;
&lt;br /&gt;
Блоки с зеленым фоном задают смещение коробки по вертикали. Первый из них – это просто генератор событий (красные часы),&lt;br /&gt;
который используется для выдачи случайного значения амплитуды&lt;br /&gt;
колебаний (установите значение period в 0.2). Далее идет сам блок-генератор случайных чисел (random generator). У него есть несколько&lt;br /&gt;
интересных нам параметров, например, flag – флаг, определяющий&lt;br /&gt;
как использовать параметры A и B:&lt;br /&gt;
* 0: A – это минимум, а максимальное значение равно A + B;&lt;br /&gt;
* 1: A – это среднее, а B – отклонение от среднего.&lt;br /&gt;
Установите flag равным 1, A – 0, B – 0,5. Ниже расположен знакомый нам генератор синусоиды. Укажите в нем следующие значения&lt;br /&gt;
параметров: Magnitude – 0.5, Frequency – 5. Затем случайное значение&lt;br /&gt;
амплитуды умножается на периодический сигнал (блок Product панели NonLinear) и прибавляется к координате y.&lt;br /&gt;
&lt;br /&gt;
Теперь нам осталось задать параметры расчета смещения шарика.&lt;br /&gt;
Дважды щелкаем на блоке Bouncing balls и устанавливаем следующие&lt;br /&gt;
значения: Mass – [1], radius – [1], [xmin,xmax,ymin,ymax] – [0;10;0;10];&lt;br /&gt;
xpos, xdpos, ypos, ydpos – 5. Файл диаграммы со всеми изменениями&lt;br /&gt;
(Ball_in_a_box1.cos) вы можете найти на LXFDVD в разделе Журнал.&lt;br /&gt;
&lt;br /&gt;
Чтобы посмотреть движение нескольких шариков, необходимо&lt;br /&gt;
изменить параметры блока Bouncing balls, указав для Mass, radius,&lt;br /&gt;
xpos, xdpos, ypos, ydpos вектора с числом элементов, равным количеству шариков. Но этого мало: необходимо также добавить в диаграмму перед блоками суммирования блок Scalar to vector с палитры&lt;br /&gt;
Branching. Ведь смещение коробки вдоль каждой оси есть скаляр,&lt;br /&gt;
а координаты нескольких шариков передаются в виде векторов.&lt;br /&gt;
Измененную диаграмму для этого случая (файл Ball_In_a_Box_1m.cos) вы также сможете найти на диске.&lt;br /&gt;
&lt;br /&gt;
Запустите модель на выполнение. Правда, похоже? Но шарик&lt;br /&gt;
вылетает за стенки коробки, а это неправильно! Так происходит&lt;br /&gt;
потому, что мы добавили смещение коробки к координатам уже при&lt;br /&gt;
выполнении анимации, а на расчет наши добавки никак не влияют.&lt;br /&gt;
&lt;br /&gt;
Таким образом, готовая модель не помогла нам точно описать&lt;br /&gt;
нашу систему даже после изменений. С другой стороны, хоть какой-то характер движения мы выяснили. Более того, надеюсь, вам стало&lt;br /&gt;
понятно, как применяются управляющие сигналы и как создаются&lt;br /&gt;
диаграммы. А это и есть наша главная цель.&lt;br /&gt;
&lt;br /&gt;
Создание более точной модели требует детального анализа системы, вывода уравнений ее состояния (что, в принципе, делается довольно просто), но самое главное и самое трудное – это собрать диаграмму&lt;br /&gt;
из блоков. Вот вам «домашнее задание»: попробуйте самостоятельно&lt;br /&gt;
получить уравнения и создать модель шарика в подвижной коробке,&lt;br /&gt;
и пришлите нам ваши результаты по адресу: [mailto:letters@linuxformat.ru letters@linuxformat.ru].&lt;br /&gt;
Небольшая подсказка: вы можете воспользоваться готовой демонстрационной диаграммой с именем Bouncing_ball.cosf.&lt;br /&gt;
&lt;br /&gt;
=== Суперигра ===&lt;br /&gt;
[[Изображение:LXF108 80 1.png|thumb|300px|Рис. 3. Главная диаграмма с суперблоком.]]&lt;br /&gt;
Вернемся к нашим диаграммам. Я думаю, вы понимаете, что диаграммы не всегда можно уместить на одном листе: зачастую они&lt;br /&gt;
бывают достаточно объемны, и их трудно отлаживать, а также обозревать. Некоторые блоки можно логически объединить в большие&lt;br /&gt;
суперблоки, со своими входами и выходами. Для этой цели в Scicos&lt;br /&gt;
существует специальный блок с именем SUPER_f. На рис. 3 приведен&lt;br /&gt;
пример «правильной» диаграммы для моделирования шарика в движущейся коробке, где части расчета координат x и y для шарика упакованы в суперблоки (мы-то уже решили эту задачку!).&lt;br /&gt;
&lt;br /&gt;
Создать суперблок можно двумя способами: обычным, т.е. просто перенести в диаграмму и затем наполнить его содержимым, и&lt;br /&gt;
путем преобразования уже имеющейся части диаграммы. Последнее&lt;br /&gt;
выполняется следующим образом: выделяем несколько блоков, а&lt;br /&gt;
затем последовательно выбираем пункты меню Diagram &amp;gt; Region to&lt;br /&gt;
Super block.&lt;br /&gt;
&lt;br /&gt;
Чтобы увидеть и изменить содержимое суперблока, достаточно щелкнуть дважды на его иконке. Открывшееся окно в системной строке-заголовке будет содержать текст SuperBlock, а кнопка&lt;br /&gt;
Simulate станет недоступной, поскольку запускать модель на выполнение можно только из главного окна.&lt;br /&gt;
&lt;br /&gt;
Каждый суперблок может содержать определенное число входных и выходных портов – как для данных, так и для управляющих&lt;br /&gt;
сигналов. Таким образом, суперблок – это своего рода подпрограмма,&lt;br /&gt;
и его можно отлаживать отдельно от основной части диаграммы, а&lt;br /&gt;
затем вставить в нее уже готовеньким.&lt;br /&gt;
&lt;br /&gt;
{{Врезка&lt;br /&gt;
|Заголовок=Перечень палитр блоков&lt;br /&gt;
|Содержание=&lt;br /&gt;
* Sources (источники) – блоки, представляющие собой источники данных или сигналов.&lt;br /&gt;
* Sinks (приемники) – блоки вывода или отображения данных.&lt;br /&gt;
* Linear (линейные) – базовые линейные операторы и подсистемы.&lt;br /&gt;
* Non_Linear (нелинейные) – нелинейные функции и подсистемы.&lt;br /&gt;
* Matrix (Матричные) – простые и сложные операции матричной алгебры.&lt;br /&gt;
* Integer (Целое) – различные операции для работы с целыми числами.&lt;br /&gt;
* Events (События) – блоки управления событиями в модели и синхронизации.&lt;br /&gt;
* Thresholds (Граница) – блоки для генерации событий при обращении входной величины в нуль.&lt;br /&gt;
* Others (Другие) – блоки различной направленности, от подключения программ на других языках программирования до решения уравнений в частных производных.&lt;br /&gt;
* Branching (Ветвление) – управление перемещением данных в ссылках.&lt;br /&gt;
* Electrical (Электричество) – базовые электрические блоки.&lt;br /&gt;
* ThermoHydraulics (Термодинамика) – основные элементы термодинамики.&lt;br /&gt;
* OldBlocks (Старые блоки) – старые версии блоков.&lt;br /&gt;
* DemoBlocks (Демо блоки) – блоки из демонстрационных примеров.&lt;br /&gt;
|Ширина=300px}}&lt;br /&gt;
Входной порт данных определяется блоком IN_f (палитра Sources),&lt;br /&gt;
а выходной – OUT_f (палитра Sinks). Для управляющих сигналов&lt;br /&gt;
используются CLKINV_f и CLKOUTV_f с соответствующих палитр.&lt;br /&gt;
Каждый входной или выходной порт суперблока должен иметь уникальный для своей группы номер, т.е. все входные порты данных&lt;br /&gt;
нумеруются с 1, все выходные также нумеруются с 1, и т.д. Во время&lt;br /&gt;
отладки суперблока в виде отдельной диаграммы входные и выходные блоки можно заменить некими тестовыми константами или&lt;br /&gt;
зависимостями.&lt;br /&gt;
&lt;br /&gt;
Scicos содержит также средства отладки, но программисты&lt;br /&gt;
сочтут их весьма и весьма убогими. Выбрав последовательно пункты&lt;br /&gt;
меню Simulate &amp;gt; Debug level, вы можете установить уровень режима&lt;br /&gt;
отладки:&lt;br /&gt;
* 0 нет отладки;&lt;br /&gt;
* 1 краткая отладочная информация;&lt;br /&gt;
* 2 подробная отладочная информация;&lt;br /&gt;
* 3 молчаливая отладка, то есть режим отладки включен, но информация не выводится.&lt;br /&gt;
&lt;br /&gt;
Вся отладочная информация отображается в окне Scilab, а не в&lt;br /&gt;
редакторе Scicos, так что не убирайте его далеко. Кроме изменения&lt;br /&gt;
режима отладки, вы можете перенести в суперблоки блок Debug&lt;br /&gt;
с палитры Others. Он вызывается первым при входе в суперблок и&lt;br /&gt;
может содержать скрипт на языке Scilab, позволяющий вам выполнить те или иные действия. По умолчанию в нем стоит команда pause,&lt;br /&gt;
приостанавливающая процесс выполнения.&lt;br /&gt;
&lt;br /&gt;
В заключение хочется вновь сказать, что пусть Simulink удобнее,&lt;br /&gt;
имеет больше возможностей и широко известен, а потому для него&lt;br /&gt;
существует обширная документация, но он очень дорого стоит. Scicos&lt;br /&gt;
намного моложе и пока что неказист, и не может составить серьезную конкуренцию своему более именитому собрату. Однако я думаю,&lt;br /&gt;
что со временем все изменится. Число членов консорциума Scilab&lt;br /&gt;
растет все быстрее и быстрее, благодаря ужесточению законодательства в нашей стране все больше людей смотрят в сторону Scilab/Scicos, а для свободного ПО это автоматически приводит к увеличению числа разработчиков. Присоединяйтесь и вы! Помните, что даже&lt;br /&gt;
если вы не программист и плохо разбираетесь в каких-то моментах,&lt;br /&gt;
вы всегда можете внести посильную лепту путем перевода или написания документации, а ее катастрофически не хватает.&lt;/div&gt;</summary>
		<author><name>Yaleks</name></author>	</entry>

	</feed>