输出反馈控制器

输出反馈控制器

在此图中,我想删除我标记的箭头。我该怎么办?我在下面附上了我的代码:

\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[->] ...;创建的是工件。

解决方案:

将两个语句合并为一个:

  • 绘制直到(point0)\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}

相关内容