提问人:SDADEEC 提问时间:8/15/2022 更新时间:8/15/2022 访问量:104
如何更改除“vpa”以外的 Matlab 默认数据精度?
How to change Matlab default data precision other than 'vpa'?
问:
我想对两个大矩阵 A \ b(例如,1000×1000 和 1000×1)执行矩阵除法。我总是从此操作中收到警告:警告:矩阵接近奇异或缩放不良。结果可能不准确。RCOND = XXX
我认为问题主要是因为 A 和 b 中的某些元素有超过 16 位数字。
我尝试使用“vpa”来提高精度,但是对于转换大型矩阵来说,它非常慢,并且数据类型不再是“double”,这会导致我的算法稍后出现一些问题。
您能否告诉我除了使用 vpa 之外,还有其他方法可以更改 Matlab 默认数据精度吗?
(P.S. 您可能会建议我使用 Levenberg-Marquardt 算法来解决这个问题,但我发现只有非常大的阻尼参数才能消除此警告,这在我的情况下不是很理想)
答:
0赞
Andy
8/15/2022
#1
Matlab矩阵中没有“太多数字”这样的东西。它们存储为 8 字节双精度。你对这个问题的假设是错误的。
上一个:关于Matlab中浮点运算的问题
下一个:对称带矩阵向量乘法
评论
double
vpa
symbolic
double
double