3

Please help me draw this diagram. I'm practicing on TikZ, but it's so difficult.

enter image description here

I don't know which library I should use, matrix/chain or another something ? I also don't know how to draw a circle connector like picture. Please help me draw this picture.

2
3

One option using TikZ; the only point that perhaps deserves some comment is the curved arrow, produced using an arc path and a decoration:

\documentclass{article}
\usepackage{amsmath}
\usepackage{tikz}
\usetikzlibrary{positioning,decorations.markings,calc}

\begin{document}

\begin{tikzpicture}[
node distance=2cm and 1cm,
mynode/.style={
  draw,
  text width=6cm,
  align=center,
  text height=3ex,
  text depth=1.5ex,
}
]
\node[mynode] (out) {Output};
\node[mynode,text width=4cm,below=of out] (sh) {State/Hidden};
\node[mynode,below=of sh] (in) {Input};

\draw[-latex] (in) -- node[fill=white] {Weights $V$}(sh);
\draw[-latex] (sh) -- node[fill=white] {Weights $W$}(out);

\begin{scope}[radius=1.2cm]
\draw[
decoration={
  markings,
  mark=at position 0.999 with {\arrow{latex}}
  },
postaction=decorate
]
(sh.16) arc[start angle=160,end angle=-150] (sh.-17);

\node[xshift=1.3cm,anchor=west,text width=2.8cm,align=center] 
at (sh.east) {Weights $U$\\(dealyed)};
\end{scope}

\node[anchor=west,text width=4cm] at ([xshift=4cm] $ (in.north)!0.5!(sh.south)$ ) {%
        $\displaystyle
        \begin{aligned}
            &y_j(t)=f(\mathrm{net}_j)\\
            &\mathrm{net}_j(t)=\sum_i v_{ji} x_i(t)+\sum_h u_{jh}y_h(t-1)+\theta_j
        \end{aligned}$
};

\node[anchor=west,text width=4cm] at ([xshift=4cm] $ (sh.north)!0.5!(out.south)$ ) {%
        $\displaystyle
        \begin{aligned}
            &y_k(t)=g(\mathrm{net}_k)\\
            &\mathrm{net}_k(t)=\sum_j w_{kj} y_j(t)+\theta_k
        \end{aligned}$
};
\end{tikzpicture}

\end{document}

enter image description here

3

With PSTricks. Just for fun!

\documentclass[preview,border={15pt 15pt 170pt 15pt}]{standalone}
\usepackage{pst-node}
\usepackage{amsmath}
\usepackage{palatino}
\begin{document}
\offinterlineskip
\psmatrix[mnode=r,rowsep=2.5cm]
    \psframebox{\parbox{4cm}{\centering Output}}\\
    \psframebox{\parbox{3cm}{\centering State/hidden}}\\
    \psframebox{\parbox{5cm}{\centering Input}}
\endpsmatrix
\psset{arrows=->}
% bottom
\ncline{3,1}{2,1}\ncput*{Weights V}
\nbput[npos=.3,labelsep=1.5]{%
    \parbox{4cm}{%
        $\displaystyle
        \begin{aligned}
            &y_j(t)=f(net_j)\\
            &net_j(t)=\sum_i v_{ji} x_i(t)+\sum_h u_{jh}y_h(t-1)+\theta_j
        \end{aligned}$
}}
% middle
\ncloop[angleA=90,angleB=-90,arm=.5,linearc=.3,loopsize=1.5,offset=-1]{2,1}{2,1}
\naput{\parbox{2cm}{Weights U\\\centering(delayed)}}
% top
\ncline{2,1}{1,1}\ncput*{Weights W}
\nbput[npos=.6,labelsep=1.5]{%
    \parbox{4cm}{%
        $\displaystyle
        \begin{aligned}
            &y_k(t)=g(net_k)\\
            &net_k(t)=\sum_j w_{kj} y_j(t)+\theta_k
        \end{aligned}$
}}
\end{document}

enter image description here

3
  • Please check again the labels and equations, I might make typos. :-) – kiss my armpit Sep 13 '13 at 7:44
  • @pgcftricks Can you make it by tikz? – phuong Sep 13 '13 at 10:10
  • 3
    @phuong: no time to read the tikz manual right now. :-) – kiss my armpit Sep 13 '13 at 13:06

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.