Matlab 符号矩阵上的 SVD
SVD on a symbolic matrix on Matlab
我正在尝试使用 Matlab 在这个符号矩阵上计算 SVD
0 2 3 4*a 5*a
6 7 1 8*a 9*a
使用以下代码:
syms a
M = [0 2 3 4*a 5*a ; 6 7 1 8*a 9*a]
s = svd(M)
有效,我可以获得奇异值,但使用以下代码我可以获得正交矩阵。
[U,S,V] = svd(M)
我收到这个错误:
Error using sym/svd (line 85)
Input arguments must be convertible to floating-point numbers.
我该如何处理?
来自 docs(强调我的):
[U,S,V] = svd(A) returns numeric unitary matrices U and V with the columns containing the singular vectors, and a diagonal matrix S containing the singular values. The matrices satisfy the condition A = USV', where V' is the Hermitian transpose (the complex conjugate transpose) of V. The singular vector computation uses variable-precision arithmetic. svd does not compute symbolic singular vectors. Therefore, the input matrix A must be convertible to floating-point numbers. For example, it can be a matrix of symbolic numbers.
很简单,你做不到。不支持。
我正在尝试使用 Matlab 在这个符号矩阵上计算 SVD
0 2 3 4*a 5*a
6 7 1 8*a 9*a
使用以下代码:
syms a
M = [0 2 3 4*a 5*a ; 6 7 1 8*a 9*a]
s = svd(M)
有效,我可以获得奇异值,但使用以下代码我可以获得正交矩阵。
[U,S,V] = svd(M)
我收到这个错误:
Error using sym/svd (line 85) Input arguments must be convertible to floating-point numbers.
我该如何处理?
来自 docs(强调我的):
[U,S,V] = svd(A) returns numeric unitary matrices U and V with the columns containing the singular vectors, and a diagonal matrix S containing the singular values. The matrices satisfy the condition A = USV', where V' is the Hermitian transpose (the complex conjugate transpose) of V. The singular vector computation uses variable-precision arithmetic. svd does not compute symbolic singular vectors. Therefore, the input matrix A must be convertible to floating-point numbers. For example, it can be a matrix of symbolic numbers.
很简单,你做不到。不支持。