Gnuplot 정밀도

Gnuplot 정밀도

4배의 산술 정밀도로 gnuplot을 실행하는 방법이 있는지 아는 사람이 있습니까? 예를 들어 선을 그리려고 할 때, 오른쪽으로 16번째 위치까지만 변하는 값에서 "2.3403800935287029218841060098446498" 같은 값을 빼고 싶을 때.

이 문제에 대한 어떤 의견이라도 주시면 감사하겠습니다.

답변1

처음 16자리 숫자가 모두 실제로 일치한다면 두 항에서 일치하는 모든 숫자를 0으로 변환하는 kludge 텍스트 편집기를 작성하고 double을 사용하여 입력에 사용할 수 있는 차이 항을 얻는 것은 어떨까요?

빠르기는 하지만 다재다능하지도 않고 아마도 원하는 것이 아닐 수도 있습니다. 입력 내용을 자세히 모르겠습니다. 하지만 예를 들어 실제 파일에 주석을 남겨두면 values.txt):

  • 문서values.txt

    2.3403800935287029218841060098446498
    2.3403800935287055555555555555555555
    
  • 문서junk.csh

    awk 'BEGIN{last="XXX";} \
                       { gsub(/[0-9]/," & "); split($0,a," "); \
                          if (last!~/XXX/) {split(last,b," "); \
                          i=1; minlen=(length(a)<length(b))? length(a):length(b); \
                          while  ((a[i]==b[i])&&(i<minlen)) { if ((a[i]!=".") && (a[i]!="-")){a[i]=0; b[i]=0; }; i++; };}; \
                          last=$0; } \
                     END{ for(i=0; i<length(b); i++) printf("%s",b[i]); printf("\n");    \
                          for(i=0; i<length(a); i++) printf("%s",a[i]); printf("\n"); }' \
               | awk 'BEGIN{last="XXX"} { if (last!="XXX") printf("%38.35f\n",last-$0); last=$0 } '
    
  • 다음으로 실행

    $ cat values.txt | source junk.csh
    

관련 정보