2014-10-14 6 views
1
나는이에 대한이 같은 매트릭스를 작성해야, QR 알고리즘의 수치 적 안정성을 확인 할

:MATLAB 부동 소수점 정밀도

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

를하지만 나는 그것을 때문에 정확성의 부족이라고 생각, 순위 (46)이있다. 하지만 책에서 나는 그것이 전체 순위 매트릭스를 읽고 있어요. 계산의 정확도를 높이려면 어떻게해야합니까?

+3

@lakesh, 'format long'은 출력 정확도가 내부가 아닌 경우입니다. – Yola

답변

1

당신은 vpa (가변 정밀도 ariuthmetic)를 사용할 수 있습니다 : 결과 유형 sym의 것을

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

참고. 필요한 경우 double으로 변환 :

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