Learn R Programming

pracma (version 1.1.6)

mldivide: Matlab backslash operator

Description

Emulate the Matlab backslash operator ``\'' through QR decomposition.

Usage

mldivide(A, B)
mrdivide(A, B)

Arguments

A, B
Numerical or complex matrices; A and B must have the same number of rows (for mldivide) or the same number of columns (for mrdivide)

Value

  • If A is an n-by-p matrix and B n-by-q, then the result of mldivide(A, B) is a p-by-q matrix (mldivide).

Details

mldivide performs matrix left division (and mrdivide matrix right division). If A is scalar it performs element-wise division.

If A is square, mldivide is roughly the same as inv(A) %*% B except it is computed in a different way --- using QR decomposition.

If A is not square, x <- mldivide(A, b) returnes a least-squares solution that minimizes the length of the vector A %*% x - b (which is equivalent to norm(A %*% x - b, "F").

Examples

Run this code
# Solve a system of linear equations
A <- matrix(c(8,1,6, 3,5,7, 4,9,2), nrow = 3, ncol = 3, byrow = TRUE)
b <- c(1, 1, 1)
mldivide(A, b)  # 0.06666667 0.06666667 0.06666667

Run the code above in your browser using DataLab