x*z 发帖数: 381 | 1 【 以下文字转载自 Computation 讨论区 】
发信人: xxz (星星), 信区: Computation
标 题: Matlab计算精度请教
发信站: BBS 未名空间站 (Thu Feb 12 00:52:49 2009), 转信
我正在用matlab的lmisolver解线性矩阵不等式,碰到一个问题如下:
我需要求解A(X1,X2)<0, where X1 and X2 are unknown matrices,
所以我用lmisolver已经得到一个数值解X1_0和X2_0,为了验证结果,
我计算矩阵A(X1_0,X2_0)的eigenvalues,发现一些在-3E-6附近,
现在我老板的担心是,这些特征值这么小,可能是由于Matlab的计算误差使得
所有特征值都满足小于0的要求。所以希望我得到一些别的数值解使得A矩阵的
特征值离y轴更远点。
我想请教大家,我老板的担心是多余的吗?难道Matlab连1E-6这种计算精度都达不到?
谢谢。 | t**********d 发帖数: 40 | 2 老板的担心是有道理的。
如果有特征值及其靠近零,那么方程就成了数值病态方程。无论有效数字增加到多少位,
都不能保证解的误差在设定范围内。
可以找数值分析方面的书看一下。当然如果能使所有特征值远离零,问题自然解决。
如果不能,就必须通过其他方法使矩阵非奇异化,比如连续法。
【在 x*z 的大作中提到】 : 【 以下文字转载自 Computation 讨论区 】 : 发信人: xxz (星星), 信区: Computation : 标 题: Matlab计算精度请教 : 发信站: BBS 未名空间站 (Thu Feb 12 00:52:49 2009), 转信 : 我正在用matlab的lmisolver解线性矩阵不等式,碰到一个问题如下: : 我需要求解A(X1,X2)<0, where X1 and X2 are unknown matrices, : 所以我用lmisolver已经得到一个数值解X1_0和X2_0,为了验证结果, : 我计算矩阵A(X1_0,X2_0)的eigenvalues,发现一些在-3E-6附近, : 现在我老板的担心是,这些特征值这么小,可能是由于Matlab的计算误差使得 : 所有特征值都满足小于0的要求。所以希望我得到一些别的数值解使得A矩阵的
|
|