mrdivide, /

Решите системы линейных уравнений xA = B для x

Синтаксис

Описание

пример

x = B/A решает систему линейных уравнений x*A = B для x. Матрицы A и B должен содержать одинаковое число столбцов. MATLAB® отображает предупреждающее сообщение если A плохо масштабируется или почти сингулярный, но выполняет вычисление независимо.

  • Если A скаляр, затем B/A эквивалентно B./A.

  • Если A квадрат n- n матрица и B матрица с n столбцы, затем x = B/A решение уравнения x*A = B, если это существует.

  • Если A прямоугольный m- n матрица с m ~= n, и B матрица с n столбцы, затем x = BA возвращает решение методом наименьших квадратов системы уравнений x*A = B.

x = mrdivide(B,A) альтернативный путь состоит в том, чтобы выполнить x = B/A, но редко используется. Это позволяет выполнить перегрузку оператора для классов.

Примеры

свернуть все

Решите систему уравнений, которая имеет уникальное решение, x*A = B.

A = [1 1 3; 2 0 4; -1 6 -1];
B = [2 19 8];
x = B/A
x = 1×3

    1.0000    2.0000    3.0000

Решите недоопределенную систему, x*C = D.

C = [1 0; 2 0; 1 0];
D = [1 2];
x = D/C
Warning: Rank deficient, rank = 1, tol =  1.332268e-15.
x = 1×3

         0    0.5000         0

MATLAB® выдает предупреждение, но возобновляет вычисление.

Проверьте тот x не точное решение.

x*C-D
ans = 1×2

     0    -2

Входные параметры

свернуть все

Операнды в виде векторов, полных матриц или разреженных матриц. A и B должен иметь одинаковое число столбцов.

  • Если A или B имеет целочисленный тип данных, другой вход должен быть скаляром. Операнды с целочисленным типом данных не могут быть комплексными.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char
Поддержка комплексного числа: Да

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

свернуть все

Решение, возвращенное как вектор, полная матрица или разреженная матрица. Если A m- n матрица и B p- n матрица, затем x p- m матрица.

x разреженно только если оба A и B разреженные матрицы.

Советы

  • Операторы / и \ связаны друг с другом уравнением B/A = (A'\B')'.

  • Если A квадратная матрица, затем B/A примерно равно B*inv(A), но процессы MATLAB B/A по-другому и более надежно.

Расширенные возможности

Представлено до R2006a