Risposte nei forum create
-
AutoreRisposte
-
17 Novembre 2023 alle 11:40 in risposta a: Tikz – schem per lo studio del segno di un polinomio (disequazioni di grado >=3) #121851::
Allora, ho creato un esempio funzionante di codice. L’ho anche migliorato perché adesso permette di inserire il segno di oggetti di secondo grado (o superiore) direttamente.Il codice è il seguente.
`
\documentclass[11pt]{article}\usepackage{tikz, pgfplots, pgfmath, pgffor, amssymb}
\begin{document}
Sign table for the function
\[
f(x) = \frac{x(x^2-1)}{x+2}
\]\bigskip
\begin{tikzpicture}[scale=.80]
% variables and sign array
%
\def\h{0.9}; % row height
\def\w{2.5}; % column width
%
\def\zeros{{“-2”, “-1”, 0, 1}}; % zeros and point of not existence
\def\factors{{“x+2”, “x”, “x^2-1”, “f(x)”}};
\def\signs{{{“-” ,”\nexists” ,”+” , ,”+” , ,”+” , ,”+”},
{“-” , ,”-” , ,”-” ,”0″ ,”+” , ,”+”},
{“+” , ,”+” ,”0″ ,”-” , ,”-” ,”0″ ,”+”},
{“+” ,”\nexists” ,”-” ,”0″ ,”+” ,”0″ ,”-” ,”0″ ,”+”},
}};
%
\pgfmathsetmacro\nzeros{dim(\zeros)-1}; % number of zeros
\pgfmathsetmacro\ncol{2*dim(\zeros)}; % Number of columns
\pgfmathsetmacro\nrow{dim(\factors)-1}; % number of rows% Abscissa axis
%
\draw[->] (-\w, 0) — ({(\nzeros+1)*\w+0.125}, 0) node[above]{$x$};
\draw (-\w, {-\nrow*\h}) — ({(\nzeros+1)*\w}, {-\nrow*\h});% Zeros and vertical (dotted) lines
%
\foreach \i in {0,…,\nzeros} {
\draw[dotted, gray!80] (\i*\w, {-(\nrow+0.125)*\h}) — (\i*\w, 0);
\draw (\i*\w, 0) — (\i*\w, +0.125) node[above] {$\pgfmathparse{\zeros[\i]}\pgfmathresult$};
}% Signs and zeros table
%
\foreach \row in {0,…,\nrow} {
\nodeat (-\w-0.125, {-(\row+0.5)*\h}) {\footnotesize signs of\, $\pgfmathparse{\factors[\row]}\pgfmathresult$};
\foreach \col in {0,…,\ncol} {
\node at ({(\col-1)*\w/2}, {-(\row+0.5)*\h}) {$\pgfmathparse{\signs[\row][\col]}\pgfmathresult$}; % <-- (1) } } \end{tikzpicture} \end{document} ` Purtroppo non riesco ancora a risolvere il problema della sovrapposizione della riga punteggiata con gli zeri. Ho provato con un box ma crea un box vuoto anche sulla linea tratteggiata. Ho provato con un \contour ma mi restituisce un errore del tipo: Incomplete \iffalse; all text was ignored after line 52.} dove la linea 52 è la fine dell'ultimo \foreach. Immagino che sia dovuto ad una eccezione dovuta al tentativo di creare un contorno di un carattere nullo (da cui il riferimento ad un \iffalse che probabilmente è nella definzione di \contour). Questo suggerisce anche una possibile strada per sistemare il codice. Gestendo l'eccezione del contenuto nullo in contour. Ma anche questa al momento è una ipotesi di lavoro Ciao R.7 Novembre 2023 alle 17:49 in risposta a: Tikz – schem per lo studio del segno di un polinomio (disequazioni di grado >=3) #121849::
Ciao,grazie per aver risposto. Il problema che ho non riguarda la parte tikz (quindi il codice da te proposto per creare lo spazio bianco) quanto in realtà nei controlli. Non riesco a gestire i tipi di dati e a realizzare controlli funzionanti. Né riesco a trovare una fonte su questo argomento che sia completa e mi permetta di agire a mio piacimento
Detto questo, cercando sui forum in inglese ho trovato diverse alternative. Quella che mi sembra più promettente è questa:
https://tex.stackexchange.com/questions/598780/sign-table-with-bullets-and-circles
Che però va assolutamente modificata da un punto di vista estetico (per farla assomigliare a quella creata da me).
Ora sono un po’ impegnato a scuola, ma nel weekend ci metto un po’ mano. Pur conoscendo Tikz non coscevo Tikz-tab che è stato usato.
Dopo alcuni tentativi ti aggiorno se vuoi per vedere cosa sono riuscito a fare.
Grazie di nuovo,
Roberto
P.S. Per interropere la linea punteggiata in un certo punto (nota 1) ci vuole comunque un controllo che è proprio il mio problema
(nota: oppure al contrario farla sempre interrotta e metterla solo dove non vanno gli zeri e i \nexists)
4 Novembre 2023 alle 15:22 in risposta a: Tikz – schem per lo studio del segno di un polinomio (disequazioni di grado >=3) #121847::
Sto parlando del grafico dei segni che si usa per risolvere una disequazione.Il codice che ho copiato (e che ho creato) produce questo:
https://drive.google.com/file/d/1RtrLDg31cLv9Gr4e7zDwZbQP4nBDm9jx/view?cf_lbyyhhwhyjj5l3rs65cb3w=ppte4rhs9nl6j6hwtw7fcIo vorrei solo perfezionarlo per evitare la sovrapposizione di 0 e \nexists sulle righe punteggiate verticali.
4 Novembre 2023 alle 14:47 in risposta a: Tikz – schem per lo studio del segno di un polinomio (disequazioni di grado >=3) #121845::
Perdonami, ma io ho usato chiaramente TikZ con pgfplots. E conosco la chilometrica documentazione.Quello che non riesco a trovare è come definire opportunamente array misti e come fare i controlli in base alla tipologia delle variabili.
Se riuscissi a capire come scrivere la condizione che mi identifica gli elementi (volutamente) nulli nell’array potrei perfezionare il codice. Ma non li trovo
I controlli che cerco sono del tipo
Se array[j] not= nullo allora scrivi questo
Se array[j] = 0 OR array[j] = “\nexists” allora scrivi questoo, più semplicemente un ciclo FOR che da solo esclude i valori nulli dell’array
e non serve neanche l’else
R.
2 Novembre 2023 alle 18:27 in risposta a: Tikz – schem per lo studio del segno di un polinomio (disequazioni di grado >=3) #121843::
Rispondo a tutti,Seguendo il suggerimento di OldClaudio, ho provato ad impostare un numero basso di campioni: 80, poi sperimentando ho trovato che con 160 si riesce ad avere un buon grafico, (fig 1 allegata).
In precedenza avevo però adottato la medesima soluzione al caso di x sin (1/x) (in figura 2) ma il grafico continuava ad avere problemi. Però allora scelsi un numero di campioni elevatissimo 500, 1000 convinto che maggiore fosse il numero di campioni e migliore sarebbe stata la resa.
Scegliendo un numero più piccolo di campioni (sempre 160) si ottiene un buon grafico anche di x sin (1/x), ma qui bisogna usare in combinazione smooth (figura 3)
Quanto a pgfplots, sicuramente lo studierò in estate ora avevo bisogno di una soluzione “in time” e mi trovavo comodo con questo sistema customizzato da me.
Ringrazio tutti per gli interventi.
Roberto
Attachments:
You must be logged in to view attached files. -
AutoreRisposte