MATLAB浮点精度

时间:2014-10-14 10:41:25

标签: matlab floating-accuracy

我想检查QR算法的数值稳定性,为此我需要创建这样的矩阵:

 S = diag(2.^(-1:-1:-80));

但它排名第46位,我认为这是因为缺乏准确性。但在我读的书中,它是全排名矩阵。如何提高计算的准确性?

1 个答案:

答案 0 :(得分:1)

您可以使用vpa(变精度ariuthmetic):

>> S = diag(2.^vpa((-1:-1:-80)), 100); %// 100 here is number of precision digits
>> rank(S)
ans =
    80

请注意,结果是sym类型。如果需要,转换为double

>> double(rank(S))
ans =
    80