Lavorando ci un po’ su posso spiegare i passaggi iniziali.
Il grafico che ottengo però non è molto bello.
Se qualcuno trovasse dei modi per migliorarlo è bene accetto.
Allora su matlab:
`
[r,k] = rlocus(FDT);
r_re_im= [real(r)',imag(r)',k'];
save('dati.mat','-ascii','r_re_im');
`
Invece per creare il pdf con il grafico con pgfplots:
`
\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}
%inserire il numero di righe
\newcommand{\righenum}{17}
\begin{document}
\begin{tikzpicture}
\begin{axis}[ymin=-150,ymax=150,xmin=-19,xmax=2,xmajorgrids,ymajorgrids,xtick={0},ytick={0}]
%qui bisogna inserire tutte le colonne a gruppi reale immaginario
%in questo caso il grafico ha 4 poli
\foreach \re / \im in {0/4,1/5,2/6,3/7}{
\pgfplotstablegetelem{0}{\re}\of{\name}
\let\varpr = \pgfplotsretval
\pgfplotstablegetelem{0}{\im}\of{\name}
\let\varpi = \pgfplotsretval
\addplot[mark = x] coordinates {(\varpr,\varpi)};
\pgfplotstablegetelem{\righenum}{\re}\of{\name}
\let\varzr = \pgfplotsretval
\pgfplotstablegetelem{\righenum}{\im}\of{\name}
\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}
`
Ci sono vari abbellimenti che possono essere fatti al grafico.
– 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.
Grazie a tutti per i consigli.
Gastone