大家好。我想使用 circuitikz 制作此图。到目前为止,我有以下内容:
\begin{circuitikz}
\draw (0,0) to [twoport, blocks/scale=0.8, name=D1, t={a}] ++(1.5,0) coordinate(E1);
\draw (0,-0.8) to [twoport, blocks/scale=0.8, name=D2, t={b}] ++(1.5,0) coordinate(E2);
\draw (0,-1.6) to [twoport, blocks/scale=0.8, name=D3, t={c}] ++(1.5,0) coordinate(E3);
\draw (0,-2.4) to [twoport, blocks/scale=0.8, name=D4, t={d}] ++(1.5,0) coordinate(E4);
\draw (E1) to [mstline, name=R1] ++(3,0) coordinate(B1);
\draw (E2) to [mstline, name=R2] ++(3,0) coordinate(B2);
\draw (E3) to [mstline, name=R3] ++(3,0) coordinate(B3);
\draw (E4) to [mstline, name=R4] ++(3,0) coordinate(B4);
\node at (R1.center) {1};
\node at (R2.center) {2};
\node at (R3.center) {3};
\node at (R4.center) {4};
\draw (5,0) to [twoport, blocks/scale=0.8, t={$A_{11}$}, name=S1] ++(0.8,0);
\draw (5.8,0) to [twoport, blocks/scale=0.8, t={$A_{11}$}] ++(0.8,0) coordinate(S2);
\draw (6.6,0) to [twoport, blocks/scale=0.8, t={$A_{11}$}] ++(0.8,0) coordinate(S3);
\draw (7.4,0) to [twoport, blocks/scale=0.8, t={$A_{11}$}] ++(0.8,0) coordinate(S4);
\draw (8.2,0) to [twoport, blocks/scale=0.8, t={$A_{11}$}] ++(0.8,0) coordinate(S5);
\draw (9,0) to [twoport, blocks/scale=0.8, t={$A_{11}$}] ++(0.8,0) coordinate(S6);
\draw (5,-0.8) to [twoport, blocks/scale=0.8, t={$A_{11}$}] ++(0.8,0);
\draw (5.8,-0.8) to [twoport, blocks/scale=0.8, t={$A_{11}$}] ++(0.8,0);
\draw (6.6,-0.8) to [twoport, blocks/scale=0.8, t={$A_{11}$}] ++(0.8,0);
\draw (7.4,-0.8) to [twoport, blocks/scale=0.8, t={$A_{11}$}] ++(0.8,0);
\draw (8.2,-0.8) to [twoport, blocks/scale=0.8, t={$A_{11}$}] ++(0.8,0);
\draw (9,-0.8) to [twoport, blocks/scale=0.8, t={$A_{11}$}] ++(0.8,0);
\draw (5,-1.6) to [twoport, blocks/scale=0.8, t={$A_{11}$}] ++(0.8,0);
\draw (5.8,-1.6) to [twoport, blocks/scale=0.8, t={$A_{11}$}] ++(0.8,0);
\draw (6.6,-1.6) to [twoport, blocks/scale=0.8, t={$A_{11}$}] ++(0.8,0);
\draw (7.4,-1.6) to [twoport, blocks/scale=0.8, t={$A_{11}$}] ++(0.8,0);
\draw (8.2,-1.6) to [twoport, blocks/scale=0.8, t={$A_{11}$}] ++(0.8,0);
\draw (9,-1.6) to [twoport, blocks/scale=0.8, t={$A_{11}$}] ++(0.8,0);
\draw (5,-2.4) to [twoport, blocks/scale=0.8, t={$A_{11}$}] ++(0.8,0);
\draw (5.8,-2.4) to [twoport, blocks/scale=0.8, t={$A_{11}$}] ++(0.8,0);
\draw (6.6,-2.4) to [twoport, blocks/scale=0.8, t={$A_{11}$}] ++(0.8,0);
\draw (7.4,-2.4) to [twoport, blocks/scale=0.8, t={$A_{11}$}] ++(0.8,0);
\draw (8.2,-2.4) to [twoport, blocks/scale=0.8, t={$A_{11}$}] ++(0.8,0);
\draw (9,-2.4) to [twoport, blocks/scale=0.8, t={$A_{11}$}] ++(0.8,0);
\end{circuitikz}
我对箭头和箭头上方的名称有些疑问。此外,我知道可以在 circuitikz 中添加天线,但我无法正确完成。如果您能帮助我完成此图,我将不胜感激。
答案1
我认为对于您使用的图表类型,“路径”语法circuitikz
并不总是最好的——大多数情况下,使用简单节点就可以解决问题。我现在时间有限,但我可以就一件作品提供我的看法;我建议您看一下,matrix
这foreach
可以帮助您以更紧凑的方式进行绘图。
反正:
\documentclass[border=10pt]{standalone}
\usepackage[siunitx, RPvoltages]{circuitikz}
\usetikzlibrary{shapes.geometric}
\tikzset{square/.style={regular polygon,regular polygon sides=4, minimum size=1.5cm}}
\begin{document}
\begin{circuitikz}
\draw (0,0) node [draw, square](a){a} (a.east) to [mstline, name=R1] ++(3,0) -- ++(1,0)
node[draw, square, anchor=west](A11){$A_{11}$};
\node at (R1.center) {1};
\node [inputarrow] at (R1.west) {};
\node [inputarrow] at (A11.west) {};
\path ($(R1.east)!0.5!(A11.west)$) node[above]{a};
\node [bareantenna](ant1) at(A11.north) {};
\node [waves, scale=0.5, anchor=left, rotate=90] at (ant1.top) {};
\end{circuitikz}
\end{document}
会给你这个: