Просмотр содержимого документа
«Программирование в Scilab»
Программирование в Scilab
Что такое Scilab
Scilab – это кроссплатформенная система компьютерной алгебры.
Изначально это был коммерческий проект под названием Blaise , а затем Basile .
С 2003 года продукт получил новое имя Scilab и стал бесплатным. В настоящее время он распространяется по свободной лицензии CeCILL .
Для создания программы (программу в Scilab иногда называют сценарием) необходимо:
1. Вызвать команду Editor из меню
2. В окне редактора Scipad набрать текст программы.
3. Сохранить текст программы с помощью команды File – Save в виде файла с расширением sce , например, file.sce .
4. После этого программу можно будет вызвать, набрав в командной строке exec, например, exec("file.sce"). Другие способы вызова — воспользоваться командой меню File – Exec. . . или, находясь в окне Scipad, выполнить команду Execute – Load into Scilab (Ctrl+L ).
Переменные не описываются, а создаются путем присвоения им начального значения, например так:
Функции ввода-вывода в Scilab
Для организации простейшего ввода в Scilab можно воспользоваться функциями
x=input(’title’);
или
x=x_dialog(’title’, ’stroka’)
x=x_dialog(’Input X’,’5’)
Оператор присваивания
Оператор присваивания имеет следующую структуру
a=b
Глобальные и локальные переменные
def_base=2 //глобальная переменная
function rez=log_b(num, base)
chk_log=%f //локальная переменная
rez=log(num)/log(base)
endfunction
Описание функции
function [выходные параметры]=имя_функции(входные параметры)
…
тело функции
…
[выходные параметры]=…
endfunction
Условный оператор
Существует обычная и расширенная формы оператора if в Scilab.
Обычный if имеет вид
if условие
операторы1
else
операторы2
end
Условный оператор
Функция для расчета логарифма числа по произвольному основанию:
function rez=logB(num,base)
rez = log(num)/log(base)
endfunction
Расширенная форма оператора if
if условие1
операторы1
else
if условие2
операторы2
else
if условие 3
операторы3
...
Else
if условие n
операторы n
else
операторы
end
Задача 1
В качестве примера программирования разветвляющегося процесса рассмотрим решение биквадратного уравнения
Оператор альтернативного выбора
Оператор альтернативного выбора select имеет следующую структуру:
select параметр
case значение1 then операторы1
case значение2 then операторы2
...
else операторы
end
Задача 2
Вывести на печать название дня недели, соответствующее заданному числу D, при условии, что в месяце 31 день и 1-е число — понедельник.