
TikZ 데이터 시각화를 사용하여 복잡한 기능을 플롯하는 것이 가능합니까?
전달 기능이 있습니다 G(s)=2/(20*s+1)^5*2/s
. 역 라플라스변환주거나
g(t)=4-(e^(-t/20)*(3840000+192000*t+4800*t^2+80*t^3+t^4))/960000
확장 하고 큰 간격으로
g(t)=-(e^(-t/20)*t^4)/960000-(e^(-t/20)*t^3)/12000-1/200*e^(-t/20)*t^2-1/5*e^(-t/20)*t-4*e^(-t/20)+4
플롯해야 합니다 .g
[0,280]
MWE:
\documentclass{scrartcl}
\usepackage{tikz}
\usetikzlibrary{datavisualization.formats.functions}
\begin{document}
\begin{tikzpicture}
\datavisualization[
scientific axes={clean},
all axes = grid,
x axis = {label = $t$},
y axis = {label = $y(t)$},
visualize as smooth line
]
data[format = function]
{
var x : interval[0 : 280];
%func y = 4 - (exp(-\value x/20) * (3840000 + 192000 * \value x + 4800 * \value x^2 + 80 * \value x^3 + \value x^4))/960000;
func y = -(exp(-\value x/20) * \value x^4)/960000 - (exp(-\value x/20) * \value x^3)/12000 - (exp(-\value x/20) * \value x^2)/200 - (exp(-\value x/20) * \value x)/5 - 4 * exp(-\value x/20) + 4;
};
\end{tikzpicture}
\end{document}
나는 자연스럽게
측정기준이 너무 큽니다.
오류입니다. 이는 분명합니다.
나는 이미 물었다비슷한질문. 해결책은 간격을 줄이는 것이었지만 지금은 불가능합니다. 결과는 다음과 같습니다
이 플롯을 재현할 수 있는 방법이 있습니까 TikZ datavisualization
?
미리 여러분의 도움과 노력에 감사드립니다!
답변1
예, 그렇습니다. 구문 분석을 위해 /pgf/data/evaluator
키를 사용하여 로컬로 설치할 수 있습니다 . 로컬에서 스위치를 켜는 fpu
매크로는 다음에서 가져옵니다.\pgfmathparseFPU
fpu
여기.
\documentclass{scrartcl}
\usepackage{tikz}
\usetikzlibrary{datavisualization.formats.functions}
\newcommand{\pgfmathparseFPU}[1]{\begingroup%
\pgfkeys{/pgf/fpu,/pgf/fpu/output format=fixed}%
\pgfmathparse{#1}%
\pgfmathsmuggle\pgfmathresult\endgroup}
\begin{document}
\begin{tikzpicture}
\datavisualization[
scientific axes={clean},
all axes = grid,
x axis = {label = $t$},
y axis = {label = $y(t)$},
visualize as smooth line,
/pgf/data/evaluator=\pgfmathparseFPU
]
data[format = function]
{
var x : interval[0 : 280];
%func y = 4 - (exp(-\value x/20) * (3840000 + 192000 * \value x + 4800 * \value x^2 + 80 * \value x^3 + \value x^4))/960000;
func y = -(exp(-\value x/20) * \value x^4)/960000 - (exp(-\value x/20) * \value x^3)/12000 - (exp(-\value x/20) * \value x^2)/200 - (exp(-\value x/20) * \value x)/5 - 4 * exp(-\value x/20) + 4;
};
\end{tikzpicture}
\end{document}
물론 첫 번째 기능도 작동합니다.
\documentclass{scrartcl}
\usepackage{tikz}
\usetikzlibrary{datavisualization.formats.functions}
\newcommand{\pgfmathparseFPU}[1]{\begingroup%
\pgfkeys{/pgf/fpu,/pgf/fpu/output format=fixed}%
\pgfmathparse{#1}%
\pgfmathsmuggle\pgfmathresult\endgroup}
\begin{document}
\begin{tikzpicture}
\datavisualization[
scientific axes={clean},
all axes = grid,
x axis = {label = $t$},
y axis = {label = $y(t)$},
visualize as smooth line,
/pgf/data/evaluator=\pgfmathparseFPU
]
data[format = function]
{
var x : interval[0 : 280];
func y = 4 - (exp(-\value x/20) * (3840000 + 192000 * \value x + 4800 * \value x^2 + 80 * \value x^3 + \value x^4))/960000;
%func y = -(exp(-\value x/20) * \value x^4)/960000 - (exp(-\value x/20) * \value x^3)/12000 - (exp(-\value x/20) * \value x^2)/200 - (exp(-\value x/20) * \value x)/5 - 4 * exp(-\value x/20) + 4;
};
\end{tikzpicture}
\end{document}