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

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

  • 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 '18 at 14:31
  • Can you please help me more? How I can use these options? Thanks. – Ali A. Nov 23 '18 at 14:37
  • Yes I use win 10 – Ali A. Nov 23 '18 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 '18 at 14:47
  • 1
    Thank you so much for your time and help. It works perfectly now.. :) – Ali A. Nov 23 '18 at 15:15
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

2

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}

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.