- •Лекция 1 Возможности системы scilab
- •Scilab/Знакомство с пользовательским интерфейсом
- •Работа с Scilab в режиме диалога
- •Математические выражения в Scilab
- •Полиномы и полиномные матрицы (алгебраическое представление) Алгебраический полином – это выражение типа . Задать алгебраический полином можно следующим образом.
- •Получить полиномную дробь можно так.
- •Функцию средствами пакета Scilab можно создать так:
- •Основы редактирования и отладки sci-файлов
- •Операторы и функции
- •Матричные операции линейной алгебры
- •Численные методы и обработка данных Решение систем линейных уравнений
- •Вычисление корней полинома
- •Численное интегрирование
- •Построение графиков функций одной переменной
- •Графики в полярной системе координат
- •Построение графиков трехмерных поверхностей
- •Оформление и комбинирование графиков
- •Построение графиков в виде ступенчатой линии
- •Основы программирования в системе Scilab
- •Вычисление суммы и произведения элементов массива (матрицы)
- •Структура функций
Лекция 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). После исключения, окно может быть перемещено в любую точку рабочего стола.
Чтобы перегруппировать окна, необходимо ухватить заголовок окна, зажимая левую кнопку мышки, и перетащить курсор в желаемую позицию. «Фантом» в виде серой рамки будет подсказывать как встанет окно, если вы отпустите левую кнопку мыши, и здесь возможны следующие варианты:
если вы попали курсором в какое-то окно группы, то перемещаемое окно поделит область по горизонтали пополам и займет свою позицию;
то же, что и в предыдущем пункте, но по вертикали;
окно не будет ничего разбивать, а просто вложится. В этом случае внизу появятся вкладки.
Исключённое окно может быть включено в любую группу. Для этого нужно захватить её заголовок и выполнить те же действия. Очень важно то, что хватать нужно не внешний заголовок окна, который генерируется операционной системой, а внутренний заголовок, на котором есть элементы управления Справка, Исключить иЗакрыть.
Перегруппировка требует практики, так как тот или иной вариант будет предложен в определенной позиции курсора. Попрактикуйтесь немного и выполните следующее упражнение.
Вы могли убедиться, когда переключались между окнами, что среда обладает незамысловатым интерфейсом и содержит минимум элементов, что идёт только в плюс программе. Переключаясь на определенное окно вы можете заметить, что изменяется панель с инструментами группы и строка меню под это окно. В целом нет надобности расписывать каждую кнопку, так как всё интуитивно просто и понятно. Рекомендую читателю посмотреть все настройки, которые предоставляются пользователю в графическом режиме. Для этого:
Сделайте активным Командное окно;
Затем вверху выберите Правка (англ. Edit);
В раскрывшемся меню нажмите на Настройки.
Коротко рассмотрим назначение каждого окна.
Командное окно[править]
Командное окно — самое главное окно, посредством которого происходит общение со средой. В данное окно пользователь вводит команды и получает результаты.
На рисунке 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.
Конечно показанный способ редактирования переменной является не самым рациональным, так как редактировать массив с одним полем проще всего из той же командной строки. Редактор же используется в случаях, когда необходимо редактировать большие массивы.
Не бойтесь, если вы пока ничего не понимаете. Мы ещё не раз вернемся ко всем этим вопросам.
Всё, что вы сейчас видите в этом окне — вершина айсберга. За этой вершиной скрывается ещё целая куча системных переменных, которые регулируют работу окружения и часть которых пользователь может контролировать. Чтобы их увидеть в окне, сделайте следующее:
Сделайте активным окно Обозреватель переменных;
На панели меню вверху выберите пункт Фильтр (англ. Filter);
В раскрывшемся меню снимите галочку с пункта Скрывать системные переменные.
Рассмотрите эти переменные, но ни в коем случае не пробуйте их редактировать.
Журнал команд[править]
Рисунок 4 Окно журнала команд
Окно журнала команд отражает все команды, которые вводил пользователь в командную строку в течении текущего сеанса. На рисунке 4 показано окно журнала команд. Содержимое окна рисунка 4 может отличаться от вашего, так как автор при написании викиучебника то и делал, что отвлекался.
Вы можете видеть записи последнего сеанса, которые отражают все введенные нами команды. Все журналы бережно сохраняются средой, чтобы вы могли вспомнить и восстановить команды, которые вводили ранее. Это может быть полезным, если вы забыли сохранить коды и завершили сеанс или, другой пример, если вы ввели очень длинную команду ранее, а теперь вам нужно ввести похожую, но лишь с небольшой разницей, или если сеанс был прерван из-за плохо отлаженного модуля, а команды вам ещё нужны.
Тем не менее, если вам не нужны журналы, вы всегда их можете удалить или очистить, воспользовавшись командами меню.
Категория:
Scilab
