在Matlab上的符号矩阵上的SVD

问题描述 投票:0回答:1

我正在尝试使用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)

我收到此错误:

使用sym / svd时出错(第85行)输入参数必须可转换为浮点数。

我该如何处理?

matlab symbolic-math matlab-compiler
1个回答
2
投票

docs(强调我):

[U,S,V] = svd(A)返回数值unit矩阵U和V,其中列包含奇异矢量,对角矩阵S包含奇异值。矩阵满足条件A = U V',其中V'是V的Hermitian转置(复共轭转置)。奇异矢量计算使用可变精度算术。 svd不计算符号奇异矢量。因此,输入矩阵A必须可转换为浮点数。例如,它可以是符号数字的矩阵。

简单来说,你不能。不支持。
© www.soinside.com 2019 - 2024. All rights reserved.