Работа в Scilab — это использование прикладных программных математических приложений Scilab для различных расчётов.
Введение
Scilab (в русской транскрипции Сайлэб) является пакетом прикладных математических программ, предназначенных для инженерно-технических и научных вычислений. Данный пакет с 1994 года начал распространяться в сети Интернет, включая его исходный код. Чтобы поддержать идею Scilab, в 2003 году было сформировано объединение (консорциум) Scilab Consortium, в которое на данный момент уже включены двадцать пять фирм ( в их числе Mandriva, INRIA и ENPC).
Возможности Scilab
В Scilab содержится очень много функций математики, и, к тому же, туда могут быть добавлены новые функции, которые написаны на разных языках программирования (С, С++, Fortran и так далее). Помимо этого, есть различные информационные структуры типа списков, полиномов, рациональных функций, линейных систем, а также интерпретатор и высокоуровневый язык. Программный пакет Scilab проектировался открытой системой куда пользователь может добавить собственные типы информационных данных и процедуры при помощи перегрузки. В возможности системы заложен очень большой инструментальный набор:
- Графические режимы 2D и 3D, режим анимации.
- Инструменты линейной алгебры, разреженных матриц (sparse matrices).
- Набор полиномиальных и рациональных функций.
- Инструменты для выполнения интерполяции и аппроксимации.
- Инструменты симуляции решений обыкновенных дифференциальных уравнений и дифференциальных уравнений.
- Система Scicos. Инструментальный гибрид систем построения моделей динамических систем и симуляции.
- Инструменты дифференциальной и не дифференциальной оптимизации.
- Инструменты обработки сигналов.
- Возможность параллельной работы.
- Статистические инструменты.
- Инструменты работы с алгеброй компьютера.
- Организация интерфейсов для связи с Fortran, Tcl/Tk, C, C++, Java, LabVIEW.
Язык программирования Scilab похож на MATLAB. В программе Scilab есть специальная утилита, которая позволяет выполнить конвертацию документов из Matlab в Scilab. Scilab обладает возможностью работы как с элементарными, так и с большим количеством специальных функций (к примеру, Бесселя, Неймана и других). Кроме этого, у него есть инструментарий для обработки матриц, полиномов, для производства числовых вычислений и решения проблем линейной алгебры. Также есть инструменты оптимизации и симуляции, удобные и эффективные функции статистики, а также инструменты для формирования и обработки графиков.
Чтобы выполнить численные расчёты, можно использовать специальные библиотеки Lapack, LINPACK, ODEPACK, Atlas и ряд других. В составе пакета имеется приложение Scicos, которое является инструментом, позволяющим редактировать блочные диаграммы и симуляции (аналогично simulink в пакете MATLAB). Scilab обладает возможностью работать совместно с приложением LabVIEW.
Scilab имеет следующие главные отличия от программ, имеющих коммерческую направленность:
- Бесплатное использование пакета.
- Начиная с версии 5.0 свободное распространение.
- Небольшой объём программного пакета. Полная дистрибутивная версия четыре Scilab занимала всего 20 МБ. Для сравнения пакет MATLAB весит два Гигабайта.
- Программу можно запускать в консоли без применения интерфейса графики, включая версии под Windows. Это даёт возможность автоматизированных вычислений в пакетном режиме.
Главным преимуществом пакета Scilab является, конечно же, то, что он бесплатен. Важным достоинством считается также поддержка различных платформ.
К его недостаткам можно отнести:
- Отсутствие визуального представления программы.
- Scilab применяет в основном численные методы вычислений, что может влиять на точность.
Работа в Scilab
После запуска программы появляется командное окно, представленное ниже:
Рисунок 1. Окно программы. Автор24 — интернет-биржа студенческих работ
Существует два возможных способа дальнейшей работы:
- Продолжить использование этого командного окна.
- Запустить выполнение SciNotes (блокнот с подсветкой). Здесь имеется возможность написания кода, который позже может быть запущен. Итоговый результат работы отобразится в командном окне.
Базовые операции следующие:
- операция сложения.
- — операция вычитания.
- • операция умножения.
- / операция деления справа, то есть x/y = xy^(-1).
- \ операция деления слева, то есть x\y = x^(-1)y.
- ^ операция возведения в степень, то есть x^y.
- (**) операция возведения в степень (является эквивалентом ^)
В Scilab используется набор следующих математических функций:
acos acosd acosh acoshm acosm acot acotd acoth
acsc acscd acsch asec asecd asech asin asind
asinh asinhm asinm atan atand atanh atanhm atanm
cos cosd cosh coshm cosm cotd cotg coth
cothm csc cscd csch sec secd sech sin
sinc sind sinh sinhm sinm tan tand tanh
tanhm tanm
exp expm log log10 log1p log2 logm max
maxi min mini modulo pmodulo sign signm sqrt
sqrtm
В программном пакете SciLab могут использоваться следующие типы:
- y = int8(x) восьми битное число, имеющее знак [-2^7; (2^7)-1] = [-128; 127]
- y = uint8(x) восьми битное число, не имеющее знака [0; (2^8)-1] = [0; 255]
- y = int16(x) шестнадцати битное число, имеющее знак [-2^15; (2^15)-1] = [-32768; 32767]
- y = uint16(x) шестнадцати битное число, не имеющее знака [0; (2^16)-1] = [0; 65535]
- y = int32(x) тридцати двух битное число, имеющее знак [-2^31; (2^31)-1] = [-2147483648; 2147483647]
- y = uint32(x) тридцати двух битное число, не имеющее знака [0; (2^32)-1] = [0; 4294967295]
- iconvert операция преобразования в целочисленный тип.
- Inttype операция определения типа, как целочисленного.
Самым простым способом, позволяющим вызвать функцию пользователя, является следующий:
outvar = myfunction ( invar )
Приведём пример функции пользователя:
function y = myfunction ( x )
y = 2 * x
endfunction
Вызвать данную функцию после её сохранения можно, например, так:
-->exec('D:\PRIVATE\Учёба\КСВЭ\myfunction.sci', -1)
-->y = myfunction ( 3 )