
PSTricks를 사용하여 다음 그래프를 만들고 싶습니다.
데이터는 다음에서 다운로드할 수 있습니다.http://gupl.dk/705644/, 세 개의 그래프와 함께 그려져야 합니다. 이전에 이와 유사한 데이터와 함수를 플롯한 적이 있지만 어떤 이유로 이를 플롯하는 방법을 알 수 없습니다. psgraph
환경 내부 pspicture
환경 내부 환경 을 넣으려고 했지만 figure
y축의 크기가 잘못 조정되었습니다.
\documentclass{article}
\usepackage{pst-plot}
\begin{document}
\begin{figure}
\centering
\psset{
xAxisLabel = {$t$~(s)},
yAxisLabel = {$x$~(m)}
}
\begin{pspicture}(-0.7,0.06)(5.4,0.14)
\begin{psgraph}[
Dy = 0.01,
Oy = 0.0954
]{->}(0,0.0954)(0,0.065)(5.2,0.13){10cm}{7cm}
\readdata{\daempning}{daempning.txt}
\dataplot[
plotstyle = dots,
dotsize = 4pt,
dotstyle = o,
fillstyle = solid,
fillcolor = blue
]{\daempning}
\end{psgraph}
\end{pspicture}
\caption{D{\ae}mpede svingninger af fjeder.}
\label{fig:daempede-svingninger}
\end{figure}
\end{document}
업데이트
이제 데이터를 플롯할 수 있었습니다.
\documentclass{article}
\usepackage{
pst-plot,
pst-math
}
\psset{
xunit = 1.95,
yunit = 0.8,
algebraic
}
\begin{document}
\begin{figure}
% constants.
\def\bKonst{0.182323628}
\def\mKonst{0.179887}
\def\kKonst{25.04285714}
\def\omegaSHBKonst{12.1277}
\def\omegadKonst{1.026}
\def\AKonst{0.0264572}
\def\pKonst{0.095398}
% functions (something is wrong here)
\def\hFunk(#1){\AKonst*exp(-\bKonst/(2*\mKonst)*#1)}
\def\spring(#1){\hFunk(#1)*ACOS(sqrt(\kKonst/\mKonst-(\bKonst/(2*\mKonst))^2)*#1+ATAN(\bKonst/\mKonst/(\omegaSHBKonst^2-\omegadKonst^2)))+\pKonst}
% data
\readdata{\daempning}{daempning.txt}
% plot
\centering
\begin{pspicture}(-0.57,5.35)(5.65,16.9)
\pstScalePoints(1,8){1000 div}{660 sub 600 div}
\psaxes[
dx = 1,
Dx = 1.00,
xsubticks = 5,
dy = 1,
Dy = 0.005,
Oy = 0.095,
comma
]{->}(0,9.5398)(0,5.5)(5.25,16)[$t$~(s),0][$x$~(m),90]
\listplot[
plotstyle = dots,
dotstyle = o,
fillcolor = red
]{\daempning}
% \psplot{0}{5}{\spring(x)}
\end{pspicture}
\caption{D{\ae}mpede svingninger af fjeder.}
\label{fig:daempede-svingninger}
\end{figure}
\end{document}
하지만 세 개의 그래프 때문에 여전히 머리가 아프네요. 어떻게 플롯합니까?
답변1
그것은 COS
이고 아니다 ACOS
!
\documentclass{article}
\usepackage{pst-plot,pst-math}
\psset{xunit = 1.95,yunit = 100,algebraic}
\begin{document}
\def\bKonst{0.182323628}
\def\mKonst{0.179887}
\def\kKonst{25.04285714}
\def\omegaSHBKonst{12.1277}
\def\omegadKonst{1.026}
\def\AKonst{0.0264572}
\def\pKonst{0.095398}
% functions (something is wrong here)
\def\spring{\AKonst*Euler^(-x*\bKonst/(2*\mKonst))
*COS(sqrt(\kKonst/\mKonst-(\bKonst/(2*\mKonst)))
*x+ATAN(\bKonst/\mKonst/(\omegaSHBKonst^2-\omegadKonst^2)))
+\pKonst
% 0.0264572*Euler^(-0.506773*x)*COS(11.788*x+0.00694063)+0.095398
}
% data
\readdata{\daempning}{/tmp/test.data}
% plot
\begin{pspicture}(-0.57,0.065)(5.65,0.14)
\psplot[plotpoints=1000]{0}{5}{\spring}
\psplot[plotpoints=100,linecolor=red]{0}{5}{0.0264572*Euler^(-0.506773*x)+0.095398}
\psplot[plotpoints=100,linecolor=red]{0}{5}{-0.0264572*Euler^(-0.506773*x)+0.095398}
\psaxes[xsubticks = 5,Dy = 0.010,Oy = 0.095,comma]{->}%
(0,0.095398)(0,0.06)(5.25,0.13)[$t$~(s),0][$x$~(m),90]
\pstScalePoints(1,1){1000 div}{14000 div 0.006 sub}
\listplot[plotstyle = dots,dotscale=0.5,linecolor=blue]{\daempning}
\end{pspicture}
\end{document}