Risposte nei forum create
-
AutoreRisposte
-
::
Ecco un scatter diagram:[attachment=303]ScatterDiagram.png[/attachment]
Lo scatter diagram mostra la correlazione esistente fra diversi metodi di rilevazione statisitca; ogni puntino si riferisce ad una particolare misura di un fenomento che ha una certa dispersione con l’ascissa secondo un metodo e l’orinata seconod un altro metodo.
I diagrammi di dispersione tridimensionali non riguardano mai una superficie, salvo il fatto che una superficie potrebbe essere al funzione che meglio correla i dati; come una retta di regressione potrebbe rendere l’idea della correlazione fra le due metodologie nel diagramma che ho rappresentato.
In un certo senso, benché non ci sino né rette né superfici disegnate in uno scatter diagram, è un diagramma di funzione, ma i punti non vanno uniti cono spezzate o altro.
Notare che nel diagramma che presento (scusatemi, lho fatto con excel) ci sono circa 30 000 puntini; mi riprometto di farlo con pgfplots, se ce la fa con la memoria standard. Casomai lo faccio sapere.
Attachments:
You must be logged in to view attached files.20 Maggio 2012 alle 14:50 in risposta a: Il disegno programmato nell’Arte di scrivere con LaTeX #72818::
Già; l’ho detto che non conosco il linguaggio Lua; ho copiato integralmente il tuo codice senza avere la minima idea di quello che volesse dire; ora lo so e ti confermo che viene la stessa cosa (con l’iterazione controllata numeri interi) se si pone [tt\step=string.format(“\%.5f”,2*math.pi/s)[/tt], quindi con solo 5 cifre decimali; probabilmente il problema di arrotondamento non è nemmeno visibile con meno cifre decimali, mettiamo solo 3, ma tanto l’aritmetica interna di TeX lavora con quel numero di cifre decimali “apparenti”. Del resto anche lasciandogli fare le sue cose di default con [tt]step=2*math.pi/s[/tt] non si vede nessuna differenza. È sempre importante che l’iterazione del ciclo for sia controllata con i numeri interi.Si con un po’ di prove abbiamo messo in luce alcuni punti secondo me importanti.
20 Maggio 2012 alle 13:43 in risposta a: Il disegno programmato nell’Arte di scrivere con LaTeX #72816::
Iterando sui numeri interi con questo codice:
`
% !TEX TS-program = LuaLaTeX\documentclass{standalone}
\usepackage{pgfplots}
\usepackage{luacode}\begin{luacode*}
function Liss(val,t)
return math.sin(val*t)
endfunction stampa_pgf(a,b,s)
tex.sprint(“\\addplot[mark=, red, smooth] coordinates{“)
— 2pi_greco/500=0.0125663 — valore con 500 campioni
— ansys suggerisce di usare per il calcolo di step la formula
— step=string.format(“\%.50f”,2*math.pi/s)
— step=2*math.pi/s
step=string.format(“\%.50f”,2*math.pi/s)
— for i=0,2*math.pi,step do
for i=0,s,1 do
u= i*step
x=Liss(a,u)
y=Liss(b,u)
tex.sprint(“(“..x..”,”..y..”)”)
endtex.sprint(“};”)
end\end{luacode*}
\newcommand\myaddplot[3]{\directlua{stampa_pgf(#1,#2,#3)}}
\begin{document}
\begin{tikzpicture}
\begin{axis}
\myaddplot{7}{2}{100}
\end{axis}
\end{tikzpicture}
\end{document}%%% Local Variables:
%%% mode: latex
%%% TeX-engine: luatex
%%% TeX-master: t
%%% End:
`
che itera sui numeri interi la curva si chiude sempre. Con 30 campioni viene uno schifo; con 100 campioni è leggermente deformata, ma difficile da notarlo ad occhio nudo; con 200 campioni viene benissimo.Occupazione di memoria: dal file log con 100 campioni si legge
`
Here is how much of LuaTeX's memory you used:
17683 strings out of 494981
100000,552014 words of node,token memory allocated
3419 words of node memory still in use:
77 hlist, 1 vlist, 1 rule, 20 math, 310 glue, 22 glyph, 56 glue_spec, 1 writ
e, 311 pdf_literal, 10 pdf_colorstack nodes
avail lists: 1:1,2:34,3:313,4:362,5:1,6:30,7:1,9:83
20513 multiletter control sequences out of 65536+200000
25 fonts using 994935 bytes
63i,10n,82p,653b,1495s stack positions out of 5000i,500n,10000p,200000b,50000s
`Con 200 campioni si legge invece:
`
Here is how much of LuaTeX's memory you used:
17715 strings out of 494981
100000,662416 words of node,token memory allocated
4119 words of node memory still in use:
77 hlist, 1 vlist, 1 rule, 20 math, 410 glue, 22 glyph, 56 glue_spec, 1 writ
e, 411 pdf_literal, 10 pdf_colorstack nodes
avail lists: 1:1,2:34,3:413,4:462,5:1,6:30,7:1,9:83
20545 multiletter control sequences out of 65536+200000
25 fonts using 994935 bytes
63i,10n,82p,653b,1495s stack positions out of 5000i,500n,10000p,200000b,50000s
`A quanto pare sono aumentati di 100 unità soltanto i glue nodes. Ma non sono in grado di dire quanti ce ne fossero disponibili.
20 Maggio 2012 alle 6:05 in risposta a: Come scrivere le lettere nei grafici e nelle equazioni #74186::
@repez, stati affrontando il tuo problema in modo errato; la soluzione è una legenda: in questa fai in sostanza un glossario minimo mettendo le grandezze fisiche o matematiche in corsivo matematico e il loro significato in tondo, così:m: massa
Δ: differenza dei diametriNon specificare mai le unità di misura: esse devono essere solo e solamente quelle del SI e devono essere accanto ai loro valori numerici in tondo (il pacchetto siunitx fa questo semplice mestiere); se devi quotare un disegno tecnico edile le misure si default sono in metri; se devi quotare un disegno meccanico esse sono di default in millimetri, e non ha bisogno di specificare le unità accanto alle misura a meno che non ce ne sia qualcuna non rappresentabile con l’unità predefinita.
Sicuramente non cambi font nelle legende degli assi; la matematica/fisica va in corsivo matematico, e le unità di misura in tondo.
Le norme UNI sul disegno tecnico ti possono dare altri lumi.
19 Maggio 2012 alle 20:39 in risposta a: Il disegno programmato nell’Arte di scrivere con LaTeX #72812::
Anche Lua ha i suoi problemini: ho modificato leggermente il codice già visto permettendo di scegliere il numero di campioni:
`
% !TEX TS-program = LuaLaTeX\documentclass{standalone}
\usepackage{pgfplots}
\usepackage{luacode}\begin{luacode*}
function Liss(val,t)
return math.sin(val*t)
endfunction stampa_pgf(a,b,s)
tex.sprint(“\\addplot[mark=, red, smooth] coordinates{“)
— 2pi_greco/500=0.0125663
step=2*math.pi/s
for i=0,2*math.pi,step do
x=Liss(a,i)
y=Liss(b,i)
tex.sprint(“(“..x..”,”..y..”)”)
endtex.sprint(“};”)
end\end{luacode*}
\newcommand\myaddplot[3]{\directlua{stampa_pgf(#1,#2,#3)}}
\begin{document}
\begin{tikzpicture}
\begin{axis}
\myaddplot{7}{2}{1000}
\end{axis}
\end{tikzpicture}
\end{document}%%% Local Variables:
%%% mode: latex
%%% TeX-engine: luatex
%%% TeX-master: t
%%% End:
`Come si vede nelle ultime righe della tikzpicture ho impostato 1000 campioni. se si impostano valori inferiori, la curva di Lissajous non si chiude. Questo dipende dal ciclo for che à basato su numeri reali, quindi anche un minimo arrotondamento o troncamento può rendere verificato il test di fine ciclo prima che in effetti la curva sia chiusa; bisognerebbe avere l’accortezza di eseguire i cicli usando solo numeri interi per “contare” le iterazioni.
Provate a sostituire 1000 con 750, con 500, e via scendendo; la curva non si chiude mai e quando il numero di campioni scende sotto a 200 si vede ad occhio nudo che pfgplots non ce la fa a rendere la curva come si deve.
Per sbaglio ho messo una volta il numero 75000 come numero di campioni; sebbene i calcoli li faccia Lua con aritmetica floating point, il tempo che ci mette lascia dubitare che la memoria, oltre che il processore, sia messa a dura prova; però alla fine del calcolo, la lettura del file log è stranamente molto parca; non ho ancora imparato a decifrare completamente le indicazioni che vi appaiono, ma sembra che occupi pochissima memoria.
::
“Non si resce…” non è l’aspressione giusta; “Non ci riesco…” forse è più adatta. Infatti cambiare lingua di default sulla quale controllare l’ortografia ed eventualmente proporre una lista di parole alternative è una proprietà anche di TeXmaker. Leggi il suo help (che non ti posso più dare, perché ho definitivamente scaricato dai miei calcolatori si TeXmaker sia TeXStudio) ma ricordo benissimo che o dalla Opzioni o dalle preferenze era possibile specificare il vocabolario da usare; naturalmente bisogna che tu l’abbia installato, altrimenti certo non puoi selezionare qualcosa che non c’è 😐 Sempre dall’Help del programma puoi vedere come installare altri dizionari; io avevo installato l’inglese, l’italiano, il francese e lo spagnolo; quindi si può fare, anche se oggi io avrei difficoltà a farlo, visto che sono troppi mesi che non uso più quei due programmi..
::Non mi è chiaro questo passo, in particolare che si intende per technical objects e experimental setups.
@OldClaudio, potresti gentilmente chiarirmi il significato di quelle espressioni?Hai presente quando descrivi un’apparecchiatura di laboratorio o altro disegno tecnico, specialmente se in prospettiva, quando parli dalla leva L e del pulsante B1, che sblocca il movimento della ruota R, la quale girando attorno al suo asse A,… Ecco tutte queste entità non sono grandezze né fisiche né matematiche, quindi il corsivo sarebbe inopportuno.
Le costanti fisiche standardizzate rappresentate da simboli di due lettere sono una mezza dozzina o poco più. Nessun’altra grandezza fisica può essere rappresentata con due o più lettere.
Mi è venuto in mente che le entità informatiche di più lettere che non sono identificatori, sono però degli acronimi e possono essere trattati come tali, addirittura usando il carattere tondo \textrm.
19 Maggio 2012 alle 17:23 in risposta a: Il disegno programmato nell’Arte di scrivere con LaTeX #72810::ansys” post=73127Su invito di @OldClaudio, riporto un codice per LuaLaTeX. Attenzione: non è farina del mio sacco perché mi sono basato su un codice di @azoun su TeX StackExchange: LuaLaTeX:PGFplots can’t read data passed by Lua.
`% !TEX program = LuaLaTeX
\documentclass{standalone}
\usepackage{pgfplots}
\usepackage{luacode}\begin{luacode*}
function Liss(val,t)
return math.sin(val*t)
endfunction stampa_pgf(a,b)
tex.sprint(“\\addplot[mark=, red, smooth] coordinates{“)
— 2pi_greco/500=0.0125663
for i=0,2*math.pi,0.0125663 do
x=Liss(a,i)
y=Liss(b,i)
tex.sprint(“(“..x..”,”..y..”)”)
endtex.sprint(“};”)
end\end{luacode*}
\newcommand\myaddplot[2]{\directlua{stampa_pgf(#1,#2)}}
\begin{document}
\begin{tikzpicture}
\begin{axis}
\myaddplot{7}{2}
\end{axis}
\end{tikzpicture}
\end{document}%%% Local Variables:
%%% mode: latex
%%% TeX-engine: luatex
%%% TeX-master: t
%%% End:`
Ciao
OrlandoHo provato il cidce. A parte il fatto che il mio TeXShop non interpreta correttamente la riga magica relativa al program (la riga giusta dovrebbe essere % !TEX TS-program = LuaLaTeX); il disegno di Lissajous è calcolato per 500 punti di interpolazione; il disegno viene benissimo e la memoria di Lua non ne viene minimamante intasata, ma di fatto il codice lua genera la tabella che pgfplot interpreta come al solito; dagli ultimi messaggi di Lorenzo, sembrerebbe che se il numero di campioni arriva 10001 (non 11000) calcolati da Mathematica, ma se sono calcolati da mathlab o da Lua e lo stesso, si supera la capacità di memoria di pgfplots anche avendo allargato la memoria di pdftex some ci ha spiegato in un altro post; Certo con 200 samples il disegno viene bene anche con pgfplots; con i 500 samples calcolati da Lua le cose vanno ancora meglio; ma il problema della saturazione della memoria non ne viene toccato.
Io ho trovato molto istruttivo l’esempio, perché mostra quanto sia semplice il codice Lua da usare. Non sono ancora convinto che non si possa fare meglio con le cubiche di Bézier (di Bernstein/) scegliendo adeguatamente i nodi di interpolazione. Certo, scegliere adeguatamante vuol dire disporre di un programma molto intelligente, oppure di fare le cose a mano.
::
Io ho usato fancyvrb e mi sono trovato bene. Tra l’altro l’ho usato per scrivere un apio di articoli per Ars, che usa utf8 e listings non andava bene. Certo fancyvrb non ha tutte le decorazioni che fornisce listings, dai colori alla colorazione di simboli speciali, parle del linguaggio, eccetera; ma funziona; in particolare consente la numerazione delle righe.
::
Tommaso, se hai letto la documentazione hai certamente notato che listingsutf8 funziona solo per i listati da leggere da file esterno: Only \lstinputlisting is supported by the syntax extension of key inputen- coding.E viene detto esplicitamente che:
Workarounds are not provided for
• \lstinline
• Environment lstlisting.
• Environments defined by \lstnewenvironment.In posta passati Enrico aveva indicato come usare caratteri accentati con listings senza troppi problemi anche se i caratteri accentati sono formati da un solo byte; probabilmente il work around di Enrico non andava bene con utf8 (dove i caratteri accentati sono descritti da almeno due byte) ma con la codifica latin1 funzionava, così come con altre codifiche come applemac, latin9 e simili, tutte caratterizate dal fato di usare sempre e solo codici a 8 bit per i caratteri nazionali e i caratteri speciali.
19 Maggio 2012 alle 5:42 in risposta a: Il disegno programmato nell’Arte di scrivere con LaTeX #72803::Tra l’altro, @OldClaudio ha già fatto notare che l’algoritmo di interpolazione è piuttosto debole.
Sì, è debole e forse lo è altrettanto in gnuplot, perché la regola con la quale sono scelti i samples non è ottimale; in realtà il disegno con le spline di Bézier non è debole per niente, tant’è che ho dimostrato che scegliendo i punti giusti bastano tre nodi di interpolazione per disegnare un ciclo completo della funzione seno. Il disegno viene male con pochi nodi con pgfplots, perché i nodi sono scelti “a caso”, cioè prescindendo dalla forma della curva da disegnare. Per ovviare a questo inconveniente è necessario scegliere molti più nodi di quanto si potrebbe fare con una scelta intelligente.
Ragazzi: voi forse non avete mai disegnato curve matematiche a mano servendovi dei curvilinee; ai miei tempi, quando ero studente o giovane laureato e ancora per parecchi anni, l’unico modo di disegnare grafici era quello di calcolare alcuni punti della curva da tracciare, non uniformemente spaziati sulle ascisse, ma in modo intelligente, addensandoli dove la curva variava di più, e poi usando il curvilinee, eventualmente quello con l’anima di piombo, che era la versione “antica” delle spline di Bézier; infatti “spline”, stando al dizionario di Oxford, indica proprio “a flexible wood or rubber strip used esp. in drawing large curves.”. È ovvio che se volevamo disegnare qualunque curva un po’ complessa in un tempo ragionevole dovevamo usare il minimo di punti assolutamente necessari. Per i disegni dell’attenuazione di filtri di solito io usavo dei particolari curvilinee che venivano chiamati “a spirale logaritmica”; per la banda attenuata andavano benissimo. per la banda passante erano più utili i curvilinee ad archi di ellisse.
19 Maggio 2012 alle 5:22 in risposta a: Il disegno programmato nell’Arte di scrivere con LaTeX #72802::
Mah; il discorso delle didascalie è un po’ off topic.
Tuttavia, non so dove ho letto la “regola” che ho descritto nel post precedente, ma ho cercato di applicarla sempre.Si basa sul fatto che la didascalia è fatta di tre parti, non di due o di una sola parte: (1) il titolino corrente; (2) il titolo; (3) la descrizione. Gli elementi 1 e 3 sono facoltativi; nel caso rimanga solo l’elemento 2, allora il titolo del diagramma è ridondante (oppure è ridondante la didascalia); l’unica differenza sarebbe che il titolo del diagramma sarebbe sopra al diagramma e la didascalia sarebbe sotto.
Il titolino corrente, spesso in nero, spesso sporgente a sinistra del blocco degli elementi 2 e 3, è senza punto finale ed è separato dall’elemento 2 da uno spazio di un quadrato (che mi pare coerente con gli altri titolini), oppure da un segno di due punti (default di LaTeX) o da un lineato medio.
Il titolo (2) è terminato dal punto fermo solo se è seguito dall’elemento 3.
L’elemento 3 è sempre seguito dal punto fermo.
Seguire questa regola vuol dire essere coerenti, non solo da didascalia a didascalia, anche se le didascalie sembrano diversamente punteggiate; lo sono perché sono diversamente strutturate. Ma vuol dire essere coerenti anche con gli altri titoli; i titoli del documento dei capitoli, i titolini dei paragrafi, sottoparagrafi, persino dei capoversi e degli enunciati non sono mai seguiti dalla punteggiatura, ma da uno spazio di almeno un quadrato (che poi sarebbe 1em) e sono evidenziati con un font diverso, sia esso nero, corsivo, maiuscoletto o altro.Ovviamente questa non è verità ovvia di per sé come gli assiomi. Spesso è specificato come comporre le didascalia nelle istruzioni di stile delle varie case editrici, e ognuna fa a modo suo; però nei libri pubblicati prima dell’avvento della composizione elettronica ho visto spessissimo seguita questa regola.
-
AutoreRisposte