O \textit{script}~\ref{calculoParametros} calcula os parâmetros $a$ e $b$ do Sistema Xen.
Para isso, deve ser carregada inicialmente no MATLAB uma variável com o nome de \texttt{vals}.
Para o script funcionar, a variável \texttt{vals} deve ser uma matriz bidimensional
com os valores de \textit{cap} usados no experimento na primeira coluna e os valores
de vazão correspondentes na segunda coluna.
O \textit{script}~\ref{calculoParametros} foi realizado com base nos exemplos descritos em~\cite{hellerstein2004feedback}.

\lstset{breaklines=true,language=Matlab,basicstyle=\scriptsize,stringstyle=\ttfamily,numbers=left,numberstyle=\small}
\begin{lstlisting}[float=h!tb, caption=\textit{Script} de cálculo dos parâmetros do modelo., label=calculoParametros]
%Apaga possiveis variaveis existentes
clear up yp mu my u y H theta a b yhat rmse r2 cc nrmse
%Transforma os valores de cap (up) em log na base 10
up = log10(vals(:,1));
%Transforma os valores de vazao (yp) em bit/s para kbit/s
yp = vals(:,2)/1000;
%Calcula ponto de operacao para as variaveis up e yp
mu = mean(up(1:end-1));
my = mean(yp(2:end));
%Calcula o offset das variaveis up e yp
u = up - mu;
y = yp - my;
%Calcula os parametros a e b a partir da funcao mldivide
%Essa funcao e acessada pelo operador '\'
H = [y(1:end-1) u(1:end-1)];
theta = H\y(2:end)
a = theta(1)
b = theta(2)
%Plota o Grafico de Residuos, calculando os valores estimados de vazao (yhat)
yhat = a*y(1:end-1) + b*u(1:end-1);
plot(y(2:end),yhat,' * ',y,y,' -');
%Calcula a metrica r-square
r2 = rsquare(y(2:end),yhat)      
\end{lstlisting}
