Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Scilab_Лаб_раб_2.doc
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
585.22 Кб
Скачать

Действия над векторами

При работе со строками и столбцами в Scilab допустимы следующие математические действия:

+ – сложение

- – вычитание

* – умножение на число

/ – деление на число

^ – возведение в степень

.* – поэлементное умножение

./ – поэлементное деление

.^ – поэлементное возведение в степень

Правила действий над массивами

В о-первых, операции сложения/вычитания справедливы только для столбцов или только для строк одинаковой длины. В случае сложения/вычитания вектора с числом действие будет произведено с каждым элементом массива.

Во-вторых, поэлементное умножение означает, что каждый элемент одной строки (столбца) умножается на элемент с таким же номером другой строки (столбца). Естественно, при этом строки (столбцы) должны быть одного размера. Причем, не допускается поэлементное умножение строки на столбец и наоборот. То же справедливо и для других поэлементных действий: деления и возведения в степень.

В-третьих, отметим еще два действия, принципиально отличающихся от перечисленных тем, что меняют тип массива:

  • транспонирование ('), в результате которого строка становится столбцом и наоборот;

  • у множение строки на столбец той же длины, при котором получается просто число;

  • умножение столбца на строку, дающее матрицу.

Если к некоторому заданному вектору применить математическую функцию, то результатом будет новый вектор той же размерности с элементами, преобразованными в соответствии с заданной функцией.

Действия над матрицами

' – транспонирование, в результате которого строки матрицы становятся столбцами и наоборот;

+ – прибавление числа ко всем элементам матрицы и матричное сложение, определенное для матриц одной размерности;

- – вычитание числа от всех элементов матрицы и матричное вычитание, определенное для матриц одной размерности;

* – умножение на число и матричное умножение, выполняемое по правилу «строка на столбец» и допустимое, если количество строк во второй матрице совпадает с количеством столбцов в первой;

/ – деление на число.

^ – возведение в степень. При этом целочисленный показатель степени n может быть как положительным, так и отрицательным. В первом случае матрица умножается n раз сама на себя, во втором – подобное действие производится над матрицей, обратной к исходной

Пример.

Пример.

Здесь мы использовали оператор inv, вычисляющий обратную матрицу.

.*, ./, .^поэлементное умножение, деление, возведение в степень; действия, которые производятся для соответствующих элементов матриц, поэтому матрицы должны быть одинакового размера. Например, A.*B означает, что элемент A(1,1) умножается на B(1,1), элемент A(1,2) – на B(1,2), A(1,3) – на B(1,3) и так далее. Естественно, в результате получается матрица такого же размера, что и исходные.

Пример.

Если к заданной матрице применить математическую функцию, в результате получаем матрицу той же размерности, элементы которой будут преобразованы в соответствии с заданной функцией.

Пример.

Специальные матричные функции

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

Функция

Действие

ones(m,n)

создает матрицу единиц из m строк и n столбцов

zeros(m,n)

создает нулевую матрицу из m строк и n столбцов

eye(m,n)

создает единичную матрицу из m строк и n столбцов

rand(m,n)

формирует матрицу m×n случайных чисел из промежутка [0,1], rand() – случайное скалярное число из этого же промежутка

sort(X)

упорядочивание массива X;

если Х – матрица, сортировка выполняется по столбцам

size(V)

определяет количество строк и столбцов матрицы V,

size(V,1) – только количество строк,

size(V,2) – только количество столбцов

length(X)

определяет количество элементов массива Х (для вектора – его длину, для матрицы – число элементов)

sum(X)

сумма элементов массива Х, причем sum(X,1) возвращает строку с суммой элементов в каждом столбце, а sum(X,2) наоборот – столбец с суммой элементов в строках

prod(X)

произведение элементов массива Х; работает аналогично функции sum

det(M)

вычисляет определитель квадратной матрицы

max(M)

вычисляет наибольший элемент в массиве М

min(M)

вычисляет наименьший элемент в массиве М

mean(M)

вычисляет среднее значение элементов массива М

Решение системы линейных уравнений

Система n уравнений с m неизвестными

называется системой линейных алгебраических уравнений. Здесь xj – неизвестные, aij – коэффициенты при неизвестных, bn—свободные члены уравнений, i=1,...,n, j=1,...,m.

Система может быть представлена в матричном виде

Ax=b

В случае, если количество неизвестных равно количеству уравнений, а определитель матрицы системы А и вектор свободных членов b не равны нулю, система имеет одно и только одно решение.

Задача решения СЛАУ настолько распространена в математике, технике и естественных науках, что Scilab предоставляет несколько способов ее решения.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]