Compute Moore-Penrose pseudoinverse of matrix
Math Functions / Matrices and Linear Algebra / Matrix Inverses
The Pseudoinverse block computes the Moore-Penrose pseudoinverse of input matrix A.
[U,S,V] = svd(A,0) % Equivalent MATLAB code
The pseudoinverse of A is the matrix such that
where U and V are orthogonal matrices, and S is a diagonal matrix. The pseudoinverse has the following properties:
Select to enable the E output port, which reports a failure to converge. The possible values you can receive on the port are:
0 — The pseudoinverse calculation
1 — The pseudoinverse calculation does
If the pseudoinverse calculation fails to converge, the output at port X is an undefined matrix of the correct size.
Type of simulation to run. You can set this parameter to:
Simulate model using the MATLAB® interpreter. This option shortens startup
time. For this block, the simulation speed in this mode is
faster than in
Simulate model using generated C code. The first time you run a simulation, Simulink® generates C code for the block. The C code is reused for subsequent simulations, as long as the model does not change. This option requires additional startup time but the simulation speed increases with subsequent simulations.
Golub, G. H., and C. F. Van Loan. Matrix Computations. 3rd ed. Baltimore, MD: Johns Hopkins University Press, 1996.
|Port||Supported Data Types|
|Cholesky Inverse||DSP System Toolbox|
|LDL Inverse||DSP System Toolbox|
|LU Inverse||DSP System Toolbox|
|Singular Value Decomposition||DSP System Toolbox|
See Matrix Inverses for related information.
Generated code relies on
memset functions (string.h) under certain conditions.