Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Scilab / SciLab

.pdf
Скачиваний:
108
Добавлен:
31.12.2018
Размер:
4.38 Mб
Скачать

Руководство по работе с пакетом SCILAB

Оглавление

Введение

o Основные характеристики пакета

oОбзор документации

Глава 1. Первые шаги

Глава 2. Типы переменных

Глава 3. Программирование

Глава 4. Базовые примитивы (обмен данными с окружением, работа с файлами и т.д.)

Глава 5. Графика

Глава 6. Интерфейс между C, Fortran и Scilab

Введение

Scilab - это язык высокого уровня для выполнения математических расчетов. Пакет включает в себя набор инструментов и интерактивную документацию. В первом приближении пакет является некоммерческим аналогом пакета Matlab.

Для освоения пакета Scilab и использования данной документации знание Matlab не является обязательным. Свободно распространяемую версию пакета вместе с полной документацией на английском языке в формате pdf можно получить по адресу http://wwwrocq.inria.fr/scilab.

Продолжением пакета Scilab является пакет Scilab//, обеспечивающий возможность параллельных вычислений и интерфейс для использования параллельных библиотек

PBLAS (Parallel Basic Linear Algebra Subprograms) и ScaLAPACK(Scalable Linear Algebra PACKage).

Основные характеристики пакета Scilab

Распространение: Scilab свободно распространяется вместе с исходными кодами. Использование, копирование, изменение, распространение - свободные. Пакет защищен специальной лицензией, основное отличие которой от стандартной GNU лицензии, по утверждению авторов, определяется стремлением избежать появления клонов.

Платформы: UNIX (включая Linux), Windows. Включен в стандартную поставку SuSE. Исходные тексты, рабочая версия для Windows и документация доступны в локальной сети.

Имеется интерфейс и система помощи.

Имеются алгоритмы базовой математики.

Имеется возможность программирования.

Имеется возможность работать не только в численном виде, но и в формульном варианте.

Имеется возможность работы с графикой.

Интерфейс с прикладными программами: имеется возможность использовать откомпилированные функции языков Си и Фортран.

1

Scilab состоит из 3-х частей:

1.интерпретатор

2.библиотека функций (Scilab-процедуры)

3.библиотека Fortran и С процедур

Обзор документации по пакету Scilab

Существует пакет документации на английском языке. Версия пакета документации 1.1. для Scilab 2.4. Документация получена c сервера ДВО РАН (Владивосток ).

Документация по пакету Scilab очень обширна и состоит из следующих файлов:

1)intro.pdf

2)manual.pdf

3)comm.pdf

4)internals.pdf

5)intersci.pdf

6)lmi.pdf

Введение в Scilab (125 страниц)

Полная документация пользователя (700 страниц) Средства передачи сообщений(12 страниц) Внутренняя структура (29 страниц)

Описание интерфейса между Scilab и функциями языков Fortran и С (14 страниц)

Средства для оптимизации решения матричных неравенств (16 страниц)

7)metanet.pdf Средства для графических и сетевых применений (19 страниц)

8)scicos.pdf Пакет для моделирования динамических систем (15 страниц)

9) signal.pdf

Методические

пособие: применение Scilab для задач обработки

 

сигналов. (205

страниц)

Освоить такой большой объем документации требует большого времени и знания английского языка. Цель пособия: помощь русскоязычному начинающему пользователю быстрее освоиться в этом пакете.

Естественно начинать освоение пакета Scilab c раздела Intro.pdf. На основе этого раздела написано данное пособие, но оно не является его прямым переводом: в некоторых местах расширено, в некоторых местах сокращено. Пособие снабжено простыми примерами в текстовом виде. Для графических примеров приведен ожидаемый результат в формате .gif

Общее количество определенных в Scilab служебных команд равно 1021. Полное описание команд дано в файле документации manual.pdf. Там же есть удобное оглавление по разделам. Этот документ полезен для опытного пользователя в качестве справочника. Практически он дублирует On line Help пакета.

2

Дополнительная информация:

1)Для начала неплохо посетить демонстрационные страницы Scilab: http://wwwrocq.inria.fr/scilab/doc/demos_html/index.html

2)Вышла книга: Б. Андриевский, А. Фрадков "Элементы математического моделирования в программных средах MATLAB 5 и Scilab" СПб.: Наука, 2001. 286 с. (К сожалению, автору пособия не удалось ее даже подержать в руках.)

3)Книги, статьи и сообщения о Scilab (на английском языке) http://www-

rocq.inria.fr/scilab/books.html

Для простоты можно начать с версии пакета для Windows.

Частное мнение:

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

Замечание:

Для простоты можно начать с версии пакета для Windows. Версии для операционных систем Windows и Linux имеют некоторые отличия в панели меню управления окна, но все команды пакета Scilab в обеих версиях идентичны.

Внимание!

Данное пособие первоначально было написано на основе версии Scilab 2.6. Отличия от недавно вышедшей версии 2.7 будут дополняться.

Начинаем работать в Scilab!

3

SCILAB

Глава 1. Первые шаги

Содержание главы 1:

Как запустить Scilab?

Как покинуть сессию Scilab?

Где находятся сведения об инициализации Scilab?

Как изменить шрифт в окне Scilab?

Как поместить часть текста из окна Scilab в текстовый редактор или какой-либо другой пакет?

Как редактировать командную строку?

Как синтаксически перенести длинную командную строку на следующую строку?

Различаются ли программой строчные и заглавные буквы?

Как посмотреть демонстрационные примеры?

Как узнать имя текущего каталога в Scilab?

Как изменить текущий каталог в Scilab?

Как запустить программу на выполнение?

Как получить справку?

Как понимать формулы синтаксиса команд?

Как узнать версию пакета Scilab?

Как сделать комментарий?

Как использовать Scilab в качестве простого калькулятора?

Как получить список текущих имен переменных ?

Как записать результат сессии Scilab в файл?

Как выполнять операции?

Как использовать файл сценария?

1

Глава 1. Первые шаги

Как запустить Scilab?

Из командной строки наберите scilab\bin\runscilab.exe

В результате получите главное рабочее окно Scilab с приглашением -->:

Замечание: В версиях Scilab для операционных систем Linux и Windows могут иметься небольшие отличия в меню и подменю верхней панели управления окна.

Как покинуть сессию Scilab?

Набрать exit и нажать [Enter] либо

набрать quit и нажать [Enter] либо

выбрать на панели управления окна File-Exit

Где находятся сведения об инициализации Scilab?

Начальные установки Scilab находятся в файле \scilab\scilab.star. Наверное лучше его не

трогать...

Как изменить шрифт в окне Scilab?

С помощью верхней панели окна выполнить Edit-Choosе Font и далее выберите желаемую гарнитуру и размер шрифта.

2

Как поместить часть текста из окна Scilab в текстовый редактор или какой-либо другой пакет?

Выделите нужный текст мышью, затем [Edit][Copy to Clipboard]. Затем в Вашем пакете выполните в нужном месте [Paste] .

Примечание: Привычная замена выбора режим copy как ctrl-c и режима Paste как ctrl-v здесь не срабатывает. Однако, в окне помощи (Help) эти "горячие" кнопки работают.

Как редактировать командую строку?

Посмотрите Edit-History, либо можно набрать текст в любом Windows-приложении и перенести его через Clipboard в окно Scilab. ( Примечание: русский язык поддерживается) Рекомендации режима Edit-History понадобятся, видимо, только при работе под платформой LINUX. Для набора текста на русском языке выберите в окне scilab режим Edit-ChooseFont и далее нужный шрифт, например, Courier.

Как синтаксически перенести длинную командную строку на следующую строку?

В месте переноса добавить две точки.

Пример. plotframe(rect,tics,[%t,%t],..

["My plot with grids and automatic bounds","x","y"],[0,0.5,0.5,0.5])

вместо

plotframe(rect,tics,[%t,%t],["My plot with grids and automatic bounds","x","y"],[0,0.5,0.5,0.5])

Различаются ли программой строчные и заглавные буквы?

Да, и не только в LINUX, но и в Windows. Если вы определили значение величины "x", значение величины "X" ей не равно!

Пример.

->x=5; X=3; =>y=x+X+x y =

13. //то есть 5+3+5

3

Как посмотреть демонстрационные примеры?

Выберите в строке меню Demos и следуйте дальнейшим указаниям. Это соответствует исполнению в командном режиме

exec('SCI/demos/alldems.dem');

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

Как узнать имя текущего каталога в Scilab?

С помощью меню File - GetCurrentDirectory. Это эквивалентно командной строке --

>getcwd()

Результат: ans = D:\scilab\bin

Аналогичный результат дает и команда pwd(). Утверждается, что pwd печатает текущий каталог Scilab, а getcwd возвращает его. (Я не почувствовала разницы).

Синтаксис этих команд: pwd

x=pwd()

x=getwcd()

Примеры. pwd x=pwd()

Как изменить текущий каталог в Scilab?

С помощью команды chdir. Синтаксис ierr=chdir('path-name')

Параметры

ierr : целое число, равно 1, если команда не может изменить каталог ошибка, и 0 во всех остальных случаях.

path-name : название нового каталога

Пример.

f= chdir("d:\my_scilab")

Результат: f=0.

Замечания:

1) Если мы хотим указать имя подкаталога пакета Scilab, то место нахождение самого пакета можно не указывать, заменив его на конструкцию SCI+.

Пример. chdir(SCI+"/demos")

эквивалентно

chdir("c:/scilab/demos")

2) Если каталог не существует, у меня почему-то появляется сообщение об ошибке и ierr=240 (Error 998). В каком же случае ierr будет =1?

4

Как запустить программу на выполнение?

С помощью меню File-Exec либо командой exec.

Как получить справку (help)?

Есть три подменю в меню Help.

1.Режим Help-HelpDialog. Допустим, мы хотим узнать синтаксис операции "exec". Нижняя часть таблицы позволяет выбрать интересующую нас главу. Это будет глава "Scilab Programming". Теперь выберите из верхнего окна операцию "exec"и нажмите кнопку Show. В результате получим справочную информацию по этой операции.

2.Режим Help-Topic позволяет получить справку прямо по названию команды.

3.Режим Help-Apropos позволяет получить справку по задаваемому ключевому слову. Используется, когда Вы забыли название нужной команды.

Еще одна возможность: в командной строке после приглашения --> набрать help <имя команды>. Эквивалентно Help-Topic.

Пример. help exec

Замечание: Для того, чтобы узнать в каких каталогах присутствуют соответствующие тексты для help, служит переменная %helps. Значение %helps по умолчанию устанавливается в файле scilab.star.

Как понимать формулы синтаксиса команд?

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

Пример.

Пусть мы хотим узнать, как пользоваться командой вычисления синуса sin. Выполните help sin. В формуле синтаксиса [t]=sin(x) параметр x - обязателен, а параметр t может и не присутствовать. Иногда синтаксис команды не укладывается в одну формулу и представляется несколько вариантов ее применения. В качестве примера посмотрите help rand.

Как узнать версию пакета scilab?

Выполните команду version=getversion()

Результатом может быть: version = scilab-2.6

5

Как сделать комментарий?

Комментарии должны начинаться также, как и в языке С, с конструкции //. Это применяется обычно при выполнении программ в Scilab.

Пример.

--> // It is plot of 2 functions --> z=3456; //It is my number

Как использовать Scilab в качестве простого калькулятора?

Ввести цифровое выражение и нажать [Enter]. Результатом будет: ans=<ответ> Пример 1.

2+3^2 ans = 11.

Пример 2. a=1; b=7; x=a+b

Будет получен ответ x =

8.

Замечание: Если в конце строки стоит знак "точки с запятой"(;), то эта операция выполняется не сразу, а после набора всей последовательности команд до той, после которой уже не стоит точка с запятой.

Как получить список текущих имен переменных ?

Используйте команду who. Вместо who можно писать who(). Результат тот же.

Пример. a=3; b=5;

who your variables are...

b a startup ierr demolist %scicos_display_mode scicos_pal %scicos_menu %scicos_short %helps MSDOS home PWD TMPDIR

percentlib soundlib xdesslib utillib tdcslib siglib s2flib roblib optlib metalib elemlib commlib polylib autolib armalib alglib intlib mtlblib WSCI SCI

%F %T %z %s %nan %inf $ %t %f %eps %io %i %e

using 5866 elements out of 1000000. and 48 variables out of 1791

Переменные, указанные во второй строке и ниже, являются встроенными. who('local') позволяет увидеть все имена встроенных переменных. Например, видно, что существует переменная с именем %e. Выполнение команды %e [Enter] даст нам ее значение

%e = 2.7182818

6

Как записать результат сессии Scilab в файл?

Способ 1.

Мы хотим сохранить полученные в окне Scilab записи в файле. Для этого выполним команду save('my_file'). В простом случае для этого можно использовать меню File-Save. В результате файл запишется в текущий каталог. По умолчанию это каталог scilab\bin\. Расширение создаваемого файла по умолчанию *.bin. Полученный файл в дальнейшем можно загрузить с помощью команды load.

Способ 2.

С помощью команды diary. Это журнал для записи копии текущей сессии Scilab в текстовый файл.

Синтаксис diary('file-name')

Пример. diary('D:/slon/my_example.txt')

a=5; // Далее идут команды сессии Scilab. b=6

c=a*b+3

diary(0) //Это признак конца записи сессии

Все, что находится в главном окне Scilab между командой diary('file-name'), открывающей запись сессии, и командой diary(0), закрывающей запись, будет записано в файл.

Замечание: Содержание графических окон при этом не сохраняются.

Как выполнять операции?

Если мы хотим, чтобы каждая операция выполнялась непосредственно сразу, следует после приглашения -> набрать операцию и клавишу ввода [Enter]. Можно набирать операции последовательно, разделяя их знаком ";", а потом выполнить [Enter]. Тогда на экране будет выведен только конечный результат. Можно писать после приглашения в одной командной строке несколько операций, разделяя их точкой с запятой. Тогда результаты тех конструкций, которые заканчиваются знаком ";" не будут выводиться на экран. Мы увидим конечный результат выполнения последовательности нескольких командных строк, последняя из которых не заканчивается точкой с запятой. Результаты промежуточных операций на экран выводиться не будут.

Пример 1.

-->a=2

a=

2. -->b=3

b=

3. -->c=a+b

c=

5.

Пример 2.

-->a=2;

7

Соседние файлы в папке Scilab
  • #
    31.12.20183.02 Кб356 tema.sce
  • #
    31.12.20181.07 Кб34ChemDifur6II.sce
  • #
    31.12.20181.43 Mб57introscilab-v1.3-ru.pdf
  • #
    31.12.2018753 б39Neyavnayashema.sci
  • #
    31.12.20181.94 Кб37Partialderivative.sci
  • #
    31.12.20184.38 Mб108SciLab.pdf
  • #
    31.12.2018709 б37syst333.sci
  • #
    31.12.2018266 б34tema2.sce
  • #
    31.12.2018361 б35tema5.sci