Основы работы в Scilab

Рисунок 1.
Scilab — свободная платформа для численных расчетов. Поддерживается консорциумом Scilab.
Распространяется по лицензии CeCILL (Совместима с GPL).
Доступны версии для ОС Linux, Windows, MacOS X.
Программа включает перевод интерфейса на различные языки (в том числе русский).

Официальный сайт программы: http://www.scilab.org

На момент написания статьи на официальном сайте доступна версия Scilab 5.3.3


Главное окно программы имеет вид:
Рисунок 2.
Основной режим работы в Scilab — выполнение команд в консоли. Кроме этого в Scilab интегрирован текстовый редактор Scinotes,
с помощью которого удобно создавать скрипты. Для анализа и редактирования переменных, используемых в текущей сессии,
можно использовать встроенный редактор переменных. Пользователь может просматривать историю команд, присутствует встроенная справочная система.
С помощью механизма ATOMS пользователь может скачивать и устанавливать дополнительные модули.
Рассмотрим выполнение простейших операций в консоли Scilab.
Работа в Scilab производится с помощью команд, набираемых после приглашения

-->

Выполнение команды осуществляется с помощью нажатия клавиши Enter.

Например, для вычисления 2+2 необходимо набрать 2+2 и нажать Enter.

-->2+2
 ans  =
 
    4.

-->

Переменная ans (от англ. answer — ответ) содержит результат операции.
Если в конце команды стоит символ ";", то результат операции вычисляется, но не выводится на экран. Это удобно при вводе нескольких команд.


-->2+2;
 
-->ans=ans+3
 ans  =
 
    7.
    
--> 

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

-->2+2..
-->+3+3...
-->+10
 ans  =
 
    20.  
    
--> 

Для создания комментариев можно использовать команду //.
Все, что написано справа от символов // рассматривается как текст.


-->2*2 //дважды два = четыре
 ans  =
 
    4.  

-->

Редактирование команд осуществляется с помощью клавиш управления курсором <-;, ->,
клавиш Delete (удаление символа, стоящего после курсора),
<-Backspace (удаление символа, стоящего перед курсором),
Home (переход в начало строки) и End (переход в конец строки).

Клавиши управления курсором «вверх» и «вниз» позволяют пролистывать выполненные команды, а клавиши PageUp и PageDown — пролистывать рабочую область.

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

Для записи скобок используются круглые скобки ( ).

При вводе выражений можно использовать операторы:

+ — сложение;
— — вычитание;
* — умножение;
^ — возведение в степень;
/ — деление слева направо;
\ — деление справа налево.
Также можно использовать встроенные переменные %pi (число π) и %e (число e).

В пакете существует большое количество встроенных функций, которые можно использовать при записи выражений.

Приведем некоторые из них:

sqrt(x) — квадратный корень из числа x;
abs(x) — модуль числа x;
sin(x) — синус числа x;
cos(x) — косинус числа x;
tan(x) — тангенс числа x;
cotg(x) — котангенс числа x;
asin(x) — арксинус числа x;
acos(x) — арккосинус числа x;
atan(x) — арктангенс числа x;
exp(x) — экспонента числа x;
log(x) — натуральный логарифм числа x;
log10(x) — десятичный логарифм числа x.
Подробное описание всех функций можно найти в справочной системе Scilab.

Заметим, что по умолчанию результат содержит восемь значащих цифр.
Количество цифр, отображаемых в результате, можно изменить с помощью команды
printf.

Например,


-->printf("%1.5f",%pi)
3.14159 
-->printf("%1.10f",%pi)
3.1415926536 

-->

Для присваивания значений переменным используется оператор "=".
Например, чтобы присвоить x значение 5, нужно выполнить команду x=5.


-->x=5
 x  =
 
    5.  

-->


Если в конце команды стоит символ ";", то значение переменной не выводится на экран.


-->x=5;

-->


В имени переменной учитывается регистр. Например, x и X — две разные переменные.
Имя переменной не должно совпадать с названием встроенных переменных, процедур и функций.
В имени переменной можно использовать не более 24 символов.
Переменная может быть числового типа или строкового типа.
Для присваивания переменной строки символов необходимо заключить эту строку в одинарные кавычки.
Например, чтобы присвоить x=abc, нужно набрать x='abc'.


-->x='abc'
 x  =
 
 abc   

-->


Команда clear позволяет очищать значения переменных.
Например, команда clear очищает значения всех переменных,
а команда clear x очищает значение переменной x.

Функции в Scilab делятся на встроенные и определенные пользователем.
Некоторые встроенные функции были приведены выше. Рассмотрим определение пользовательских функций.

Пользовательские функции можно определить с помощью команды deff или конструкции


function ... endfunction.

Формат команды deff:


deff('[y1,y2,...,yn]=название_функции(x1,x2,...,xn)',
['y1=выражение_1';
'y2=выражение_2';
...;
'yn=выражение_n']), 

где x1, x2, ..., xn — входные переменные, y1, y2, ..., yn — выходные переменные,
выражение_1,
выражение_22,
…,
выражение_n
— выражения для вычисления y1, y2, ..., yn.

Пример. Определить функцию y=x^2 и вычислить ее значение при x=2.


-->deff('[y]=myfunction(x)','y=x^2')
 
-->myfunction(2)
 ans  =
 
    4.  

-->  


Формат команды function… endfunction:


function[y1,y2,..,yn]=название_функции(x1,x2,...,xn)

команды

endfunction


или в одну строку

function[y1,y2,..,yn]=название_функции(x1,x2,...,xn), команды, endfunction

где y1,y2,..,yn — выходные параметры функции, x1,x2,...,xn — входные параметры функции.

Пример. Определить функцию y=x^3 и вычислить ее значение при x=2.


-->function[y]=myfunc(x)
-->y=x^3
-->endfunction
 
-->myfunc(2)
 ans  =
 
    8.  

-->


Продолжение:
Векторы и матрицы в Scilab

  • avatar
  • 0

0 комментариев

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.