Ciao,
Sto creando uno script che prende una matrice come input, ottiene l'intervallo tra gli elementi nella matrice e restituisce quell'intervallo. Il mio problema è che l'output di JMP a volte ha posizioni decimali extra (vedi output di registro di seguito). Come posso assicurarmi che se il mio input ha N posizioni decimali, anche l'output dovrebbe avere N posizioni decimali?
Sceneggiatura:
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);
Output della finestra di registro:
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];
Grazie,
Shaira
Vedere la funzione Round(). In questo caso, Round( mtxdiff, 1 ) dovrebbe fare quello che vuoi.