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

x1 + 4·x2 = 20

В результате элементам массива X2 будут присвоены значения [-40, 45], являющиеся решениями системы уравнений:

x1 + 2·x2 = 50

x1 + 4·x2 = 60

Переменной X будет присвоено значение [[0, 5]; [-40, 45]].

Сопутствующие материалы

Материалов нет.