我想使用 multido 在 pspicture 中绘制割线。
\documentclass{exam}
\usepackage{multido}
\usepackage{pst-all}
\begin{document}
\psset{xunit=2cm,yunit=1cm}
\begin{pspicture}(-0.4,-1)(6,7)
\def\f(#1){(-0.8*(#1)^2+4*(#1)) AlgParser cvx exec}
\psplot[linewidth=1pt]{0}{5}{\f(x)}
\psplotTangent[arrows=<->,arrowscale=0.5]{1}{1}{\f(x)}
\multido{\i=2+1}{4}{\psline[linewidth=0.5pt, linestyle=dashed](1,\f(1))(\i,\f(\i))}
\end{pspicture}
\end{document}
答案1
\documentclass{exam}
\usepackage{multido}
\usepackage{pst-all}
\begin{document}
\psset{xunit=2cm,yunit=1cm}
\begin{pspicture}(-0.4,-1)(6,7)
\def\f(#1){(-0.8*(#1)^2+4*(#1)) AlgParser cvx exec}
\def\xA{1}
\def\yA{\f(\xA)}
\pnode(!\xA\space \yA){A}
\psplot[linewidth=1pt]{0}{5}{\f(x)}
\psplotTangent[arrows=<->,arrowscale=0.5]{1}{1}{\f(x)}
\multido{\iA=2+1}{4}{%
\psline[linewidth=0.5pt, linestyle=dashed](A)(!{\iA\space \f(\iA)})%
}
\end{pspicture}
答案2
我解决了。谢谢。
\documentclass{exam}
\usepackage{multido}
\usepackage{pst-all}
\begin{document}
\psset{xunit=2cm,yunit=1cm}
\begin{pspicture}(-0.4,-1)(6,7)
\def\f(#1){(-0.8*(#1)^2+4*(#1)) AlgParser cvx exec}
\def\xA{1}
\def\yA{\f(\xA)}
\pnode(!\xA\space \yA){A}
\psplot[linewidth=1pt]{0}{5}{\f(x)}
\psplotTangent[arrows=<->,arrowscale=0.5]{1}{1}{\f(x)}
\multido{\i=2+1}{4}{
\def\xB{\i}
\def\yB{\f(\i)}
\pnode(!\xB\space \yB){B}
\psline[linewidth=0.5pt, linestyle=dashed](A)(B)
}
\end{pspicture}
\end{document}