exponenta event banner

linsolve

Решение линейных уравнений в матричной форме

Описание

пример

X = linsolve(A,B) решает матричное уравнение AX  = B, где B является вектором-столбцом.

пример

[X,R] = linsolve(A,B) также возвращает ответный номер условия A если A является квадратной матрицей. В противном случае linsolve возвращает ранг A.

Примеры

свернуть все

Решить эту систему линейных уравнений в матричной форме с помощью linsolve.

[211 11 1123] [xyz] = [23 − 10]

A = [ 2 1  1;
     -1 1 -1;
      1 2  3];
B = [2; 3; -10];
X = linsolve(A,B)
X =
     3
     1
    -5

От X, x = 3, y = 1 и z = -5.

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

syms a x y z
A = [a 0 0; 0 a 0; 0 0 1];
B = [x; y; z];
[X, R] = linsolve(A, B)
X =
 x/a
 y/a
   z
 
R =
1/(max(abs(a), 1)*max(1/abs(a), 1))

Если матрица коэффициентов прямоугольная, linsolve возвращает ранг матрицы коэффициентов в качестве второго выходного аргумента. Показать это поведение.

syms a b x y
A = [a 0 1; 1 b 0];
B = [x; y];
[X, R] = linsolve(A, B)
Warning: Solution is not unique because the system is rank-deficient.
  In sym.linsolve at 67 
X =
              x/a
 -(x - a*y)/(a*b)
                0
R =
2

Входные аргументы

свернуть все

Матрица коэффициентов, заданная как символьная матрица.

Правая часть уравнений, заданная как символьный вектор или матрица.

Выходные аргументы

свернуть все

Решение, возвращаемое в виде символьного вектора или матрицы.

Ответный номер условия или ранг, возвращаемый как символическое число выражений. Если A - квадратная матрица, linsolve возвращает номер условия A. В противном случае linsolve возвращает ранг A.

Подробнее

свернуть все

Матричное представление системы линейных уравнений

Система линейных уравнений выглядит следующим образом.

a11x1 + a12x2 +... + a1nxn = b1a21x1 + a22x2 +... +a2nxn=b2⋯am1x1+am2x2+... + amnxn = bm

Эта система может быть представлена в виде матричного уравнения A⋅x→=b→, где A - матрица коэффициентов.

A = (a11... a1n⋮⋱⋮am1⋯amn)

b→ - вектор, содержащий правые стороны уравнений.

b→= (b1⋮bm)

Совет

  • Если решение не является уникальным, linsolve выдает предупреждение, выбирает одно решение и возвращает его.

  • Если система не имеет решения, linsolve выдает предупреждение и возвращает X со всеми элементами, имеющими значение Inf.

  • Запрос linsolve для цифровых матриц, которые не являются символическими объектами, вызывает MATLAB ®linsolve функция. Эта функция принимает только вещественные аргументы. Если система уравнений использует комплексные числа, используйте sym чтобы преобразовать хотя бы одну матрицу в символьную, а затем вызвать linsolve.

Представлен в R2012b