lusolve
Функция решения системы линейных алгебраических уравнений (СЛАУ) на основе LU-разложения.
Синтаксис
X = lusolve(F,Y,Pv);
Аргументы
| Имя | Тип данных | Описание |
|---|---|---|
| F | array2 | Матрица, полученная в результате LU-разложения матрицы системы линейных алгебраических уравнений А |
| Y | array | Массив элементов [b11, ..,b1m], определяющий вектор B системы линейных алгебраических уравнений А |
| Pv | intarray | Вектор перестановок, полученный в результате LU-разложения матрицы системы линейных алгебраических уравнений А |
Описание
lusolve(F,Y,Pv) – функция
решения системы линейных алгебраических уравнений (СЛАУ) на основе LU-разложения матрицы
системы линейных алгебраических уравнений A.
Входной массив Y может задаваться:
- как переменная типа массив, определенная ранее:
X = lusolve(F, Y, Pv); - как массив, состоящий из переменных, определенных ранее:
X = lusolve(F,[y1, y2, y3, y4],Pv); - как постоянный массив:
X = lusolve(F, [3, -1], Pv);
Входная матрица F и целочисленный массив Pv могут
задаваться аналогичным образом как переменные или константы, полученные ранее в результате
LU-разложения.
Результат
| Имя | Тип данных | Описание |
|---|---|---|
| X | array |
Выходной массив элементов [x1, .., xn], определяющий вектор решений системы линейных алгебраических уравнений А. |
Пример
A = [[1,2],[3,4]];
var Pv: intarray;
// Факторизация с выводом в смешанной форме и получением вектора ведущего элемента
F = lu(A,Pv);
// Получение решения
X1 = lusolve(F,[10,20],Pv);
X2 = lusolve(F,[50,60],Pv);
// Решение в векторной форме
X = lusolve(F,[[10,20],[50,60]],Pv);
В результате элементам массива X1 будут присвоены значения [0, 5],
являющиеся решениями системы уравнений:
x1 + 2·x2 = 10
3·x1 + 4·x2 = 20
В результате элементам массива X2 будут присвоены значения [-40, 45],
являющиеся решениями системы уравнений:
x1 + 2·x2 = 50
3·x1 + 4·x2 = 60
Переменной X будет присвоено значение [[0, 5]; [-40, 45]].
Сопутствующие материалы
Материалов нет.