matlab - Matlab上符号矩阵的SVD
问题描述
我正在尝试使用 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 行) 输入参数必须可转换为浮点数。
我该如何处理?
解决方案
从文档(强调我的):
[U,S,V] = svd(A) 返回数值酉矩阵 U 和 V,其列包含奇异向量,对角矩阵 S 包含奇异值。矩阵满足条件 A = U S V',其中 V' 是 V 的 Hermitian 转置(复共轭转置)。奇异向量计算使用可变精度算术。svd 不计算符号奇异向量。因此,输入矩阵 A 必须可转换为浮点数。例如,它可以是符号数字矩阵。
很简单,你不能。不支持。
推荐阅读
- ios - CoreBluetooth - 如何获取 GATT 连接错误代码?
- flutter - 在flutter web中运行http请求时出现XMLHttpRequest错误
- django - Django通过表字段数据使用自定义查询ManyToMany
- sql - 左连接中“where”null和“on”之间的区别
- python - 我想通过在我的 django 项目中单击 Html 按钮来执行 python 方法
- c++ - printf 数据类型说明符复杂问题
- python-3.x - 如何从 BeautifulSoup scrape 中提取 onclick 事件 Javascript 文本,然后与 Selenium execute_script 一起使用?
- vue.js - Axios - 如何在我的 Get() 请求中编码注入的值?
- java - Lombok Immutable:构造参数的深拷贝
- vba - 使用 Shell 和 Cmd