Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции1_прогр.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
880.64 Кб
Скачать

Лекция 1 Возможности системы scilab

Scilab – мощная интерактивная система автоматизации инженерных, научных и математических расчетов, построенная на расширенном представлении и применении матричных операций.

Пакет разработан Scilab Group INRIA-Rocquencourt Metalau Project. Свободно распространяемую версию пакета вместе с полной документацией на английском языке в формате pdf можно получить по адресу http://www.scilab.org. http://teacher.ucoz.net/index/rabota_v_pakete_scilab/0-9 сайт Алексеева

С 1994 года распространяется в виде исходных кодов через интернет. Сейчас Scilab поддерживается компанией Scilab Consortium, созданной в 2003 году. Scilab поддерживает язык программирования высокого уровня для организации технических вычислений.

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

Вот некоторые возможности системы:

  • В области математических вычислений:

    • матричные, векторные, логические, условные операторы;

    • символьные вычисления;

    • полиномиальные и рациональные функции;

    • элементарные и специальные функции;

    • полиномиальная арифметика.

  • В области реализации численных методов:

    • решение дифференциальных уравнений;

    • численное интегрирование;

    • поиск корней нелинейных алгебраических уравнений;

    • оптимизация функций нескольких переменных;

    • одномерная и многомерная интерполяция;

    • решение задач математической статистики.

  • В области программирования:

    • свыше 500 встроенных математических функций;

    • интерфейс к Fortran, Tcl/Tk, C, C++, Java, LabView.

  • В области визуализации результатов расчетов и графики:

    • возможности создания и редактирования двухмерных и трехмерных графиков;

    • проведение визуального анализа данных.

  • Обработка сигналов

  • Параллельная работа

  • Статистика

  • Работа с компьютерной алгеброй

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

Программа доступна для различных операционных систем, включая GNU/Linux и Microsoft Windows.

Отличия от некоторых коммерческих программ:

  • Бесплатность

  • Маленький размер (дистрибутив занимает менее 120Мб против более чем двухгигабайтного пакета MATLAB)

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

    • интерпретатор

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

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

Scilab/Знакомство с пользовательским интерфейсом

В этом разделе мы познакомимся с интерфейсом пользователя. Пользовательский интерфейс мы рассмотрим из-под Windows (пусть это вас не пугает, так как принципы едины во всех операционных системах). На рисунке 1 показан интерфейс программы, начиная с версии 5.4.

Рисунок 1 Пользовательский интерфейс в Windows 7

На рисунке 1 вы можете наблюдать, что внутри большого окна располагается ещё 4 более мелких:

  • Обозреватель файлов;

  • Командное окно;

  • Обозреватель переменных;

  • Журнал команд.

В каждый момент времени активным может быть только одно из видимых окон и признаком этого служит подсвеченный заголовок. На рисунке 1 активным является окно Командное окно. Отметим, что все окна не привязаны жёстко друг к другу и могут быть исключены из основного окна или заново перегруппированы.

Условно назовём вид, представленный на рисунке 1, группой окон. В любой момент каждое окно может быть исключено из группы путём нажатия на командную кнопку Исключить (англ. Undock), которая представлена в виде кнопки со стрелочкой, стоящей между кнопкамиСправка (англ. Help on component) и Закрыть (англ. Close) на заголовке окна (см. рисунок 1). После исключения, окно может быть перемещено в любую точку рабочего стола.

Чтобы перегруппировать окна, необходимо ухватить заголовок окна, зажимая левую кнопку мышки, и перетащить курсор в желаемую позицию. «Фантом» в виде серой рамки будет подсказывать как встанет окно, если вы отпустите левую кнопку мыши, и здесь возможны следующие варианты:

  • если вы попали курсором в какое-то окно группы, то перемещаемое окно поделит область по горизонтали пополам и займет свою позицию;

  • то же, что и в предыдущем пункте, но по вертикали;

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

Исключённое окно может быть включено в любую группу. Для этого нужно захватить её заголовок и выполнить те же действия. Очень важно то, что хватать нужно не внешний заголовок окна, который генерируется операционной системой, а внутренний заголовок, на котором есть элементы управления СправкаИсключить иЗакрыть.

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

Вы могли убедиться, когда переключались между окнами, что среда обладает незамысловатым интерфейсом и содержит минимум элементов, что идёт только в плюс программе. Переключаясь на определенное окно вы можете заметить, что изменяется панель с инструментами группы и строка меню под это окно. В целом нет надобности расписывать каждую кнопку, так как всё интуитивно просто и понятно. Рекомендую читателю посмотреть все настройки, которые предоставляются пользователю в графическом режиме. Для этого:

  1. Сделайте активным Командное окно;

  2. Затем вверху выберите Правка (англ. Edit);

  3. В раскрывшемся меню нажмите на Настройки.

Коротко рассмотрим назначение каждого окна.

Командное окно[править]

Командное окно — самое главное окно, посредством которого происходит общение со средой. В данное окно пользователь вводит команды и получает результаты.

На рисунке 1 в командном окне можно наблюдать техническую информацию о загрузке окружения, после которой система приглашает пользователя ввести команду. Начало строчки сопровождается стрелкой, указывающей направо (-->), которая и называется приглашением (англ. prompt или command prompt). Попробуйте ввести следующий код

-->2*2+69/25

В ответ от интерпретатора вы получите следующее

-->2*2+69/25

ans =

6.76

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

Перед тем как мы перейдём на следующее окно, введите вторую команду.

--> myVariable=26;

Этой командой вы попросили среду выделить память под новую переменную с именем myVariable и присвоить ей значение 26. Обратите внимание на точку с запятой в конце команды. Введя этот символ, вы попросили интерпретатор не выводить информацию о результате, получаемом после команды, к которой приставляется точка с запятой.

Например, попробуйте ввести

--> anotherVariable=31

и вы получите ответ, что присваивание прошло

--> anotherVariable=31

anotherVariable=

31.

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

Рисунок 2 Окно обозревателя переменных

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

В этом окне отображается вся необходимая информация о созданных переменных в частности:

  • имя переменной;

  • размер переменной;

  • тип переменной или другими словами тип данных, которая эта переменная в настоящий момент хранит;

  • видимость переменной.

Нажав по переменной дважды откроется окно редактора переменных, которое показано на рисунке 3.

Рисунок 3 Окно редактора переменных

Редактор переменных — это ещё одно новшество. Вероятно вы спросите, почему в редакторе переменная представлена таблицей, на что вам будет дан вполне внятный ответ:

Все объекты в среде Scilab являются двухмерными массивами, в лучших традициях MATLAB, частичной копией которого является Scilab.

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

На рисунке 3 показана переменная myVariable, которой было присвоено значение 26. Поменяйте значение переменной дважды щёлкнув по значению 26 и введя, к примеру, 51, а затем нажмите клавишу <Enter> или щёлкните в любом другом месте окна.

О том, что значение переменной изменилось, вы уже можете узнать из командной строки. Сделайте активным окно командной строки и введите имя нашей переменной, т.е.

-->myVariable

myVariable =

51.

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

Не бойтесь, если вы пока ничего не понимаете. Мы ещё не раз вернемся ко всем этим вопросам.

Всё, что вы сейчас видите в этом окне — вершина айсберга. За этой вершиной скрывается ещё целая куча системных переменных, которые регулируют работу окружения и часть которых пользователь может контролировать. Чтобы их увидеть в окне, сделайте следующее:

  1. Сделайте активным окно Обозреватель переменных;

  2. На панели меню вверху выберите пункт Фильтр (англ. Filter);

  3. В раскрывшемся меню снимите галочку с пункта Скрывать системные переменные.

Рассмотрите эти переменные, но ни в коем случае не пробуйте их редактировать.

Журнал команд[править]

Рисунок 4 Окно журнала команд

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

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

Тем не менее, если вам не нужны журналы, вы всегда их можете удалить или очистить, воспользовавшись командами меню.

Категория

  • Scilab