controlador de realimentação de saída

controlador de realimentação de saída

Nesta figura quero deletar a seta que marquei. O que devo fazer? Anexei meu código abaixo:

\documentclass[]{article}
\usepackage{tikz}
\usetikzlibrary{shapes,arrows}
\usetikzlibrary{arrows,calc,positioning}

\tikzset{
    block/.style = {draw, rectangle,
        minimum height=1cm,
        minimum width=2cm},
    input/.style = {coordinate,node distance=1cm},
    out/.style = {coordinate,node distance=4cm},
    output/.style = {coordinate,node distance=1cm},
    arrow/.style={draw, -latex,node distance=2cm},
    pinstyle/.style = {pin edge={latex-, black,node distance=2cm}},
    sum/.style = {draw, circle, node distance=1cm}, 
     point/.style = {draw, fill=black, circle, minimum size=0.08mm, node distance=1.5cm, inner sep=0pt},
}

\begin{document}
    
    
        \begin{center}
        \begin{tikzpicture}[auto,>=latex']
            % Start by placing nodes
            \node [input, name=input] {};
            \node [block, right=1cm of input] (controller) {{$?$}};
            \node [block, right=1cm of controller] (system) {$\mathcal {A},\mathcal {B}$};
            \node [block, right=1cm of system] (C) {$\mathcal {C}$};
            \node [output, right=1cm of C] (output) {};
            %\node [block, below=1cm of C] (L) {{$L$}};
            \node [point, below =1cm of C] (point0){};
            % Connect away!
            \draw [->] ([xshift=-1cm] input) -- (input) -- node {$u$} (controller);
            \draw [->] (controller) --  (system);
            \draw [->] (system) --  (C);
            \draw [->] (C) -- node [name=y] {$y$} (output) -- ([xshift=1cm] output);
            \draw [->] (system) -- node [name=x] {$x$} (C);
            
            \draw [->] (output) |- node[name=u] {} (point0);
        
        \draw [->] (point0) -- (input |- point0) |- ([yshift=-0.5cm] controller);
        
    
    
         
             
    
        \end{tikzpicture}
            
        \end{center}

\end{document}

insira a descrição da imagem aqui

Responder1

Análise:

O problema surge com as duas últimas \drawafirmações:

  • você introduz um ponto intermediário(point0)
  • tudo bem, pois às vezes não há outra escolha
  • no entanto, \draw[->] ...;seguido por \draw[->] ...;cria o artefato.

Solução:

Mesclar as duas declarações em uma:

  • empate até (ponto0)\draw [->] (output) |- node[name=u] {} (point0)
  • E então é só reiniciar na mesma posição e terminar o caminho assim:
  • (point0) -- (input |- point0) |- ([yshift=-0.5cm] controller);
  • o que resulta em uma longa declaração:
  • \draw [->] (output) |- node[name=u] {} (point0)(point0) -- (input |- point0) |- ([yshift=-0.5cm] controller);

Essa é uma maneira de fazer isso.

resultado

\documentclass[]{article}
\usepackage{tikz}
\usetikzlibrary{shapes,arrows}
\usetikzlibrary{arrows,calc,positioning}

\tikzset{
    block/.style = {draw, rectangle,
        minimum height=1cm,
        minimum width=2cm},
    input/.style = {coordinate,node distance=1cm},
    out/.style = {coordinate,node distance=4cm},
    output/.style = {coordinate,node distance=1cm},
    arrow/.style={draw, -latex,node distance=2cm},
    pinstyle/.style = {pin edge={latex-, black,node distance=2cm}},
    sum/.style = {draw, circle, node distance=1cm}, 
     point/.style = {draw, fill=black, circle, minimum size=0.08mm, node distance=1.5cm, inner sep=0pt},
}

\begin{document}
\begin{center}
 \begin{tikzpicture}[auto,>=latex']
    % Start by placing nodes
    \node [input, name=input] {};
    \node [block, right=1cm of input] (controller) {{$?$}};
    \node [block, right=1cm of controller] (system) {$\mathcal {A},\mathcal {B}$};
    \node [block, right=1cm of system] (C) {$\mathcal {C}$};
    \node [output, right=1cm of C] (output) {};
    %\node [block, below=1cm of C] (L) {{$L$}};
    \node [point, below =1cm of C] (point0){};
    % Connect away!
    \draw [->] ([xshift=-1cm] input) -- (input) -- node {$u$} (controller);
    \draw [->] (controller) --  (system);
    \draw [->] (system) --  (C);
    \draw [->] (C) -- node [name=y] {$y$} (output) -- ([xshift=1cm] output);

    \draw [->] (system) -- node [name=x] {$x$} (C);
    \draw [->] (output) |- node[name=u] {} (point0)(point0) -- (input |- point0) |- ([yshift=-0.5cm] controller);
 \end{tikzpicture} 
\end{center}
\end{document}

informação relacionada