OldClaudio” post=68553Be’, è chiaro che ci vorrebbe un valore di scala dell’asse temporale, perché l’aritmetica a virgola fissa interna dei programmi tex non consente di rappresentare valori così piccoli; se il tuo range sta bene in forma lineare, nel senza che l’asse parte da zero e arriva a qualcosa in 10^{-14}, allora ti puoi arrangiare con un programmino esterno che ti cambi la scala della prima colonna, e ti rappresenti tutto in femtosecondi, invece che in secondi (femto=10^{-15}). Un qualunque programmino in basic ti può leggere il file e riscirverlo tale e quale ma con la prima colonna moltiplicata per 10^{+15}.
Altrimenti se le ascisse scorrono diverse decadi, ti conviene usare una scala logaritmica e corrispondentemente un altro programmino in basic ti legge il file e te lo riscrive con i logaritmi decimali al posto dei valori naturali.Ricordati sempre che i numeri in virgola fissa che TeX può gestire, rappresentati in decimale, hanno solo 5 decimali dopo la virgola.
A me era sembrato, invece, che pgfplots gestisse numeri in virgola mobile. Riporto dal manuale
Normally, this should never happen ( pgfplots uses a floating point unit with data range ±10324 and performs all mappings automatically). However, there are some cases where this fails.
Some of these cases are:1. The axis range (for example, for x) becomes relatively small. It’s no matter if you have absolutely small
ranges like [ 10 -17 ; 10-16]. But if you have an axis range like [1:99999999; 2], where a lot of signicant
digits are necessary, this may be problematic.
I guess I can’t help here: you may need to prepare the data somehow before pgfplots processes it.2. This may happen as well if you only view a very small portion of the data range.
This happens, for example, if your input data ranges from x ∈ [0; 106 ], and you say xmax=10.
Consider using the restrict x to domain*=: key in such a case, where the and
should be (say) four times of your axis limits (see page 272 for details).
Ho modificato così l’esempietto ridotto, scalando l’asse temporale,
`
\begin{axis}[restrict x to domain=1e-14:9e-14]`
e funziona.
Poi sono passata al file originario. Esso contiene un range di valori fino a 50ns, dunque da e-14 a e-8. Non posso utilizzare la scala logaritmica, dato che mi serve riportare una simulazione in transitorio di un oscillatore e, anche solo con una cala semilogaritmica, distorcerei la forma d’onda. Compilando, ho in effetti il messaggio di errore di memoria limitata, per cui mi sa che non c’è scampo e devo aumentare comunque la memoria. Una volta fatto ciò, dovrò vedere se un range lineare di sei decadi venga correttamente rappresentato.
Quindi ritorno al problema di partenza di riuscire a modificare il file texmf.cnf con i giusti permessi di scrittura. Purtroppo sono un’utente mac da poco.