выходной контроллер обратной связи

выходной контроллер обратной связи

На этом рисунке я хочу удалить стрелку, которую я отметил. Что мне делать? Я прикрепил свой код ниже:

\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}

введите описание изображения здесь

решение1

Анализ:

Проблема возникает с двумя последними \drawутверждениями:

  • вы вводите промежуточную точку(point0)
  • это нормально, так как иногда нет другого выбора
  • однако, \draw[->] ...;за которым следует \draw[->] ...;создание артефакта.

Решение:

Объедините два утверждения в одно:

  • рисовать до (точка0)\draw [->] (output) |- node[name=u] {} (point0)
  • А затем просто перезапустите с той же позиции и завершите путь следующим образом:
  • (point0) -- (input |- point0) |- ([yshift=-0.5cm] controller);
  • что приводит к длинному заявлению:
  • \draw [->] (output) |- node[name=u] {} (point0)(point0) -- (input |- point0) |- ([yshift=-0.5cm] controller);

Это один из способов сделать это.

результат

\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}

Связанный контент