- Questo topic ha 19 risposte, 4 partecipanti ed è stato aggiornato l'ultima volta 13 anni, 5 mesi fa da
cfiandra.
-
CreatoreTopic
-
12 Aprile 2013 alle 16:22 #84729::
Gentili amici del Forum,
riporto di seguito un codice Tikz prodotto da Geogebra perchè riportato in TexShop mi segnale errore:
`
\documentclass[10pt]{article}
\usepackage{pgf,tikz}
\usetikzlibrary{arrows}
\pagestyle{empty}
\begin{document}
\begin{tikzpicture}[x=1cm,y=5cm][line cap=round,line join=round,>=triangle 45,x=1.0cm,y=1.0cm]
\draw[->,color=black] (-4.4787,0) — (5.494,0);
\foreach \x in {-4,-3.5,-3,-2.5,-2,-1.5,-1,-0.5,0.5,1,1.5,2,2.5,3,3.5,4}
\draw[shift={(\x,0)},color=black] (0pt,2pt) — (0pt,-2pt) node[below] {\footnotesize $\x$};
\draw[->,color=black] (0,-0.4111) — (0,0.575);
\foreach \y in {-0.4,-0.3,-0.2,-0.1,0.2,0.3,0.4,0.5}
\draw[shift={(0,\y)},color=black] (2pt,0pt) — (-2pt,0pt) node{\footnotesize $\y$};
\draw (0pt,-10pt) node{\footnotesize $0$};
\clip(-4.4787,-0.4111) rectangle (5.494,0.575);\draw[fill=black,fill opacity=0.1, smooth,samples=50,domain=-2.58:2.58] plot(\x,{2.718281828^((-(\x)^2)/(1^2*2))/(abs(1)*sqrt(3.1415926535*2))}) — (2.58,0) — (-2.58,0) — cycle;
%Nota: il retino grigio assume una forma strana, non certo quello della Normale che ho tracciato in Geogebra.
\draw[smooth,samples=100,domain=-4.478660464569973:5.493990767592388] plot(\x,{2.718281828^((-((\x))^2)/(1^2*2))/(abs(1)*sqrt(3.1415926535*2))});
%Nota: La Console mi segnale un errore. Se commento la riga tutto procede bene, salvo il retino di cui ho scritto prima.
\draw (-1.3785,0.539) node[anchor=north west] {Zona di accettazione};
\draw [->,line width=1.2pt] (0.168,0.5045) — (0.0885,0.4122);
\draw (2.9141,0.2337) node[anchor=north west] {Zona di rifiuto};
\draw [->,line width=1.2pt] (3.6492,0.1821) — (3.013,0.0365);
\draw (2.6034,-0.1513) node[anchor=north west] {z critico 2.58};
\draw [->] (3.1959,-0.1278) — (2.5889,-0.0089);
\draw (-3.98,0.2572) node[anchor=north west] {Zona di rifiuto};
\draw [->,line width=1.2pt] (-2.9201,0.2118) — (-2.7732,0.0365);
\draw (-3.4814,-0.1294) node[anchor=north west] {z critico -2.58};
\draw [->] (-3.1056,-0.1137) — (-2.607,-0.0136);
\begin{scriptsize}
\draw (0.2041,0.0397) node {$c = 0.9901$};
\end{scriptsize}
\end{tikzpicture}
\end{document}
`Non riesco a venirne fuori. Qualche suggerimento?
Grazie
Emil
-
CreatoreTopic
-
AutoreRisposte
-
-
12 Aprile 2013 alle 19:08 #84730
-
13 Aprile 2013 alle 5:25 #84731::
Oltre a dirti dimension too large, dice anche I can’t work with sizes bigger than about 19 feet. Questo ti sugggerisce che, i valori della funzione che cerchi di disegnare, trasformati in centimetri secondo la trasformazione che hai indicato all’inizio (y*5 cm) superano i 5,79 metri. Vuoi davvero disegnare su un foglio così largo? Se provi a ridurre questi valori al di sotto del centimetro, vedi che a un certo punto l’errore scompare.Ciao
-
13 Aprile 2013 alle 6:24 #84732::
1) prova con
`\draw[fill=black,fill opacity=0.1, smooth,samples=50,domain=-2.58:2.58] plot (\x,{exp(-(\x)^2/2)/sqrt(2*pi)}) — (2.58,0) — (-2.58,0) — cycle;`
2) Oltre a dirti dimension too large, dice anche I can’t work with sizes bigger than about 19 feet. Questo ti sugggerisce che, i valori della funzione che cerchi di disegnare, trasformati in centimetri secondo la trasformazione che hai indicato all’inizio (y*5 cm) superano i 5,79 metri. Se provi a ridurre questi valori al di sotto del centimetro, vedi che a un certo punto l’errore scompare.
In ogni caso l’errore non l’hai fatto tu, ma pgf. Se utilizzi l’espressione che ti ho indicato prima, l’errore sparisce.Ciao
-
13 Aprile 2013 alle 7:46 #84733::
Grazie, funziona perfettamente.Io avevo trovato un modo per aggirare il problema, ridefinendo completamente la funzione, ma era troppo laborioso.
La tua soluzione è quella giusta.
Ma fammi capire. Al posto della costante di eulero elevata tu hai utilizzato esp moltiplicato per…
Poi hai semplificato qualcosa (l’1 elevato al quadrato, il valore assoluto di 1, ecc).
Credo che il punto critico sia però proprio l’esponenziale.E’ così?
Puoi spiegarmi?
Ancora grazie
Emil
-
13 Aprile 2013 alle 8:06 #84734::
`\documentclass[10pt]{article}
\usepackage{pgf,tikz}
\usetikzlibrary{arrows}
\pagestyle{empty}
\begin{document}
\begin{tikzpicture}[x=1cm,y=5cm][line cap=round,line join=round,>=triangle 45,x=1.0cm,y=1.0cm]
\draw[->,color=black] (-4.4787,0) — (4.494,0);
\foreach \x in {-4,-3,-2,-1,0,1,2,3,4}
\draw[shift={(\x,0)},color=black] (0pt,2pt) — (0pt,-2pt) node[below] {\footnotesize $\x$};
\clip(-4.4787,-0.4111) rectangle (5.494,0.575);
\draw[fill=black,fill opacity=0.1, smooth,samples=50,domain=-2.58:2.58] plot(\x,{exp(-(\x)^2/2)/sqrt(2*pi)}) — (2.58,0) — (-2.58,0) — cycle;
\draw[smooth,samples=100,domain=-4.478660464569973:5.493990767592388] plot(\x,{exp(-(\x)^2/2)/sqrt(2*pi)});
\draw (-1.4785,0.580) node[anchor=north west] {Zona di accettazione};
\draw [->,line width=1.2pt] (0,0.5) — (0,0.4122);
\draw (1.5141,0.2737) node[anchor=north west] {Zona di rifiuto};
\draw [->,line width=1.2pt] (3.6492,0.1821) — (3.013,0.0365);
\draw (2.6034,-0.1513) node[anchor=north west] {z critico 2.58};
\draw [->] (3.1959,-0.1278) — (2.5889,-0.0089);
\draw (-4,0.2737) node[anchor=north west] {Zona di rifiuto};
\draw [->,line width=1.2pt] (-3.6492,0.1821) — (-3.013,0.0365);
\draw (-4,-0.1294) node[anchor=north west] {z critico -2.58};
\draw [->] (-3.1056,-0.1137) — (-2.607,-0.0136);
\begin{scriptsize}
\draw (0,0.14) node {$1-\alpha = 0.9901$};
\end{scriptsize}
\end{tikzpicture}
\end{document}`
-
13 Aprile 2013 alle 8:38 #84735::
EmilLask” post=84162Credo che il punto critico sia però proprio l’esponenziale. E’ così? Puoi spiegarmi?
Sì. La forma \(\mathrm{e}^x\) viene gestita dalla funzione interna [tt]pow[/tt] che non funziona come ci si aspetterebbe quando l’esponente è negativo, mentre l’altra viene gestita dalla funzione [tt]exp[/tt]. Si tratta di capire cos’è che non va nel codice di [tt]pow[/tt].
Per inserire il codice in un messaggio, racchiudilo in un ambiente [code]<...>[code preceduto dalla barra] in modo tale che sia più leggibile.
Ciao
Edit: il problema non è l’esponente negativo, perché anche \(\left(\frac{1}{e}\right)^x\) con esponente positivo si comporta allo stesso modo.
-
13 Aprile 2013 alle 9:12 #84736::
EmilLask” post=84162Grazie, funziona perfettamente.
Io avevo trovato un modo per aggirare il problema, ridefinendo completamente la funzione, ma era troppo laborioso.
La tua soluzione è quella giusta.
Ma fammi capire. Al posto della costante di eulero elevata tu hai utilizzato esp moltiplicato per…
Poi hai semplificato qualcosa (l’1 elevato al quadrato, il valore assoluto di 1, ecc).
Credo che il punto critico sia però proprio l’esponenziale.E’ così?
Puoi spiegarmi?
Ancora grazie
Emil
Nella tua definizione quei vari 1^2 e abs(1) erano evidentemente superflui, nazi mi domando come ti sia venuto in mente di inserirli. È ovvio che uno ala quadrato fa uno e che il valore assoluto di uno vale uno.
Ma la soluzione di @Liverpool che ricorre alla funzione esponenziale (non exp moltiplicato per qualcosa) svolge meglio il suo mestiere di calcolare l’esponenziale in base e, che non scrivere 2.718… elevato a qualcosa.
Perché? non sono andato a leggere il codice della libreria matematica di pdfplot, ma suppongo che 2.718… elevato a qualcosa passi per i logaritmi, mentre
exp calcola direttamente il risultato. Nel primo caso deve calcolare delle serie di potenze almeno per il logaritmo, perché per l’antilogaritmo non deve far altro che calcolare un esponenziale; per il calcolo dell’esponenziale limitato a intervalli sufficientemente limitati per non andare in overflow, cioè -9.7, \x < 9.7, il calcolo può procedere con altri mezzi che non riguardino le serie; Io saprei calcolarlo ricorrendo alle frazioni continue, ma ci sono anche altri modi; non so quale usi la libreria matematica a cui ho accennato sopra. Quel che conta è che il calcolo dell'esponenziale è diretto, quello di 2.718... elevato a qualcosa è più laborioso e passa per ogni punto da calcolare per due funzioni trascendenti, invece di calcolarne una sola. D'accordo, per usare LaTeX non dovrebbe essere necessario essere esperti di calcolo numerico, ma nel momento in cui si usa un modulo molto complesso come pgfplots per tracciare diagrammai, non sarebbe male avere dei buoni rudimenti di calcolo numerico; forse non è necessario averne con geogebra o con mathcad o mathlab o altri programmi specifici di calcolo numerico; questi programmi sono fatti apposta per eseguire calcoli completi anche di funzioni trascendenti e usano le potenzialità di calcolo in virgola mobile che oggi sono eseguibili con tutti i processori di qualunque PC, Mac, Notebook, laptptop, netbook, persino palmare, tablet, iPad e simili. Ma i programmi del sistema TeX, escluso luatex, fanno conti solamente con numeri interi di soli 30 o 31 bit, quindi le loro capacità di calcolo sono limitatissime, e o moduli scritti per far loro fare conti con numeri a virgola mobile sono generalmente dei trucchi. Si, ci sono delle estensioni, come il pacchetto fp.sty lo lo permettono, ma a spese di calcoli relativamente lenti; le nuove librerie che si appoggiano al linguaggio LaTeX3 non sono ancora generalizzate; la libreria matematica di pfgplots non ne fa ancora uso. -
13 Aprile 2013 alle 10:39 #84737::
Grazie ancora per i chiarimenti.Il codice riportato è stato prodotto da Geogebra e rispecchia la funzione della normale gaussiana.
Non sapevo, invece, che nell’ambiente Latex, o forse Tikz o PGF, alcuni percorsi di calcolo fossero preclusi.Ma adesso mi sembra chiaro e cercherò di farne tesoro, provando ancora a sperimentare altri passaggi da Geogebra a Latex.
Emil
-
13 Aprile 2013 alle 11:12 #84738::
Il problema di fondo, secondo me, è proprio l’uso di GeoGebra. Serve davvero per questo grafico? Sicuramente si obbietterà che si fa prima, ma con le nefandezze di codice e risultato che produce io lo lascerei stare.Un piccolo elenco:
`\draw[->,color=black] (-4.4787,0) — (4.494,0); ` scrivere [tt]color=black[/tt] non ha senso: è il predefinito.Torno alle opzioni: `x=1.0cm,y=1.0cm` idem come sopra: sono predefinite.
`\foreach \x in {-4,-3.5,-3,-2.5,-2,-1.5,-1,-0.5,0.5,1,1.5,2,2.5,3,3.5,4}` Dunque: quella lista, per escludere solo lo 0 è assurda. Se proprio si vuole escludere un numero si fa: `\foreach \x in {-4,-3.5,…,-0.5,0.5,1,…,4}
` ma nell’esempio che illustro in seguito ho eliminato del tutto questo workaround con qualcosa di più elegante. La cosa interessante è: `\draw[shift={(\x,0)},color=black] (0pt,2pt) — (0pt,-2pt) node[below] {\footnotesize $\x$};` È indecente. Perché si debba shiftare la coordinata di partenza è un mistero oltre che un’operazione inutile, perché si utilizzi il tipo di font all’interno del testo non è molto bello. Sul colore mi sono già espresso. Più semplicemente: `\draw (\x,2pt)–(\x,-2pt) node[below,font=\footnotesize]{\x};`Su:
`\foreach \y in {-0.4,-0.3,-0.2,-0.1,0.2,0.3,0.4,0.5}` stesso discorso di prima.Questo: `\draw (0pt,-10pt) node
{\footnotesize $0$};` è fantastico. La traduzione normale è: `
\node[font=\footnotesize,right] at (0pt,-10pt) {0};
`Utilizzare 1^2*2 e abs(1) è nel commento di @OldClaudio, perciò sorvolo.
Tutte queste label con frecce:
`
\draw (-1.3785,0.539) node[anchor=north west] {Zona di accettazione};
\draw [->,line width=1.2pt] (0.168,0.5045) — (0.0885,0.4122);
\draw (2.9141,0.2337) node[anchor=north west] {Zona di rifiuto};
\draw [->,line width=1.2pt] (3.6492,0.1821) — (3.013,0.0365);
\draw (2.6034,-0.1513) node[anchor=north west] {z critico 2.58};
\draw [->] (3.1959,-0.1278) — (2.5889,-0.0089);
\draw (-3.98,0.2572) node[anchor=north west] {Zona di rifiuto};
\draw [->,line width=1.2pt] (-2.9201,0.2118) — (-2.7732,0.0365);
\draw (-3.4814,-0.1294) node[anchor=north west] {z critico -2.58};
\draw [->] (-3.1056,-0.1137) — (-2.607,-0.0136);
` oltre a essere posizionate male sul disegno, vengono sempre realizzate con [tt]\draw[/tt] anziché [tt]\node[/tt].Infine…
`\begin{scriptsize}
\draw (0.2041,0.0397) node {$c = 0.9901$};
\end{scriptsize}` semplicemente é: `\node[font=\scriptsize]at (0.2041,0.0397) {$c = 0.9901$};`Dimenticavo: non è necessario caricare la libreria [tt]arrows[/tt] per questo esempio.
Tutti i tool che fanno le cose in automatico hanno qualche fregatura sotto.. quelle che ho elencato sono di codice e, oltre a quelle matematiche, mi fanno seriamente dire che è meglio farsi le cose a mano.
Cosa avrei fatto io (tenendo comunque le coordinate create con GeoGebra):
`\begin{tikzpicture}[line cap=round,line join=round,>=stealth,y=5cm]
% Assi
\draw[->] (-4.4787,0) — (5.494,0);
\draw[->] (0,-0.4111) — (0,0.575);` disegno degli assi e opzioni iniziali.Le label dell’asse x: `% Label asse x
\foreach \x in {-4,-3.5,…,4}{
\pgfmathequal{\x}{0}
\ifnum\pgfmathresult=1
\node[below right,font=\tiny] at (\x,\x){\x};
\else
\draw (\x,2pt)–(\x,-2pt) node[below,font=\tiny]{\x};
\fi
}` Come dicevo prima, si fa molto prima a tenere la lista intera e fare un controllo per escludere solo lo 0.Le label dell’asse y e la c=0.9901: `
% Label asse y
\foreach \y in {-0.4,-0.3,…,-0.1,0.2,0.3,…,0.5}
\draw (2pt,\y)–(-2pt,\y) node[left,font=\tiny]{\pgfmathprintnumber{\y}};% label c
\node[font=\scriptsize] at (0.2041,0.0397) {$c = 0.9901$};
` Attenzione: siccome hai inserito la trasformazione dell’asse y con [tt]y=5cm[/tt], un foreach normale stamperebbe dei risultati tipo -0.20001. Perciò, inserendo nel preambolo: `
\pgfkeys{/pgf/number format/.cd,fixed,precision=1}
` e stampando il numero con [tt]\pgfmathprintnumber{\y}[/tt] si evita quell’inconveniente.Le varie label (messe un po’ meglio e raggruppando le opzioni simili): `
% varie label
\begin{scope}[->, line width=1.2pt]
\node[anchor=north west] (x) at (-1.3785,0.7) {Zona di accettazione};
\draw (x) — (0.0885,0.4122);
\node[anchor=north west] (y) at (2.9141,0.2337) {Zona di rifiuto};
\draw (y) — (3.013,0.0365);
\node[anchor=north] (y) at (-3.98,0.2572) {Zona di rifiuto};
\draw (y) — (-2.7732,0.0365);
\end{scope}\node[anchor=north west] (z) at (2.6034,-0.1513) {z critico 2.58};
\draw [->] (z) — (2.5889,-0.0089);
\node[anchor=north] (z) at (-3.4814,-0.1294) {z critico -2.58};
\draw [->] (z) — (-2.607,-0.0136);
` Ora sistemiamo in background tutto il resto: in questo modo gli assi risulteranno “sopra” gli altri elementi: `
% in background qualche elemento
\begin{scope}[on background layer]
% Riquadro
\path[fill=black,fill opacity=0.1] (-2.58,0) — (-2.58,0.575)
— (2.58,0.575) — (2.58,0) — (-2.58,0);
% ridesegno i segmenti
\draw (-2.58,0) — (-2.58,0.575)(2.58,0.575) — (2.58,0);% clip sul rettangolo per evitare problemi con la funzione seguente
\clip(-4.4787,-0.4111) rectangle (5.494,0.575);% zona bianca
\draw[fill=white,smooth,samples=50,domain=-2.58:2.58] plot(\x,{2.718281828^((-(\x)^2)/2)/(sqrt(2*pi))});% zona grigio scuro
\draw[fill=black,fill opacity=0.1, smooth,samples=50,domain=-2.58:2.58] plot (\x,{exp(-(\x)^2/2)/sqrt(2*pi)}) — (2.58,0) — (-2.58,0) — cycle;
\end{scope}
\end{tikzpicture}
\end{document}
` Il risultato:
[attachment=664]x.jpg[/attachment]Per referenza, il codice complessivo: `
\documentclass[png,border=10pt]{standalone}
\usepackage{tikz}
\usetikzlibrary{backgrounds}
\pgfkeys{/pgf/number format/.cd,fixed,precision=1}\begin{document}
\begin{tikzpicture}[line cap=round,line join=round,>=stealth,y=5cm]
% Assi
\draw[->] (-4.4787,0) — (5.494,0);
\draw[->] (0,-0.4111) — (0,0.575);
% Label asse x
\foreach \x in {-4,-3.5,…,4}{
\pgfmathequal{\x}{0}
\ifnum\pgfmathresult=1
\node[below right,font=\tiny] at (\x,\x){\x};
\else
\draw (\x,2pt)–(\x,-2pt) node[below,font=\tiny]{\x};
\fi
}
% Label asse y
\foreach \y in {-0.4,-0.3,…,-0.1,0.2,0.3,…,0.5}
\draw (2pt,\y)–(-2pt,\y) node[left,font=\tiny]{\pgfmathprintnumber{\y}};% label c
\node[font=\scriptsize] at (0.2041,0.0397) {$c = 0.9901$};% varie label
\begin{scope}[->, line width=1.2pt]
\node[anchor=north west] (x) at (-1.3785,0.7) {Zona di accettazione};
\draw (x) — (0.0885,0.4122);
\node[anchor=north west] (y) at (2.9141,0.2337) {Zona di rifiuto};
\draw (y) — (3.013,0.0365);
\node[anchor=north] (y) at (-3.98,0.2572) {Zona di rifiuto};
\draw (y) — (-2.7732,0.0365);
\end{scope}\node[anchor=north west] (z) at (2.6034,-0.1513) {z critico 2.58};
\draw [->] (z) — (2.5889,-0.0089);
\node[anchor=north] (z) at (-3.4814,-0.1294) {z critico -2.58};
\draw [->] (z) — (-2.607,-0.0136);% in background qualche elemento
\begin{scope}[on background layer]
% Riquadro
\path[fill=black,fill opacity=0.1] (-2.58,0) — (-2.58,0.575)
— (2.58,0.575) — (2.58,0) — (-2.58,0);
% ridesegno i segmenti
\draw (-2.58,0) — (-2.58,0.575)(2.58,0.575) — (2.58,0);% clip sul rettangolo per evitare problemi con la funzione seguente
\clip(-4.4787,-0.4111) rectangle (5.494,0.575);% zona bianca
\draw[fill=white,smooth,samples=50,domain=-2.58:2.58] plot(\x,{2.718281828^((-(\x)^2)/2)/(sqrt(2*pi))});% zona grigio scuro
\draw[fill=black,fill opacity=0.1, smooth,samples=50,domain=-2.58:2.58] plot (\x,{exp(-(\x)^2/2)/sqrt(2*pi)}) — (2.58,0) — (-2.58,0) — cycle;
\end{scope}
\end{tikzpicture}
\end{document}
`Ciao
Claudio
Attachments:
You must be logged in to view attached files. -
13 Aprile 2013 alle 13:58 #84739::
Allora, ho studiato il codice delle funzioni esponenziale e potenza. La funzione potenza è definita come \(a^b=\exp(b\ln a)\). La riga incriminata nel codice è proprio quella che calcola l’esponenziale del suo argomento. Questo ci porta a scoprire che il codice della funzione esponenziale presenta un bug che è stato risolto nella versione in via di sviluppo non ancora disponibile (strano perché la revisione è del 2010). Sostituendo la vecchia versione con la nuova, che puoi trovare nel codice evidenziato qui il problema si risolve e funziona anche il tuo codice originale.Ciao
@cfiandra, pubblica anche la variante con [tt]pgfplots[/tt]!
-
13 Aprile 2013 alle 18:03 #84740::
[code]
\documentclass[10pt]{article}
\usepackage{pgf,tikz}
\usetikzlibrary{arrows}
\pagestyle{empty}
\begin{document}
\begin{tikzpicture}[x=1cm,y=5cm][line cap=round,line join=round,>=triangle 45,x=1.0cm,y=1.0cm]
\draw[->,color=black] (-4.4787,0) — (4.494,0);
\foreach \x in {-4,-3,-2,-1,0,1,2,3,4}
\draw[shift={(\x,0)},color=black] (0pt,2pt) — (0pt,-2pt) node[below] {\footnotesize $\x$};
\clip(-4.4787,-0.4111) rectangle (5.494,0.575);
\draw[fill=black,fill opacity=0.1, smooth,samples=50,domain=-2.58:2.58] plot(\x,{exp(-(\x)^2/2)/sqrt(2*pi)}) — (2.58,0) — (-2.58,0) — cycle;
\draw[smooth,samples=100,domain=-4.478660464569973:5.493990767592388] plot(\x,{exp(-(\x)^2/2)/sqrt(2*pi)});
\draw (-1.4785,0.580) node[anchor=north west] {Zona di accettazione};
\draw [->,line width=1.2pt] (0,0.5) — (0,0.4122);
\draw (1.5141,0.2737) node[anchor=north west] {Zona di rifiuto};
\draw [->,line width=1.2pt] (3.6492,0.1821) — (3.013,0.0365);
\draw (2.6034,-0.1513) node[anchor=north west] {z critico 2.58};
\draw [->] (3.1959,-0.1278) — (2.5889,-0.0089);
\draw (-4,0.2737) node[anchor=north west] {Zona di rifiuto};
\draw [->,line width=1.2pt] (-3.6492,0.1821) — (-3.013,0.0365);
\draw (-4,-0.1294) node[anchor=north west] {z critico -2.58};
\draw [->] (-3.1056,-0.1137) — (-2.607,-0.0136);
\begin{scriptsize}
\draw (0,0.14) node {$1-\alpha = 0.9901$};
\end{scriptsize}
\end{tikzpicture}
\end{document}
[\code]Claudio grazie per i preziosi suggerimenti, ma il risultato a cui miravo è quello riportato dal codice che avevo già postato. Hai ragione nell’evidenziare i pasticci di Geogebra, ma è un programma che utilizzo volentieri e quindi cercherò di fare tesoro dei tuoi consigli per trovare un compromesso.
Liverpool ancora molte grazie. Mi pare di capire però che la difficoltà sta proprio nell’aggiornamento di PGF. Io utilizzo Mac OS X, come posso aggiornare soltanto PGF senza dovere reinstallare tutto?
Emil
-
13 Aprile 2013 alle 18:06 #84741::
\documentclass[10pt]{article}
\usepackage{pgf,tikz}
\usetikzlibrary{arrows}
\pagestyle{empty}
\begin{document}
\begin{tikzpicture}[x=1cm,y=5cm][line cap=round,line join=round,>=triangle 45,x=1.0cm,y=1.0cm]
\draw[->,color=black] (-4.4787,0) -- (4.494,0);
\foreach \x in {-4,-3,-2,-1,0,1,2,3,4}
\draw[shift={(\x,0)},color=black] (0pt,2pt) -- (0pt,-2pt) node[below] {\footnotesize $\x$};
\clip(-4.4787,-0.4111) rectangle (5.494,0.575);
\draw[fill=black,fill opacity=0.1, smooth,samples=50,domain=-2.58:2.58] plot(\x,{exp(-(\x)^2/2)/sqrt(2*pi)}) -- (2.58,0) -- (-2.58,0) -- cycle;
\draw[smooth,samples=100,domain=-4.478660464569973:5.493990767592388] plot(\x,{exp(-(\x)^2/2)/sqrt(2*pi)});
\draw (-1.4785,0.580) node[anchor=north west] {Zona di accettazione};
\draw [->,line width=1.2pt] (0,0.5) -- (0,0.4122);
\draw (1.5141,0.2737) node[anchor=north west] {Zona di rifiuto};
\draw [->,line width=1.2pt] (3.6492,0.1821) -- (3.013,0.0365);
\draw (2.6034,-0.1513) node[anchor=north west] {z critico 2.58};
\draw [->] (3.1959,-0.1278) -- (2.5889,-0.0089);
\draw (-4,0.2737) node[anchor=north west] {Zona di rifiuto};
\draw [->,line width=1.2pt] (-3.6492,0.1821) -- (-3.013,0.0365);
\draw (-4,-0.1294) node[anchor=north west] {z critico -2.58};
\draw [->] (-3.1056,-0.1137) -- (-2.607,-0.0136);
\begin{scriptsize}
\draw (0,0.14) node {$1-\alpha = 0.9901$};
\end{scriptsize}
\end{tikzpicture}
\end{document}
<\code>Claudio grazie per i preziosi suggerimenti, ma il risultato a cui miravo è quello riportato dal codice che avevo già postato. Hai ragione nell'evidenziare i pasticci di Geogebra, ma è un programma che utilizzo volentieri e quindi cercherò di fare tesoro dei tuoi consigli per trovare un compromesso.
Liverpool ancora molte grazie. Mi pare di capire però che la difficoltà sta proprio nell'aggiornamento di PGF. Io utilizzo Mac OS X, come posso aggiornare soltanto PGF senza dovere reinstallare tutto?
Emil
-
13 Aprile 2013 alle 18:07 #84742::
code
\documentclass[10pt]{article}
\usepackage{pgf,tikz}
\usetikzlibrary{arrows}
\pagestyle{empty}
\begin{document}
\begin{tikzpicture}[x=1cm,y=5cm][line cap=round,line join=round,>=triangle 45,x=1.0cm,y=1.0cm]
\draw[->,color=black] (-4.4787,0) — (4.494,0);
\foreach \x in {-4,-3,-2,-1,0,1,2,3,4}
\draw[shift={(\x,0)},color=black] (0pt,2pt) — (0pt,-2pt) node[below] {\footnotesize $\x$};
\clip(-4.4787,-0.4111) rectangle (5.494,0.575);
\draw[fill=black,fill opacity=0.1, smooth,samples=50,domain=-2.58:2.58] plot(\x,{exp(-(\x)^2/2)/sqrt(2*pi)}) — (2.58,0) — (-2.58,0) — cycle;
\draw[smooth,samples=100,domain=-4.478660464569973:5.493990767592388] plot(\x,{exp(-(\x)^2/2)/sqrt(2*pi)});
\draw (-1.4785,0.580) node[anchor=north west] {Zona di accettazione};
\draw [->,line width=1.2pt] (0,0.5) — (0,0.4122);
\draw (1.5141,0.2737) node[anchor=north west] {Zona di rifiuto};
\draw [->,line width=1.2pt] (3.6492,0.1821) — (3.013,0.0365);
\draw (2.6034,-0.1513) node[anchor=north west] {z critico 2.58};
\draw [->] (3.1959,-0.1278) — (2.5889,-0.0089);
\draw (-4,0.2737) node[anchor=north west] {Zona di rifiuto};
\draw [->,line width=1.2pt] (-3.6492,0.1821) — (-3.013,0.0365);
\draw (-4,-0.1294) node[anchor=north west] {z critico -2.58};
\draw [->] (-3.1056,-0.1137) — (-2.607,-0.0136);
\begin{scriptsize}
\draw (0,0.14) node {$1-\alpha = 0.9901$};
\end{scriptsize}
\end{tikzpicture}
\end{document}
\codeClaudio grazie per i preziosi suggerimenti, ma il risultato a cui miravo è quello riportato dal codice che avevo già postato. Hai ragione nell’evidenziare i pasticci di Geogebra, ma è un programma che utilizzo volentieri e quindi cercherò di fare tesoro dei tuoi consigli per trovare un compromesso.
Liverpool ancora molte grazie. Mi pare di capire però che la difficoltà sta proprio nell’aggiornamento di PGF. Io utilizzo Mac OS X, come posso aggiornare soltanto PGF senza dovere reinstallare tutto?
Emil
-
13 Aprile 2013 alle 18:09 #84743::
[code]
\documentclass[10pt]{article}
\usepackage{pgf,tikz}
\usetikzlibrary{arrows}
\pagestyle{empty}
\begin{document}
\begin{tikzpicture}[x=1cm,y=5cm][line cap=round,line join=round,>=triangle 45,x=1.0cm,y=1.0cm]
\draw[->,color=black] (-4.4787,0) — (4.494,0);
\foreach \x in {-4,-3,-2,-1,0,1,2,3,4}
\draw[shift={(\x,0)},color=black] (0pt,2pt) — (0pt,-2pt) node[below] {\footnotesize $\x$};
\clip(-4.4787,-0.4111) rectangle (5.494,0.575);
\draw[fill=black,fill opacity=0.1, smooth,samples=50,domain=-2.58:2.58] plot(\x,{exp(-(\x)^2/2)/sqrt(2*pi)}) — (2.58,0) — (-2.58,0) — cycle;
\draw[smooth,samples=100,domain=-4.478660464569973:5.493990767592388] plot(\x,{exp(-(\x)^2/2)/sqrt(2*pi)});
\draw (-1.4785,0.580) node[anchor=north west] {Zona di accettazione};
\draw [->,line width=1.2pt] (0,0.5) — (0,0.4122);
\draw (1.5141,0.2737) node[anchor=north west] {Zona di rifiuto};
\draw [->,line width=1.2pt] (3.6492,0.1821) — (3.013,0.0365);
\draw (2.6034,-0.1513) node[anchor=north west] {z critico 2.58};
\draw [->] (3.1959,-0.1278) — (2.5889,-0.0089);
\draw (-4,0.2737) node[anchor=north west] {Zona di rifiuto};
\draw [->,line width=1.2pt] (-3.6492,0.1821) — (-3.013,0.0365);
\draw (-4,-0.1294) node[anchor=north west] {z critico -2.58};
\draw [->] (-3.1056,-0.1137) — (-2.607,-0.0136);
\begin{scriptsize}
\draw (0,0.14) node {$1-\alpha = 0.9901$};
\end{scriptsize}
\end{tikzpicture}
\end{document}
[\code]Claudio grazie per i preziosi suggerimenti, ma il risultato a cui miravo è quello riportato dal codice che avevo già postato. Hai ragione nell’evidenziare i pasticci di Geogebra, ma è un programma che utilizzo volentieri e quindi cercherò di fare tesoro dei tuoi consigli per trovare un compromesso.
Liverpool ancora molte grazie. Mi pare di capire però che la difficoltà sta proprio nell’aggiornamento di PGF. Io utilizzo Mac OS X, come posso aggiornare soltanto PGF senza dovere reinstallare tutto?
Emil
-
13 Aprile 2013 alle 18:10 #84744::
`\documentclass[10pt]{article}
\usepackage{pgf,tikz}
\usetikzlibrary{arrows}
\pagestyle{empty}
\begin{document}
\begin{tikzpicture}[x=1cm,y=5cm][line cap=round,line join=round,>=triangle 45,x=1.0cm,y=1.0cm]
\draw[->,color=black] (-4.4787,0) — (4.494,0);
\foreach \x in {-4,-3,-2,-1,0,1,2,3,4}
\draw[shift={(\x,0)},color=black] (0pt,2pt) — (0pt,-2pt) node[below] {\footnotesize $\x$};
\clip(-4.4787,-0.4111) rectangle (5.494,0.575);
\draw[fill=black,fill opacity=0.1, smooth,samples=50,domain=-2.58:2.58] plot(\x,{exp(-(\x)^2/2)/sqrt(2*pi)}) — (2.58,0) — (-2.58,0) — cycle;
\draw[smooth,samples=100,domain=-4.478660464569973:5.493990767592388] plot(\x,{exp(-(\x)^2/2)/sqrt(2*pi)});
\draw (-1.4785,0.580) node[anchor=north west] {Zona di accettazione};
\draw [->,line width=1.2pt] (0,0.5) — (0,0.4122);
\draw (1.5141,0.2737) node[anchor=north west] {Zona di rifiuto};
\draw [->,line width=1.2pt] (3.6492,0.1821) — (3.013,0.0365);
\draw (2.6034,-0.1513) node[anchor=north west] {z critico 2.58};
\draw [->] (3.1959,-0.1278) — (2.5889,-0.0089);
\draw (-4,0.2737) node[anchor=north west] {Zona di rifiuto};
\draw [->,line width=1.2pt] (-3.6492,0.1821) — (-3.013,0.0365);
\draw (-4,-0.1294) node[anchor=north west] {z critico -2.58};
\draw [->] (-3.1056,-0.1137) — (-2.607,-0.0136);
\begin{scriptsize}
\draw (0,0.14) node {$1-\alpha = 0.9901$};
\end{scriptsize}
\end{tikzpicture}
\end{document}`Claudio grazie per i preziosi suggerimenti, ma il risultato a cui miravo è quello riportato dal codice che avevo già postato. Hai ragione nell’evidenziare i pasticci di Geogebra, ma è un programma che utilizzo volentieri e quindi cercherò di fare tesoro dei tuoi consigli per trovare un compromesso.
Liverpool ancora molte grazie. Mi pare di capire però che la difficoltà sta proprio nell’aggiornamento di PGF. Io utilizzo Mac OS X, come posso aggiornare soltanto PGF senza dovere reinstallare tutto?
Emil
-
14 Aprile 2013 alle 6:28 #84745
-
14 Aprile 2013 alle 6:53 #84746::
EmilLask” post=84199Leggendo con più attenzione mi pare che ancora l’aggiornamento con la risoluzione del bug non sia disponibile, è così?
Sì è cosi. Quello che puoi fare è:
a) scaricare questo file dalla versione di sviluppo e sostituire l’omonimo nel tuo computer (la posizione corretta non la so perché io uso MiKTeX)
b) oppure aggiungere queste righe nel preambolo dopo aver caricato il paccheto TikZ (dovresti farlo per ogni sorgente che ti interessa correggere):
`\makeatletter
\let\pgfmath@function@exp\relax
\pgfmathdeclarefunction{exp}{1}{%
\begingroup
\pgfmath@xc=#1pt\relax
\pgfmath@yc=#1pt\relax
\ifdim\pgfmath@xc<-9pt \pgfmath@x=1sp\relax \else \ifdim\pgfmath@xc<0pt \pgfmath@xc=-\pgfmath@xc \fi \pgfmath@x=1pt\relax \pgfmath@xa=1pt\relax \pgfmath@xb=\pgfmath@x \pgfmathloop% \divide\pgfmath@xa by\pgfmathcounter \pgfmath@xa=\pgfmath@tonumber\pgfmath@xc\pgfmath@xa% \advance\pgfmath@x by\pgfmath@xa \ifdim\pgfmath@x=\pgfmath@xb \else \pgfmath@xb=\pgfmath@x \repeatpgfmathloop% \ifdim\pgfmath@yc<0pt \pgfmathreciprocal@{\pgfmath@tonumber\pgfmath@x}% \pgfmath@x=\pgfmathresult pt\relax \fi \fi \pgfmath@returnone\pgfmath@x% \endgroup } \makeatother` -
14 Aprile 2013 alle 10:00 #84747::
Liverpool” post=84176 @cfiandra, pubblica anche la variante con [tt]pgfplots[/tt]!
La lascio come esercizio 😉
In fondo, prendendo spunto da questa discussione non dovrebbero esserci problemi.
Ciao
Claudio
-
14 Aprile 2013 alle 10:11 #84748::
EmilLask” post=84187`\documentclass[10pt]{article}
\usepackage{pgf,tikz}
\usetikzlibrary{arrows}
\pagestyle{empty}
\begin{document}
\begin{tikzpicture}[x=1cm,y=5cm][line cap=round,line join=round,>=triangle 45,x=1.0cm,y=1.0cm]
\draw[->,color=black] (-4.4787,0) — (4.494,0);
\foreach \x in {-4,-3,-2,-1,0,1,2,3,4}
\draw[shift={(\x,0)},color=black] (0pt,2pt) — (0pt,-2pt) node[below] {\footnotesize $\x$};
\clip(-4.4787,-0.4111) rectangle (5.494,0.575);
\draw[fill=black,fill opacity=0.1, smooth,samples=50,domain=-2.58:2.58] plot(\x,{exp(-(\x)^2/2)/sqrt(2*pi)}) — (2.58,0) — (-2.58,0) — cycle;
\draw[smooth,samples=100,domain=-4.478660464569973:5.493990767592388] plot(\x,{exp(-(\x)^2/2)/sqrt(2*pi)});
\draw (-1.4785,0.580) node[anchor=north west] {Zona di accettazione};
\draw [->,line width=1.2pt] (0,0.5) — (0,0.4122);
\draw (1.5141,0.2737) node[anchor=north west] {Zona di rifiuto};
\draw [->,line width=1.2pt] (3.6492,0.1821) — (3.013,0.0365);
\draw (2.6034,-0.1513) node[anchor=north west] {z critico 2.58};
\draw [->] (3.1959,-0.1278) — (2.5889,-0.0089);
\draw (-4,0.2737) node[anchor=north west] {Zona di rifiuto};
\draw [->,line width=1.2pt] (-3.6492,0.1821) — (-3.013,0.0365);
\draw (-4,-0.1294) node[anchor=north west] {z critico -2.58};
\draw [->] (-3.1056,-0.1137) — (-2.607,-0.0136);
\begin{scriptsize}
\draw (0,0.14) node {$1-\alpha = 0.9901$};
\end{scriptsize}
\end{tikzpicture}
\end{document}`Claudio grazie per i preziosi suggerimenti, ma il risultato a cui miravo è quello riportato dal codice che avevo già postato. Hai ragione nell’evidenziare i pasticci di Geogebra, ma è un programma che utilizzo volentieri e quindi cercherò di fare tesoro dei tuoi consigli per trovare un compromesso.
Liverpool ancora molte grazie. Mi pare di capire però che la difficoltà sta proprio nell’aggiornamento di PGF. Io utilizzo Mac OS X, come posso aggiornare soltanto PGF senza dovere reinstallare tutto?
Emil
Il codice che avevi postato aveva come risultato qualcosa di molto simile a quello che ho realizzato io (altrimenti non lo avrei fatto così per mostrare il codice senza “traduzioni” da GeoGebra, non ti pare?). Del resto, ti basta prendere il tuo primo codice, incollarlo in un documento, cambiare il plot che dava errore con uno funzionante e vedere il risultato.
Visto che volevi una gaussiana semplice… beh: è tutto ancora più semplice: `
\documentclass[png,border=10pt,tikz]{standalone}
\usepackage{tikz}
\usetikzlibrary{backgrounds}
\pgfkeys{/pgf/number format/.cd,fixed,precision=1}\begin{document}
\begin{tikzpicture}[line cap=round,line join=round,>=stealth,y=5cm]
% Assi
\draw[->] (-4.4787,0) — (5.494,0);
% Label asse x
\foreach \x in {-4,-3,…,4}{
\draw (\x,2pt)–(\x,-2pt) node[below,font=\footnotesize]{\x};
}% label c
\node[font=\scriptsize] at (0,0.14) {$1-\alpha = 0.9901$};% varie label
\begin{scope}[->, line width=1.2pt]
\node (x) at (0,0.580) {Zona di accettazione};
\draw (x) — (0,0.4122);
\node[anchor=north west] (y) at (2.9141,0.2337) {Zona di rifiuto};
\draw (y) — (3.013,0.0365);
\node[anchor=north] (y) at (-3.98,0.2572) {Zona di rifiuto};
\draw (y) — (-2.7732,0.0365);
\end{scope}\node[anchor=north west] (z) at (2.4,-0.1513) {z critico 2.58};
\draw [->] (z) — (2.5889,-0.0089);
\node[anchor=north] (z) at (-3.3,-0.1294) {z critico -2.58};
\draw [->] (z) — (-2.607,-0.0136);% in background qualche elemento
\begin{scope}[on background layer]
% gaussiana “non tagliata a 2.58”
\draw[ smooth,samples=50,domain=-4.478660464569973:5.493990767592388] plot (\x,{exp(-(\x)^2/2)/sqrt(2*pi)});
% zona grigio scuro con gaussiana “tagliata a 2.58”
\draw[fill=black,fill opacity=0.1, smooth,samples=50,domain=-2.58:2.58] plot (\x,{exp(-(\x)^2/2)/sqrt(2*pi)}) — (2.58,0) — (-2.58,0) — cycle;
\end{scope}
\end{tikzpicture}
`Ciao
Claudio
-
-
AutoreRisposte
- Devi essere connesso per rispondere a questo topic.