Risposte nei forum create
-
AutoreRisposte
-
::
Scusate: alcune osservazioni si sarebbero potute sollevare anche prima, ma la fretta me lo ha impedito.1) Ma solo la mia versione continua ad aprirsi a pag. 2?
2) Siete sicuri che i grafici compaiono centrati nella pagina come dite a pag. 2? Ho fatto una prova e non mi sembra così.
3) Quando ho decritto la differenza tra [tt]\addplot[/tt] e [tt]\addplot3[/tt], l’ho fatto in maniera colloquiale, non pensavo di ritrovarlo nell’articolo. A pag. 6 io eliminerei la frase tra parentesi, perché non avete spiegato come si disegnano superfici tramite la chiave fill (giustamente).
4) a pag. 7 va riscritta la frase “una sequenza di coppie o terne di valori (…)”, perché è sparito il riferimento ad [tt]addplot3[/tt]
5) nella stessa pagina si era detto di eliminare “una sequenza simile alla precedente” perché non è corretto.
Detto questo, io introdurrei [tt]\addplot3[/tt] nello stesso paragrafo (vedi allegato).
6) Avendo spostato il riferimento ad [tt]\addplot3[/tt], rifarei l’inizio del par. 2.2.2 a pag. 13.
7) Cambierei il 3° punto a pag. 14 in “Le istruzioni per le curve parametriche nello spazio seguono la stessa sintassi già vista per quelle nel piano.” (eliminando il riferimento alle superfici che non ho capito).
8 ) A pag. 15 si parla ancora di variabili assegnate a domini. Ma Lorenzo non lo doveva rivedere?
9) Nel capitolo 3 manca un esempio di curva nello spazio. Non so quanto possa essere utile. Eventualmente si potrebbe sostituire il secondo esempio.
10) Non c’è scritto da nessuna parte un cenno al modo in cui devono essere espresse le coordinate per le superfici 3D, nemmeno un rimando al manuale.
11) All’inizio del cap. 5 cambierei “riferimenti” in “sistemi di riferimento”.Ciao e prego
P.S.: perdonate, ma l’allegato l’ho scritto di fretta, perciò vanno formattati correttamente i comandi.
[attachment=326]Note.pdf[/attachment]
Attachments:
You must be logged in to view attached files.::illinguista1972″ post=73535Vi prego, visti i vostri interventi, di rileggere le parti dell’articolo in merito e dirmi cosa dovrei cambiare.
Sinceramente non c’è molto da cambiare, perché avete scelto di non trattare l’argomento superfici per coordinate e va bene così (lo trovo troppo impegnativo). Ho notato però che a pag. 6, nel par. 1.2.2, si fa capire che [tt]addplot[/tt] disegna superfici. In realtà bisognerebbe dire che disegna grafici nel piano e quindi curve o superfici piane (delimitate da curve), mentre [tt]addplot3[/tt] disegna grafici nello spazio e quindi curve o superfici in generale (anche piane). A quel punto, il riferimento ad [tt]addplot3[/tt] a pag. 14 diventa inutile.
Per quanto riguarda [tt]table[/tt], io avrei detto semplicemente che è una variante di file con più opzioni di personalizzazione e avrei rimandato al manuale. Se invece ti riferisci ai metadati, non ne farei parola.Ciao
Edit: dimenticavo… Il capitolo 5 lo chiamerei “Altri sistemi di riferimento”
::Marco87″ post=73532Voglio provare a scrivere uno script simile per Matlab.
Ho riportato anche lo script per MATLAB qualche intervento fa, a meno che non voglia farlo da solo…
@Lorenzo, ha ragione Marco. [tt]addplot3[/tt] non sa se vuoi disegnare una curva o una superficie e, anche se specifichi [tt]surf[/tt] o [tt]mesh[/tt], se i dati non sono scritti nell’ordine giusto e con la riga di separazione, viene fuori una porcheria. Sarebbe lo stesso anche con Mathematica o con MATLAB: se specificassi a mano le coordinate dovresti seguire un certo criterio.Per la seconda domanda è tutto giusto. Faccio presente che [tt]file[/tt] può leggere anche una terza colonna di dati che contenga delle informazioni in più (cerca “meta data” nel manuale).
Ciao
::OldClaudio” post=73521vedi http://www.treccani.it/vocabolario/colofone/
La seconda definizione è da rileggere più volte 😀
Ciao
::Marco87″ post=73486 @Liverpool: cercherò di decifrare il tuo codice Mathematica. Qual è l’ordine con cui devono essere inserite le coordinate dei punti nel file txt?
L’ordine delle coordinate l’avevo scritto qui.
Il sorgente di Mathematica genera una tabella ([tt]out[/tt]) che ha per colonne i valori di x, y e z facendo variare prima la y. s e sy sono rispettivamente [tt]samples[/tt] e [tt]samples y[/tt], mentre xmin, xmax, ymin e ymax sono gli estremi dei due domini. [tt]N[/tt] serve per forzare il tipo di dati numerico (non simbolico) e [tt]Flatten[…,1][/tt] serve per eliminare un po’ di parentesi graffe. La prima [tt]OutputForm[/tt] scrive in forma di tabella le prime s righe di [tt]out[/tt] nel file sombrero.txt. Nelle righe successive, al file generato viene aggiunta prima una riga vuota e poi altre s righe di [tt]out[/tt] e così via fino alla fine.Ciao
::
Ehi! Proprio stanotte, non riuscendo a dormire, mi sono accorto che ci sono delle righe inutili nel codice che ti ho passato (che ovviamente a suo tempo ho provato e funziona). Stamattina le ho modificate, ma siccome non mi hai fatto sapere più niente ho pensato che non ti servissero più e non te le ho mandate. La versione corrente è:
`s = 50; sy = s;(* n. di campioni *)
xmin = -2 Pi; xmax = 2 Pi; ymin = -2 Pi; ymax = 2 Pi; (* dominio *)
out = Flatten[N[Table[{x, y, Sin[Sqrt[x^2 + y^2]]/Sqrt[x^2 + y^2]},
{x, xmin, xmax, (xmax – xmin)/(s – 1)}, {y, ymin, ymax, (ymax – ymin)/(sy – 1)}]], 1] /.
{Indeterminate -> “nan”, ComplexInfinity -> “nan”, Infinity -> “inf”};
OutputForm[TableForm[out[[1 ;; s]], TableSpacing -> {0}]] >> “sombrero.txt”;
For], TableSpacing -> {0}]] >>> “sombrero.txt”]`
A me funziona anche con il .txt, ma ovviamente bisogna aggiungere [tt]z buffer=sort[/tt] per visualizzare correttamente la superficie.
Non so perché a te non funzioni. Io proverei a ridurre il numero di punti ad un valore controllabile ad occhio (es. 5) e vedrei se nel file generato c’è una riga bianca ogni cinque e come variano i valori tra una sezione e l’altra.Edit: nuova versione del codice Mathematica (su segnalazione di @Marco87)
`s = 50; sy = s;(* n. di campioni *)
xmin = -2 Pi; xmax = 2 Pi; ymin = -2 Pi; ymax = 2 Pi; (* dominio *)
out = Flatten[N[Table[{x, y, Sin[Sqrt[x^2 + y^2]]/Sqrt[x^2 + y^2]},
{x, xmin, xmax, (xmax – xmin)/(s – 1)}, {y, ymin, ymax, (ymax – ymin)/(sy – 1)}]], 1] /.
{Indeterminate -> “nan”, ComplexInfinity -> “nan”, Infinity -> “inf”};
$file = OpenWrite[“sombrero.dat”, BinaryFormat -> True];
Export[$file, out[[1 ;; s]], “Table”];
For[i = 2, i <= s, i++, WriteString[$file, "\n\n"] Export[$file, out[[1 + (i - 1)*s ;; i*s]], "Table"]] Close[$file];` Ciao Corrispondente codice MATLAB: `s = 50; sy = 50; % numero di campioni xmin = -2*pi; xmax = 2*pi; ymin= -2*pi; ymax = 2*pi; % dominio x = linspace(xmin, xmax, s); y = linspace(ymin, ymax, sy); [X,Y] = meshgrid(x,y); Z = sin(sqrt(X.^2+Y.^2))./sqrt(X.^2+Y.^2); x = reshape(X, 1, numel(X)); y = reshape(Y, 1, numel(Y)); z = reshape(Z, 1, numel(Z)); dati = [x; y; z]; fid = fopen('sombrero.txt', 'w'); for i = 1:s fprintf(fid, '%f %f %f\n', dati(:,1+(i-1)*s:i*s)); fprintf(fid, '\n'); end fclose(fid);`::OldClaudio” post=73366Le scale logaritmiche nella pagina 4 o usano come base dei logaritmi $10^{0,1}$ o $10^{0,2}$ 🙄 😕 😯 ❓ oppure sono sbagliate. Tommaso, ho il sospetto che ti siano rimaste nel file delle cose che non c’entrano niente con il disegno da fare.
Utilizzano come base 10^0.2 (o sottomultiplo). Come darti torto? Il problema è che quando il riferimento è vuoto, oppure quando i punti sono molto più vicini di una decade, la base viene ridotta per evitare che sull’asse corrispondente appaia una sola tacca o che i punti si sovrappongano. La soluzione è definire a mano gli estremi degli assi, ad esempio in questo modo:
`\begin{loglogaxis}[xmin=0.91, xmax=10.99, ymin=0.91, ymax=10.99]`Poiché il codice corrispondente non compare nell’articolo, forse sarebbe effettivamente il caso di cambiare le figure, anche se il comportamento naturale è quello lì.lorenzo.pantieri” post=73362Concordo. Solo che anche il box a me pare un riferimento cartesiano. O no? Non saprei come migliorare quello che abbiamo scritto, si accettano proposte.
Che ne dici di “tradizionale”? “Si noti che dichiararli esplicitamente attiva lo stile tradizionale ed elimina il riquadro.”
[OT]Ho visto sul libro di Storia della Matematica, ma non dice moltissimo. Da qualche parte devo avere il Discorso sul Metodo. Più tardi lo cerco, per curiosità [/OT]
Che ne dite di sostituire il secondo grafico a pag. 20 con questo?
`\begin{semilogxaxis}
[log ticks with fixed point]
\addplot
[domain=0.1:100,
thick,blue,smooth]
{ln(1+x^4)};
\end{semilogxaxis}
\end{tikzpicture}`Ho scoperto che l’opzione [tt]log ticks with fixed point[/tt] evita la notazione 10^n, che nell’esempio mi sembra un po’ antipatica. Si potrebbe aggiungere qualche parola…Ciao
::lorenzo.pantieri” post=73362Solo che anche il box a me pare un riferimento cartesiano. O no?
Devo vedere sul libro di Storia della Matematica cosa intendeva Descartes per riferimento. In genere (almeno alle Medie e Superiori) si parte dalle rette orientate che si intersecano.
lorenzo.pantieri” post=73362È sempre vero? oppure è così perché c’è l’opzione “unbounded coords=jump”?
E’ sempre vero. Proprio perché è sempre vero, [tt]unbounded coords[/tt] stabilisce il comportamento da seguire per i punti adiacenti, cioè se collegarli o interrompere il tratto, quindi non riguarda propriamente i punti ignorati, ma quelli “vicini”.
Ciao
::
Prego e grazie a voi 😕
Passo alle nuove segnalazioni.1) Si apre ancora a pag. 2
2) Anche se l’ho detto io, “a rette orientate” non mi pare molto professionale. Non c’è qualche definizione più rigorosa? Avrei detto “riferimento cartesiano”, ma è stato già usato in senso più generale.
3) Perché i periodi riferiti ad [tt]axis <.> line[/tt] sono interamente tra parentesi?
4) Non sono d’accordo sulla frase a pag. 7 “Una sequenza analoga alla precedente…” per due motivi:
4.a) Se si usa la superistruzione [tt]file[/tt], il file deve essere formato da almeno due colonne di numeri separate da uno spazio. Eventuali parentesi e virgole generano errore (tranne le graffe che racchiudono un singolo elemento come in Mathematica).
4.b) i programmi citati nel par. 1.1 sono solo pochi esempi di programmi in grado di generare tabelle di dati commestibili per pgfplots (invece sembra che siano i soli).
5) nella tabella 3 gli spessori si confondono. Forse sarebbe meglio mettere i valori in punti.
6) A pag. 10 “oltre i limiti fissati con xmax…” sarebbe meglio “stabiliti da xmax…” perché, come si vede nell’esempio precedente, quando xmax non è fissato esplicitamente, viene calcolato. Inoltre il riferimento si espande anche dalla parte di xmin e ymin (a meno che non lo si impedisca esplicitamente).
7) Sempre nella stessa pagina, nel punto successivo, l’ordine degli esempi è invertito: nel primo esempio domain=-1:1…
8 ) che ne dite di sostituire l’esempio 3 a pag. 11 con questo e introdurre l’uso di cycle list e addplot+?
`
\begin{tikzpicture}
\begin{axis}
[domain=-6*pi:6*pi, cycle list={{blue, thick}, dashed, dashed}]
\addplot+
[samples=50,smooth]
{x*sin(deg(x))};
\addplot {x};
\addplot {-x};
\end{axis}
\end{tikzpicture}`9) A pag. 11 in fondo: perché lo spazio tra tabella e 5 è così largo?
10) A pag. 15 c’è senz’altro un errore nel testo. Sempre nello stesso paragrafo c’è ancora “variabile assegnata a dominio”.
11) A pag. 19 nel file di dati c’è il valore NaN. Si potrebbe dire che le righe contenenti i valori NaN e Inf vengono ignorate.Ciao
::lorenzo.pantieri” post=73290Propongo di mettere questo nell’articolo, è una versione leggermente semplificata.
Se vuoi evitare le etichette 10^0 e 10^1 o le assegni esplicitamente con [tt]xticklabels[/tt] oppure, visto che ti piace vincere facile 😉 , ti conviene scalare in ascissa:
`\addplot [domain=100:10000,thick,blue,smooth] {ln(1+x^4/1e12)};`
::illinguista1972″ post=73246Qualcuno saprebbe indicare un esempio per produrre un SEMPLICE grafico da inserire in un piano con ascissa logaritmica che le visualizzi?
So che ti hanno già fatto notare che l’esempio funziona come vorresti tu, con le tacchette sull’asse orizzontale, comunque il tuo grafico non sembra avere molto senso. Quello che ti propongo, in teoria dei circuiti ha il suo perché e viene rappresentato proprio con la scala logaritmica sull’asse delle ascisse, quindi mi sembra calzante. Che ne dici?
`
\documentclass{standalone}
\usepackage{pgfplots}
\pgfplotsset{/pgf/number format/use comma}\begin{document}
\begin{tikzpicture}
\begin{semilogxaxis} [grid=both, extra y ticks={-3}]
\addplot [domain=0.1:10, thick, blue, smooth]
{-10*log10(1+x^4)};
\end{semilogxaxis}
\end{tikzpicture}
\end{document}`
Ciao
::
Credo che sia lo stesso problema che lamentavi in questa discussione e avevamo concluso che il problema erano le coordinate implicite nella definizione del rettangolo. In questo caso il problema lo dà l’arco; infatti, se provi con delle coordinate esplicite, es: (-5.65,0.95), credo che si ottenga quello che vuoi.
Quando devo tracciare un arco e conosco il centro e il raggio (praticamente sempre) io preferisco usare il pacchetto [tt]tkz-euclide[/tt].
Accorgimenti:
1) nel preambolo
`\usepackage{tkz-euclide}
\usetkzobj{all}`
2) nel codice (se ho capito bene cosa vuoi fare)
`\tikzset{compass style/.append style={latex'-}}
\tkzDrawArc[rotate, color=black](centroMSup,inizioMSup)(-180)`
Nota che nel codice non ci vuole il punto e virgola al termine dell’istruzione.
CiaoP.S.: Se non sbaglio avevo sostituito 1.28 con 1.307 😡
::
Mi stavo interrogando su cosa significhi “uso commerciale” di un font. Perché mi chiedevo: se io usassi questo font per la mia tesi e un giorno si decidesse di pubblicarla, che dovrei fare? Dovrei cambiare font? Io neanche me lo ricorderei più. Nel frattempo sono incappato in questa conversazione. Non è che mi convinca molto, anche se almeno è un altro parere. Tu che ne pensi?
Ma quando hai parlato con la società hai riferito a cosa ti serve? Ti hanno detto loro che non lo puoi usare per stampare libri?Ciao
22 Maggio 2012 alle 6:53 in risposta a: Il disegno programmato nell’Arte di scrivere con LaTeX #72819::lorenzo.pantieri” post=72986Supponiamo che voglia fare il disegno di una funzione di due variabili, diciamo un paraboloide a sella, facendo fare i conti a Mathematica e il disegno a pgfplots? La procedura è analoga a quella per le curve nel piano?
Finalmente ho avuto un po’ di tempo per provare la soluzione.
Un aspetto che mi era sfuggito, quando ho risposto a questa domanda nell’intervento #72993 (che ora ho modificato), è che ogni samples righe (se varia prima la x) oppure ogni samples y righe (se varia prima la y) bisogna inserire una riga vuota, altrimenti il grafico viene disegnato come tante curve su piani perpendicolari al piano [xy].
Cioè nel caso samples=3 e samples y=2:
`
oppure
x_1 y_1 z_1 x_1 y_1 z_1
x_2 y_1 z_2 x_1 y_2 z_2
x_3 y_1 z_3
x_2 y_1 z_3
x_1 y_2 z_4 x_2 y_2 z_4
x_2 y_2 z_5
x_3 y_2 z_6 x_3 y_1 z_5
x_3 y_2 z_6`
Questo potrebbe essere un problema da gestire automaticamente con un software esterno. Ho provato con MATLAB e bisogna aggiungere 5 righe di codice per la scrittura corretta su file. Con Mathematica me ne sono servite 3, ma la sintassi è alquanto astrusa. Più complicata è la gestione di un file di dati prodotto da un software specialistico, che normalmente non ha funzioni di intervento nella scrittura su file. In tal caso, bisognerebbe modificare il file, eventualmente con l’aiuto di uno script, prima di darlo in pasto a pgfplots. Insomma: un’operazione da sconsigliare…Ciao
P.S. Forse è scontato, ma nell’articolo non è stato detto che pgfplots non maneggia i numeri complessi, perciò per tracciare qualcosa sul piano di Gauss è necessario separare a priori la parte reale da quella immaginaria.
-
AutoreRisposte