如何以连续的方式绘制不同的函数?

如何以连续的方式绘制不同的函数?

我有一张包含三个不同部分的图表。虽然我设法以连续的方式绘制了前两个部分,但我无法正确获取第三个部分的方向。该图是加速、恒定和减速运动期间覆盖的距离。理想情况下,图表的最后一部分(减速运动)应以平滑连续的方式从 t = 7 开始并在 t = 11 结束,即指向上方。我做错了什么?有没有更好/更简单的方法来绘制这三个部分?

在此处输入图片描述

平均能量损失

\documentclass[11pt]{article}

\usepackage{tikz}          

\usepackage{pgfplots}

\pgfplotsset{width=5cm,compat=1.17} 

\begin{document}

\begin{tikzpicture}%[baseline,trim axis left]
\begin{axis}[xmin=0,ylabel={Distance (m)},xlabel={Time (sec)},grid=major]
\addplot [red,mark=*,only marks] coordinates {
(0,0)
(11,540)
};
\addplot [red,mark=*] coordinates {
(6,270)
(7,360)
};
% speed is constant between 6 and 7, a =0
\addplot [domain=0:6,red]{7.5*x*x} ;
% s =  at^{2}/2; a = 15 m/s^{2}
\addplot [domain=7:11, red]{(90*x+(-11.25*x*x)+360} ;
% s = s_{0} + v_{0}t + at^{2}/2; a = -22.5 m/s^{2}, v = 90m/s
% added 360 so that it starts from where it left, initial value

\end{axis}
\end{tikzpicture}
\end{document}

答案1

您只需在第三部分中将时间减相 7 秒。因此更改xx-7导致以下结果。

正如您所注意到的,我添加了siunitx(v2020)包来管理轴中的单位。

\documentclass[11pt]{article}
%\usepackage{tikz}   
\usepackage{pgfplots}
\usepackage{siunitx}  % SI units
\pgfplotsset{width=5cm,compat=1.17} 

\begin{document}

\begin{tikzpicture}%[baseline,trim axis left]
\begin{axis}[xmin=0,ylabel={Distance (\si{\meter})},xlabel={Time (\si{\second})},grid=major]
\addplot [red,mark=*,only marks] coordinates {(0,0)
(11,540)
};
\addplot [red,mark=*] coordinates {
(6,270)
(7,360)
};
% speed is constant between 6 and 7, a =0
\addplot [domain=0:6,red]{7.5*x*x} ;
% s =  at^{2}/2; a = 15 m/s^{2}
\addplot [domain=7:11, red]{(90*(x-7)-11.25*(x-7)*(x-7)+360)} ; % changed x for x-7
% s = s_{0} + v_{0}t + at^{2}/2; a = -22.5 m/s^{2}, v = 90m/s
% added 360 so that it starts from where it left, initial value

% if you plot the fist 4 seconds of the original function (uncomment the following):
%\addplot [blue, domain=0:4]{(90*x)-11.25*x*x+360)} ;
\end{axis}
\end{tikzpicture}
\end{document}

在此处输入图片描述

如果您想看得更清楚,只需取消注释我代码中绘制(蓝色)第三部分前 4 秒的最后一行。这是您的原始代码,仅更改了域。您将得到以下内容:

在此处输入图片描述

答案2

抱歉,我不明白你的意思。如果我检查你给出的两个公式:

{7.5*x*x} ;
{(90*x+(-11.25*x*x)+360} ;

然后数据正如你绘制的那样: 检查两个公式产生的数据

如果您想要类似蓝色草图的东西,您需要检查您的公式,即第二个公式。

猜测意图

从物理角度来说,我不知道你是如何得出第二个公式的。如果你能具体说明情况,它可能是正确的。但你可能想出了其他的东西。

相关内容