4

I need to plot a rectangular waveform with Latex. The main problem is how to make the height of the pulse "variable" not a "number" as you can see in the figure below. "x" here is some variable that will be found by calculations.

enter image description here

3 Answers 3

4

A PSTricks solution just for comparison purpose.

\documentclass[pstricks,border=12pt,12pt]{standalone}
\usepackage{pst-plot}
\begin{document}
\begin{pspicture}(-1,-1)(11.5,5.5)
    \psaxes[ticks=x,labels=x]{->}(0,0)(-1,-1)(11,5)[$t$,0][$A(t)$,90]
    \multips(0,0)(2,0){5}{\psline[linecolor=blue,linewidth=2pt](0,0)(0,4)(1,4)(1,0)(2,0)}
    \uput{5pt}[180](0,4){$\sqrt{R_s}$}
\end{pspicture}
\end{document}

enter image description here

6
  • Thank you so much for your help. However, when I tried to run the codes you gave me, it gives me the following error: ! Undefined control sequence. \c@lor@to@ps ->\PSTricks _Not_Configured_For_This_Format l.6 ...xes{->}(0,0)(-1,-1)(12,5)[$t$,0][$A(t)$,90] ?
    – Ali A.
    Nov 23, 2018 at 14:31
  • Can you please help me more? How I can use these options? Thanks.
    – Ali A.
    Nov 23, 2018 at 14:37
  • Yes I use win 10
    – Ali A.
    Nov 23, 2018 at 14:39
  • This works.. :) One more thing please, How can I can make the height of the pulses in terms of a variable not number, as I mentioned in my post and as shown in the figure I attached to it. Many thanks..
    – Ali A.
    Nov 23, 2018 at 14:47
  • 1
    Thank you so much for your time and help. It works perfectly now.. :)
    – Ali A.
    Nov 23, 2018 at 15:15
3

A simple approach using TikZ.

enter image description here

\documentclass[border=3.14mm]{standalone}
\usepackage{tikz}
\begin{document}
  \begin{tikzpicture}
    \def\x{1} % replace 1 with desired value here
    \draw[-latex] (0,0) -- ++(4,0)  node[right]{$t$};
    \draw[-latex] (0,0) -- ++(0,2.0\x)node[left]{$A(t)$};
    \draw[thick] (0,\x)node[left]{$\sqrt{x}$} -- ++(1,0) -- ++(0,-\x)node[below]{1} -- ++(1,0) -- ++(0,\x) -- ++(1,0) -- ++(0,-\x)node[below]{3} -- ++(0.5,0);
  \end{tikzpicture}
\end{document}
2

Since this question is tagged tikz-pgf, I thought you may also be interested in a TikZ code. (One of its advantageous is that this works with pretty much any compiler.)

\documentclass[tikz,border=3.14mm]{standalone}
\begin{document}
\begin{tikzpicture}
\pgfmathsetmacro{\h}{2}
\pgfmathsetmacro{\L}{4}
\draw[thick,-latex] (0,-0.5) -- (0,\h+2) node[above] {$A(t)$};
\draw[thick,-latex] (-0.5,0) -- (2*\L+1,0) node[right] {$t$};
\foreach \X [evaluate=\X as \Z using {int(2*\X-1)},] in {1,...,\L}
{\draw[very thick,blue] (2*\X-2,0) |- (2*\X-1,\h) |- (2*\X,0);
\draw (\Z,0.1) -- (\Z,-0.1) node[below]{$\Z$};}
\end{tikzpicture}
\end{document}

enter image description here

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .