- •1 Введение
- •1.1 О данном руководстве
- •1.2 Обзор пакета Scilab
- •1.3 Как получить дистрибутив и установить Scilab
- •1.3.1 Установка Scilab в Windows
- •1.3.2 Установка Scilab в Linux
- •1.3.3 Установка Scilab в Mac OS
- •1.4 Как получить помощь
- •1.5 Списки рассылки, wiki и отчеты о дефектах
- •1.6 Демонстрационные примеры Scilab
- •1.7 Упражнения
- •2 Основы работы в Scilab
- •2.1 Консоль Scilab
- •2.2 Встроенный редактор скриптов
- •2.3 Расположение панелей
- •2.5 Пакетная обработка
- •2.6 Упражнения
- •3 Основные элементы языка Scilab
- •3.1 Определение вещественных переменных
- •3.2 Имена переменных
- •3.3 Комментарии и продолжение строки
- •3.4 Элементарные математические функции
- •3.5 Предопределенные математические константы
- •3.6 Логический тип
- •3.7 Комплексные числа
- •3.8 Целые числа
- •3.8.1 Обзор целых чисел
- •3.8.2 Преобразование целых типов
- •3.8.3 Выход за пределы диапазона и проблемы переносимости
- •3.9 Целые числа и числа с плавающей точкой
- •3.10 Переменная ans
- •3.11 Строки
- •3.12 Динамическая типизация переменных
- •3.13 Упражнения
- •4 Матрицы
- •4.1 Обзор
- •4.2 Создание вещественных матриц
- •4.4 Определение размера матрицы
- •4.5 Работа с элементами матрицы
- •4.8 Динамическое изменение размера матрицы
- •4.10 Арифметические операции
- •4.11 Поэлементные операции
- •4.12 Эрмитово сопряжение и транспонирование
- •4.13 Умножение векторов
- •4.14 Сравнение вещественных матриц
- •4.15 Числа с плавающей точкой в качестве индексов
- •4.16 Еще об элементарных функциях
- •4.17 Высшая алгебра и другие возможности Scilab
- •4.18 Упражнения
- •5 Операторы ветвления и цикла
- •6 Функции
- •6.1 Обзор
- •6.2 Создание собственной функции
- •6.3 Библиотеки функций
- •6.4 Управление выходными переменными
- •6.5 Уровни стека вызовов
- •6.7 Отладка функций. Инструкция pause
- •7 Построение графиков
- •7.1 Обзор графических возможностей Scilab
- •7.2 Отображение двухмерных графиков
- •7.3 Контурные графики
- •7.4 Подписи на графиках
- •7.5 Экспорт изображений
- •8 Заключение
- •9 Благодарность
- •10 Ответы к упражнениям
- •Список литературы
-e инструкция |
выполнить инструкцию |
|
|
-f файл |
выполнить скрипт, записанный в файле |
-l язык |
выбрать язык интерфейса: fr для французского, en для ан- |
|
глийского, ru для русского. По умолчанию языком интерфей- |
|
са является английский. Для установки языка по умолчанию, |
|
используемого при загрузке Scilab без задания параметра -l, |
|
применяется команда setdefaultlanguage. После выполнения |
|
этой команды программу необходимо перезапустить. Команда |
|
getlanguage позволяет узнать, какой язык используется про- |
|
граммой в данный момент. |
|
|
-mem N |
установить начальный размер стека равным N байт |
|
|
-ns |
отключить выполнение скрипта scilab.start при загрузке |
|
Scilab |
|
|
-nb |
отключить вывод приветствия Scilab |
|
|
-nouserstartup |
отключить выполнение пользовательских стартовых скриптов |
|
SCIHOME/.scilab (в Linux и Mac OS) или SCIHOME/scilab.ini |
|
(в Windows) |
|
|
-nw |
запустить Scilab в режиме командной строки с подключением |
|
дополнительных возможностей (например отображения графи- |
|
ков) |
-nwni |
запустить Scilab в режиме командной строки без дополнитель- |
|
ных возможностей |
-version |
отобразить текущую версию Scilab и завершить работу |
|
|
Таблица 1. Параметры командной строки Scilab.
--> exec (" myscript . sce ")
--> disp (" Hello World !") Hello World !
На практике при отладке сложных алгоритмов в интерактивном режиме чаще всего используется комбинация вызовов функций exec и disp.
2.5Пакетная обработка
Иным способом работы с пакетом Scilab является его запуск из командной строки операционной системы без отображения оконного интерфейса. Для этого используются параметры командной строки, приведенные в табл. 1.
Вне зависимости от используемой операционной системы, исполняемые файлы размещаются в каталоге scilab-<version>/bin, где <version> представляет номер установленной на компьютере версии Scilab (например, ’5.2.1’). Аргументы командной строки должны следовать за именем исполняемого файла, как будет показано ниже. Параметр -nw позволяет отключить отображение окна консоли, при этом ввод команд и вывод результатов будет происходить в текстовом режиме в терминале операционной системы. Опция -nwni позволяет запустить Scilab без графических библиотек. В этом случае функции отображения (например вывод графиков) будут заблокированы, а попытка их исполь-
18
зовать приведет к ошибке.
Для удобства пользователя в подкаталоге bin основного каталога Scilab присутствуют файлы, предназначенные для запуска Scilab в различных режимах без использования параметров командной строки:
Для операционных систем семейства Windows в дистрибутивах Scilab по-
ставляются два исполняемых файла. Первый из них, WScilex.exe, запускает интерактивную графическую (оконную) консоль Scilab, описанную выше. Именно на этот файл указывает ярлык, создаваемый программойустановщиком Scilab на рабочем столе Windows. Второй исполнимый файл, Scilex.exe, служит для запуска консоли в текстовом режиме, использующем стандартные средства терминала Windows, как при использовании опции -nw. Указав при запуске Scilex.exe параметр -nwni, можно полностью отключить загрузку графических библиотек, после чего вывод диаграмм и другие подобные возможности станут недоступны.
В Linux поведение оболочки Scilab можно контролировать, используя па-
раметры стартового скрипта. По умолчанию, Scilab запускается в графическом режиме, однако аргументы -nw и -nwni можно использовать для запуска текстового интерфейса. Каталог bin в версии Scilab для Linux также содержит два исполняемых файла scilab-cli и scilab-adv-cli, первый из которых запускает Scilab без оконного интерфейса (эквивалент параметра -nw ), а второй - без вспомогательных библиотек (эквивалент
-nwni ).
Поведение версии Scilab для Mac OS аналогично версии для Linux.
Вследующем примере для Windows мы запустим файл Scilex.exe с параметром -nwni. Далее попытаемся выполнить команду plot и убедимся, что графические возможности Scilab отключены:
D :\ Programs \ scilab -5.2.0\ bin > Scilex . exe - nwni
___________________________________________
scilab -5.2.0
Consortium Scilab ( DIGITEO )
Copyright (c) 1989 -2009 ( INRIA )
Copyright (c) 1989 -2007 ( ENPC )
___________________________________________
Startup execution :
loading initial environment
--> plot ()
!-- error 4 Undefined variable : plot
Наиболее полезным параметром командной строки является -f, позволяющий выполнить команды, содержащиеся в некотором файле. Такой метод называется пакетной обработкой. Предположим, что файл myscript2.sce содержит следующие строки (команда quit применяется для выхода из Scilab):
disp (" Hello World !") quit ()
19
По умолчанию в интерактивном режиме Scilab ожидает от пользователя ввода следующей команды. Команды quit используется для завершения сессии и выхода из Scilab. Для дальнейшей демонстрации предположим, что мы создали на диске C: каталог scripts и поместили в него файл скрипта myscript2.sce. Следующий пример показывает результат выполнения данного скрипта с использованием опции -f. Заметьте, что в данном случае требуется указать полный путь к исполняемому файлу Scilex.exe.
C :\ scripts >D :\ Programs \ scilab -5.2.0\ bin \ Scilex . exe -f myscript2
. sce |
|
|
___________________________________________ |
|
scilab -5.2.0 |
|
Consortium Scilab ( DIGITEO ) |
|
Copyright (c) 1989 -2009 ( INRIA ) |
|
Copyright (c) 1989 -2007 ( ENPC ) |
|
___________________________________________ |
Startup |
execution : |
loading initial environment |
|
Hello |
World ! |
C :\ scripts > |
Любая строка, начинающаяся символами ” //”, считается комментарием и игнорируется интерпретатором Scilab. Для того чтобы проверить, что по умолчанию Scilab остается в интерактивном режиме, мы исключим команду quit, используя символы комментария:
disp (" Hello World !") //quit()
Если теперь набрать в терминале операционной системы инструкцию scilex -f myscript2.sce, Scilab отобразит строку ”Hello World!” и перейдет в режим ожидания. Теперь, чтобы выйти, необходимо ввести команду quit вручную.
2.6 Упражнения
Упражнение 2.1 (Использование консоли ) Наберите следующее слово в консоли Scilab и нажмите клавишу <Tab>:
atoms
Рассмотрите появившееся окно. Нажмите клавишу ”I” и затем снова <Tab>. Как изменилось содержимое окна?
Упражнение 2.2 (Использование функции exec ) При создании скриптов функция exec часто используется в сочетании с функцией ls, отображающей содержимое текущего каталога. Предопределенная константа SCI содержит путь к каталогу, в который установлен пакет Scilab, и удобна для записи пути к тому или иному скрипту, поставляемому в составе пакета. Введите следующие команды в консоли Scilab и рассмотрите результаты их выполнения:
pwd |
|
|
SCI |
|
|
ls ( SCI |
+ |
"/ modules ") |
ls ( SCI |
+ |
"/ modules / graphics / demos ") |
exec ( SCI |
+ "/ modules / graphics / demos /2 d_3d_plots / contourf . dem . sce ") |
|
exec ( SCI |
+ "/ modules / graphics / demos /2 d_3d_plots / contourf . dem . sce " ); |
20