Ho modificato il codice che crea l’immagine con le due nuove features :
– In più sarebbe bello che capisse in automatico il numero di campioni totale così da inserire gli zeri nel grafico.
– sarebbe bello si riuscisse a fare in automatico le coppie [numero reale, numero immaginario] indipendentemente dal numero di poli.
`
\documentclass[landscape,a5paper,11pt]{article}
\usepackage[utf8x]{inputenc} % utf8 encoding
\usepackage{color} % change text color
\usepackage{tikz}
\usepackage{pgfplots}
\usepackage{pgfplotstable}
\usepackage[active,tightpage]{preview}
\PreviewEnvironment{tikzpicture}
\setlength\PreviewBorder{0pt}
\usetikzlibrary{plotmarks}
%nome del file
\newcommand{\name}{dati.mat}
\begin{document}
\begin{tikzpicture}
\pgfplotstableread[header=true]{\name}{\datawhead}
\pgfplotstableread[header=false]{\name}{\data}
\pgfplotstablegetrowsof{\datawhead}
\pgfmathsetmacro{\rows}{\pgfplotsretval}
\pgfplotstablegetcolsof{\data}
\pgfmathsetmacro{\cols}{\pgfplotsretval}
\pgfmathsetmacro{\goodrows}{\rows-2}
\pgfmathsetmacro{\goodcols}{(\cols-1)/2-1}
\begin{axis}[ymin=-150,ymax=150,xmin=-19,xmax=2,xmajorgrids,ymajorgrids,xtick={0},ytick={0}]
\foreach \re in {0,1,…,\goodcols}{
\pgfmathparse{int(\re + 4)}\let\im=\pgfmathresult
\pgfplotstablegetelem{0}{\re}\of\datawhead
\let\varpr = \pgfplotsretval
\pgfplotstablegetelem{0}{\im}\of\datawhead
\let\varpi = \pgfplotsretval
\addplot[mark = x] coordinates {(\varpr,\varpi)};
\pgfplotstablegetelem{\goodrows}{\re}\of\datawhead
\let\varzr = \pgfplotsretval
\pgfplotstablegetelem{\goodrows}{\im}\of\datawhead
\let\varzi = \pgfplotsretval
\addplot[mark = o] coordinates {(\varzr,\varzi)};
\addplot[no marks] table[x index = \re, y index = \im]{\name};
}
\end{axis}
\end{tikzpicture}
\end{document}
`
Ora una cosa che mi chiedevo è se era possibile rendere il grafico un po’ smooth.
Ho provato ma il risultato è pessimo (la funzione non segue assolutamente l’andamento corretto);
mi chiedevo se esistevano diverse tipologie di smooth magari che utilizzano algoritmi diversi per unire i punti nel grafico oppure se esistevano comandi differenti per questo scopo.
Il resto va bene il grafico risulta però un po’ povero e quindi non molto gradevole chi avesse delle idee per completarlo sono beneaccette.
Di seguito inserisco anche dei dati di prova per testare il codice.
`
0.0000000e+000 -1.6083257e+001 -1.6083257e+001 -5.3334869e+000 0.0000000e+000 6.5534488e+001 -6.5534488e+001 0.0000000e+000 0.0000000e+000
-1.0387366e-001 -1.6083215e+001 -1.6083215e+001 -5.2296956e+000 0.0000000e+000 6.5538109e+001 -6.5538109e+001 0.0000000e+000 8.1490264e+000
-3.1745913e-001 -1.6083135e+001 -1.6083135e+001 -5.0162712e+000 0.0000000e+000 6.5545105e+001 -6.5545105e+001 0.0000000e+000 2.3893509e+001
-1.1028158e+000 -1.6082891e+001 -1.6082891e+001 -4.2314017e+000 0.0000000e+000 6.5565632e+001 -6.5565632e+001 0.0000000e+000 7.0057418e+001
-2.5830389e+000 -1.6082690e+001 -1.6082690e+001 -2.7515817e+000 0.0000000e+000 6.5581962e+001 -6.5581962e+001 0.0000000e+000 1.0675388e+002
-2.6673108e+000 -1.6082689e+001 -1.6082689e+001 -2.6673110e+000 0.0000000e+000 6.5582010e+001 -6.5582010e+001 0.0000000e+000 1.0686074e+002
-2.6673115e+000 -1.6082688e+001 -1.6082688e+001 -2.6673115e+000 -8.4271264e-002 6.5582058e+001 -6.5582058e+001 8.4271264e-002 1.0696760e+002
-2.6678868e+000 -1.6082113e+001 -1.6082113e+001 -2.6678868e+000 -2.5575616e+000 6.5625929e+001 -6.5625929e+001 2.5575616e+000 2.0541319e+002
-2.6707166e+000 -1.6079283e+001 -1.6079283e+001 -2.6707166e+000 -5.7194884e+000 6.5803680e+001 -6.5803680e+001 5.7194884e+000 6.0228567e+002
-2.6837242e+000 -1.6066276e+001 -1.6066276e+001 -2.6837242e+000 -1.0386681e+001 6.6332966e+001 -6.6332966e+001 1.0386681e+001 1.7659432e+003
-2.7617205e+000 -1.5988279e+001 -1.5988279e+001 -2.7617205e+000 -1.7746353e+001 6.7951656e+001 -6.7951656e+001 1.7746353e+001 5.1778675e+003
-3.2851406e+000 -1.5464859e+001 -1.5464859e+001 -3.2851406e+000 -2.8509726e+001 7.3189874e+001 -7.3189874e+001 2.8509726e+001 1.5181865e+004
-5.5465705e+000 -1.3203430e+001 -1.3203430e+001 -5.5465705e+000 -3.9760466e+001 9.0611038e+001 -9.0611038e+001 3.9760466e+001 4.4514279e+004
-6.1863124e+000 -1.2563688e+001 -1.2563688e+001 -6.1863124e+000 -4.1412378e+001 9.7010898e+001 -9.7010898e+001 4.1412378e+001 5.5264861e+004
-6.6944716e+000 -1.2055528e+001 -1.2055528e+001 -6.6944716e+000 -4.2556842e+001 1.0321275e+002 -1.0321275e+002 4.2556842e+001 6.6015444e+004
-7.4211868e+000 -1.1328813e+001 -1.1328813e+001 -7.4211868e+000 -4.4012190e+001 1.1492517e+002 -1.1492517e+002 4.4012190e+001 8.7516610e+004
-8.2357836e+000 -1.0514216e+001 -1.0514216e+001 -8.2357836e+000 -4.5465781e+001 1.3582335e+002 -1.3582335e+002 4.5465781e+001 1.3051894e+005
-9.9961508e+000 -8.7538492e+000 -8.7538492e+000 -9.9961508e+000 -4.8249472e+001 2.7249372e+003 -2.7249372e+003 4.8249472e+001 5.9387299e+007
-1.0000000e+001 Inf Inf -1.0000000e+001 -4.8255274e+001 0.0000000e+000 0.0000000e+000 4.8255274e+001 Inf
`
Gastone