Добавлен: 19.10.2018
Просмотров: 3423
Скачиваний: 9
11
Рис. 2. Форматированный вывод (12 знаков после запятой)
Редактирование и отладка файлов-сценариев
Файл-сценарий - это список команд Scilab, сохраненный на диске. Для
подготовки, редактирования и отладки файлов-сценариев служит специальный
редактор SciPad, который можно вызвать, нажав кнопку на панели инструментов
(рис. 3). В результате работы этой команды будет создан новый файл-сценарий.
По умолчанию он имеет имя Untitledl. sce.
Окно редактора файлов-сценариев выглядит стандартно, т.е. имеет заголовок,
меню, панели инструментов, строку состояния. Ввод текста в окно редактора
файла-сценария осуществляется по правилам, принятым для команд Scilab.
Для сохранения введенной информации необходимо выполнить команду File
→Save As...
(Файл →Схранить как...) из меню редактора. Файлы-сценарии
сохраняют с расширением . sce.
Открыть ранее созданный файл можно с помощью команды главного меню File
→ Open
(Файл→ Открыть).
Выполнить операторы файла-сценария можно из меню редактора SciPad с
помощью команды Execute → Load into Scilab (Выполнение →Загрузить в Scilab).
’V Console
1Ш
Примечание 1. Точка с запятой «;» ставится после тех команд, которые не
требуют вывода значений.
Примечание 2. Строка после символов // не воспринимается как команда - это
текстовый комментарий.
Встроенные функции
12
В общем виде обращение к функции в Scilab имеет вид:
имя_переменной = имя_функции(пер_1 [, пер_2, ...])
-
имя_переменной - переменная, в которую будут записаны результаты работы
функции: этот параметр может отсутствовать, тогда значение, вычисленное
функцией, будет присвоено системной переменной ans;
-
имя_функции - имя встроенной функции или ранее созданной пользователем;
-
пер_1, пер_2,... - список аргументов функции.
В табл. 1 приведены наиболее часто используемые элементарные
математические функции.
Табл. 1. Элементарные математические функции
Функция
Описание функции
Функция
Описание функции
Тригонометрические
sin(x)
синус числа х
asin
(х)
арксинус числа х
cos
(х)
косинус числа х
асоs(х)
арккосинус числа х
tan
(х)
тангенс числа х
atan
(х)
арктангенс числа х
cotg(x)
котангенс числа х
Экспоненциальные
ехр(х)
экспонента числа х
log
(х)
натуральный логарифм
числа х
Другие
sqrt
(х)
корень квадратный
log10
(х)
десятичный логарифм
от
из числа х
числа х
abs
(х)
модуль числа х
log2
(х)
логарифм по основанию
два от числа x
Функции, определенные пользователем
Функция - это именованная логически законченная группа команд, которую
можно вызывать для выполнения по имени, и предназначена для неоднократного
использования. Функция имеет входные параметры и не выполняется без их
предварительного задания. Задать вид функции можно с помощью конструкции
function ... endfunction:
function
[имя1,...,имяN] = имя_функции
(переменная_1,...,переменная_M)
тело функции
endfunction
-
имя1, имяN- список выходных параметров, то есть переменных, которым
будет присвоен конечный результат вычислений;
-
имя_функции - имя, с которым эта функция будет вызываться;
-
переменная_1,…, переменная_М - входные параметры.
13
Все имена переменных внутри функции, а также имена из списка входных и
выходных параметров воспринимаются системой как локальные, т.е. считаются
определенными только внутри функции.
Пример. Вычислить площадь четырехгранника, если даны длины его ребер.
Решение приведено на рис. 4.
Рис.4
Массивы в Scilab
Массив - пронумерованная совокупность однородных данных, состоящая из
фиксированного числа элементов, обозначенная одним именем. Доступ к
отдельным элементам массива осуществляется по целочисленному индексу, то
есть по номеру элемента в массиве. В зависимости от количества индексов,
определяющих положение элемента в массиве, массивы разделяют на
одномерные (вектора- строки, вектора-столбцы), двумерные (матрицы) и
многомерные.
SciLab
представляет все данные в виде массивов, даже переменная - это
двумерный массив с размерностью один на один.
Работа с векторами. Вектора - это одномерные (линейные) массивы, в которых
позиция каждого элемента задается единственным числом - его номером. При
задании векторов элементы разделяются пробелами, запятой (,) или точкой с
запятой (;):
a1=[3 4 9 2] -
вектор-строка
a1=[3, 4, 9, 2]-
вектор-строка
a1=[3; 4; 9; 2] -
вектор-столбец.
Доступ к элементам вектора осуществляется заданием его индекса в круглых
скобках после имени.
Если значения элементов вектора являются арифметической прогрессией, то их
можно задать с помощью операции «:». С помощью функции length можно
определить, сколько элементов попало в вектор.
Пример. Сформировать одномерный массив чисел в диапазоне от 3.7 до 8.947 с
приращением 0.3. Решение приведено на рис. 5.
14
Рис. 5. Формирование одномерного массива
Поэлементные операции с векторами
Чтобы выполнить поэлементное умножение, деление, возведение в степень
векторов, используют следующие знаки «.*», «./», «.
^
» (без пробелов!). В
результате выполнения этих операций получается тоже вектор.
Примечание. Умножение и деление вектора на число выполняется с помощью
обычных знаков «*» «/» без точки.
Пример. Протабулировать функцию y (x) = e
- x
sin10 x
на отрезке [0,1] с шагом
0.05.
Для решения задачи необходимо вначале задать вектор,
содержащий значения
аргумента X, а затем вычислить элементы вектора функции Y, используя
поэлементное умножение!!! Решение представлено на рис. 6.
Рис. 6. Табулирование функции
Работа с матрицами
Для хранения матриц в системе SciLab используются двумерные массивы,
имеющие уникальное имя. Доступ к элементам массива осуществляется при
помощи двух индексов: номера строки и номера столбца, указанных в круглых
скобках, например C( 2,3).
15
Матрицы можно ввести либо по строкам
либо по столбцам
Для того чтобы узнать размеры двумерного массива и «геометрию» векторов
(вектор-столбцы или вектор-строки), нужно использовать функцию size:
size(a)
ans =
2 3
Заданная матрица a содержит две строки и три столбца.
Примечание. Над массивами одинаковых размеров допускаются операции
сложения (+) и вычитания (-). Для поэлементного перемножения используется
знак «.*». Для поэлементного деления массивов - знаки «./» и «\.». Для
поэлементного возведения в степень - знак «.
^
».
Привычные знаки «*», «/» предназначены в системе SciLab для матричных
операций.
Транспонирование матрицы, так же как и векторов производится с помощью
символов «.’».
Построение двумерных графиков
В двумерных графиках положение каждой точки задается двумя величинами
(координатами по оси X и по оси Y), поэтому прежде, чем строить график
необходимо:
1) сформировать массив x;
2) создать массив y, вычислив значение функции для каждого значения
массива х.
Использование функции plot. Обращение к функции имеет вид:
plot(x,y,[xcap, ycap, caption]),
где
х - массив абсцисс;
у - массив ординат;
хсар, усар, caption - подписи осей X, У и графика соответственно.
Пример. Построить график функции y = sin(cos(x)) на интервале [-2π; 2 π] с
шагом 0,1.
Необходимо:
1) сформировать массив x;
2) создать массив y, вычислив значение функции для каждого значения массива
х;
3) построить график функции с помощью функции plot (рис. 7).