PDA

Visualizza versione completa : Altri linguaggi octave - blocco generazione pdf da figure



ladex
02-05-15, 16: 15
salve ragazzi,
sto scrivendo uno script per octave
e nella generazione del pdf di una figura va in "loop".
mi crea la figura, mi crea il pdf ma non lo "finisce mai",
le dimensioni del file continuano a crescere, è arrivato a oltre 10 giga e poi ho terminato l'applicazione.
qui il codice:

Only registered members can view code.
per gli altri pdf delle altre figure è tutto ok.
suggerimenti?

Kirk78
08-05-15, 12: 13
Ciao ladex.

GNU Octave, a quanto ho capito, diciamo è la versione gratuita di Matlab. Non conosco il linguaggio ma di solito se una funzione va in loop è perché ... il comando o valore che lo fa finire non viene mai (ciclo infinito).
Esempio (non conoscendo il linguaggio non so se da errore): se X va da 0 a 10 con un incremento di -0.1 X non arriverà mai a 10.
Il altri casi è perché (esempio in un ciclo while condizione) condizione non è mai falsa e non c'è nel corpo del ciclo nessun comando break.

Però tu mi dici che la figura la fa...

Lo "step" potrebbe essere talmente piccolo che X per arrivare al suo valore massimo ci mette tantissimo e il PDF continua ad aumentare per inserire i dati ma non riesce quasi mai a finire. X da 0 a 1000000000000 con incremento 0.00000000001.

Esiste anche la variabile max_recursion_depth che dovrebbe servire per prevenire i "recursing infinitely".

Essendo un programma matematico suppongo che ci sia la possibilità di avere il "valore" infinito e quindi se il valore massimo infinito il programma continuerà ad oltranza. Per controllare se un valore è o no infinito dovrebbe esserci la funzione

Only registered members can view code.

Infine, se c'è, potrebbe esserci un settaggio sbagliato del PDF. Non so un papersize enorme per quello specifico plot, il puntino troppo piccolo o grande etc etc.

Sto andando a tentativi non conoscendo il linguaggio (o interprete che sia). Ma i concetti dovrebbero essere validi per tutti.

:bai