안녕하세요,
행렬을 입력으로 취하고 행렬의 요소 사이의 간격을 가져 와서 그 간격을 출력하는 스크립트를 만들고 있습니다. 내 문제는 JMP 출력 때로는 여분의 소수 자릿수가 있습니다 (아래 로그 출력 참조). 입력에 소수점이 N 개인 경우 출력에 소수점 이하 N 자리가 있어야합니다.
스크립트:
outmtx = [0, 0.2, 0.4, 0.6, 0.8, 1, 1.2, 1.4, 1.6, 1.8, 2,
2.2, 2.4, 2.6, 2.8, 3, 3.2, 3.4, 3.6, 3.8, 4,
4.2, 4.4, 4.6, 4.8, 5, 5.2, 5.4, 5.6, 5.8, 6,
6.2, 6.4, 6.6, 6.8, 7, 7.2, 7.4, 7.6, 7.8, 8,
8.2, 8.4, 8.6, 8.8, 9, 9.2, 9.4, 9.6, 9.8, 10];
mtxdiff = J(Nrows(outmtx)-1,1,0);
For (i=1, i<=Nrows(outmtx)-1, i++, mtxdiff[i] = outmtx[i+1]-outmtx[i]);
Show(mtxdiff);
로그 창 출력 :
mtxdiff = [0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2,<BR /> 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, <BR />0.199999999999999, 0.2, 0.2, 0.2, 0.2, 0.199999999999999, 0.2, <BR />0.2, 0.2, 0.2, 0.199999999999999, 0.2, 0.2, 0.2, 0.2, 0.199999999999999, <BR />0.2, 0.2, 0.199999999999999, 0.200000000000001, 0.199999999999999,<BR /> 0.200000000000001, 0.199999999999999, 0.199999999999999, 0.200000000000001,<BR /> 0.199999999999999, 0.200000000000001, 0.199999999999999];
감사,
샤이라
Round () 함수를 참조하십시오. 이 경우 라운드 (mtxdiff, 1)는 원하는 것을 수행해야합니다.