№ |
Формулы для вычислений |
№ |
Формулы для вычислений |
1. |
|
16. |
|
2. |
|
17. |
|
3. |
|
18. |
|
4. |
|
19. |
|
5. |
|
20. |
|
6. |
|
21. |
|
7. |
|
22. |
|
8. |
|
23. |
|
9. |
|
24. |
|
10. |
|
25. |
|
11. |
|
26. |
|
12. |
|
27. |
|
13. |
|
28. |
|
14. |
|
29. |
|
15. |
|
30. |
|
В начале сессии введите в формате комментариев:
название лабораторной работы;
ФИО студента, номер группы;
№ варианта;
индивидуальное задание.
Протокол вычислений (сессии) в Командном окне в соответствии с общим заданием, снабженный подробными комментариями.
Назначение Командного окна.
Назначение окна Журнал команд.
Окно отображения информации о данных.
Назначение команд who, who_user, who(a).
Каким образом установить формат для вывода числовых значений на экран?
Каким образом перенести командную строку из окна Журнал команд в окно Командное окно?
Каким образом установить формат для вывода числовых значений на экран?
Форматы числовых данных в системе Scilab.
Что такое системные константы?
Что такое символьные константы?
Команда объявления символьных переменных.
Какой символ используется для определения комментария?
Какая из операций .* или * является операций поэлементного умножения?
Какой символ предназначен для запрета вывода результата выполнения команды на экран?
Создание функций с помощью команды deff.
Создание функции с помощью function.
1.2.2. Построение графиков и визуализация вычислений в системе Scilab
1.2.3. Лабораторная работа по теме
1.2.4. Контрольные вопросы по теме
Пакет Scilab построен как система, ориентированная на работу с матрицами, то есть все численные вычисления производятся в матричной форме. Даже обычные числа и переменные в Scilab рассматриваются как матрицы размера 1 x 1. К особенностям работы с массивами в Scilab относится то, что одномерный массив может быть вектором-строкой или вектором-столбцом (рис. 1.2.1-1).
Рис. 1.2.1-1.Представление данных в Scilab: переменные, вектора (одномерные массивы) и матрицы (двумерные массивы)
Для определения вектора используются операция квадратные скобки (операция объединения), а элементы вектора (рис.1.2.1-2) отделяются друг от друга:
точкой с запятой, если нужно получить вектор-столбец;
пробелом или запятой, если нужно разместить элементы в векторе-строке.
|
Рис. 1.2.1-2. Создание вектора-строки a и вектор-столбца b
Для определения длины вектора используется функция length(а), где а – имя вектора, а для операции транспонирования используется символ апостроф (') (рис.1.2.1-3).
|
Рис. 1.2.1-3. Определение длины вектора и его транспонирование
В следующем примере (рис. 1.2.1-4.) при описании вектора х символ двоеточие, поставленный между двумя числами, указывает, что его элементы последовательно принимают значения, начиная от первого числа (0) до последнего числа (5) с шагом 1 (по молчанию шаг равен 1). При описании вектораyиспользован шаг 0.5 и выведены значения элементов вектора.
|
Рис. 1.2.1-4. Способы описания векторов с постоянным шагом
Для описания матрицы необходимо ввести ее имя и знак присваивания, а затем в квадратных скобках значения ее элементов. При этом значения элементов строк вводятся через запятую или пробел, а строки матрицы разделяет символ точка с запятой (;) (рис.1.2.1-5):
А=[v1;v2;v3], где v1, v2, v3 -векторы одинаковой размерности.
|
Рис. 1.2.1-5. Создание матрицы A(3,4) и доступ к ее элементам
Следует помнить, что нумерация элементов матрицы (в строках и столбцах) начинается с 1.
Scilab обладает большим набором встроенных функций для обработки векторных данных, некоторые из которых приведены в таблице 1.2.1-1.
Таблица 1.2.1-1
Функции операции над векторами |
|
prod(V) |
Произведение элементов вектора |
sum(V) |
Сумма элементов вектора |
min(V) |
Минимальный элемент вектора |
max(V) |
Максимальный элемент вектора |
mean(V) |
Среднее значение элементов вектора |
gsort(V) |
Сортировка элементов вектора по убыванию |
Функции определения матриц и операций над ними |
|
det(A) |
Вычисляет определитель квадратной матрицы |
rand (n,m) |
Возвращает матрицу, элементы которой распределены по равномерному закону |
rand(n,m,”normal”) |
Возвращает матрицу, элементы которой распределены по нормальному закону |
size(A) |
Определяет число строк и столбцов матрицы А, результат – вектор [n;m] |
sum(A [,k]) |
Формирует вектор-строку (k – есть) или вектор-столбец (k- нет), каждый элемент которого – сумма элементов строки или столбца |
min(А) |
Формирует вектор-столбец из минимальных элементов строк |
max(А) |
Формирует вектор-столбец из максимальных элементов строк |
gsort(A) |
Упорядочивает элементы столбцов по убыванию |
norm(A [,p]) |
Возвращает норму матрицы (по умолчанию вычисляется 2-я норма) |
inv(A) |
Возвращает матрицу, обратную А |
Примеры использования функций над векторами приведены на рис. 1.2.1-6.
|
Рис. 1.2.1-6. Примеры функции над векторами
|
Рис. 1.2.1-7. Примеры определения матриц
На рис.1.2.1-7 приведены примеры вычисления определителя квадратной матрицы и заполнения матриц случайными числами, сгенерированных по равномерному и нормальному законам.
В следующем примере (рис. 1.2.1-8) показаны варианты использования функции sum().
|
Рис.1.2.1-8. Варианты использования функции Scilab sum()
Пример, приведенный на рис.1.2.1-9 демонстрирует работу функций, определяющих минимальное и максимальное значения матриц.
|
Рис.1.2.1-9. Определение минимальных и максимальных значений
На рис.1.2.1-10 показаны применения функций, позволяющих определять средние значения элементов в столбцах (или в строках) и проводить упорядочение (сортировку) элементов в строках (или столбцах).
|
Рис.1.2.1-10. Определение средних значений и упорядочение элементов
Для матрицы, определитель которой отличен от нуля, может быть получена обратная матрица (А-1). Тогда, при умножении ее на исходную А можно получить единичную (по диагонали расположены единицы, а прочие элементы равны нулю). Для получения обратной матрицы используется функция inv(). Примеры получения обратной и единичной матрицы приведены на рис.1.2.1-11. Следует помнить, что в Scilab действия над матрицами производятся только с использованием их имен.
|
Рис. 1.2.1-11. Получение обратной и единичной матриц
Ниже приведен пример, в котором показано как матрицу можно умножить и разделить на скаляр, а также умножить матрицу на вектор (рис.1.2.1-12).
|