使用 TikZ 绘制双曲三角函数

使用 TikZ 绘制双曲三角函数

每个人。

我一直在尝试根据以下方程绘制梁的模态形状:

自由-自由梁的模态方程

其中,βn*L 在 n = 0 时为 0,在 n = 1 时为 4.7300,在 n = 2 时为 7.8532,等等。

我应该得到以下图表(我使用 mathcha.io 绘制的):

理想结果

但是,到目前为止,我所能得到的是这个烂摊子(使用 TikZ 绘制)

错误的情节

使用以下代码:

\usepackage{pgfplots}
\pgfplotsset{compat=1.16}

\begin{tikzpicture}
   \begin{axis}[
   xlabel = $x$,
   ylabel = $w(x)$,
   xmin = 0,xmax = 1,
   %ymin = 0,ymax = 8,
   domain = 0:1,
   smooth,thick,
   axis lines = middle,
   every axis x label/.style={at={(current axis.right of origin)},anchor=west},
   every tick/.style = {thick}]

   \addplot[color=purple]{(sinh(4.73*x)+sin(4.73*x))+(sin(4.73)-sinh(4.73))/(cosh(4.73)-cos(4.73))*(cosh(4.73*x)+cos(4.73*x))};
   \addplot[color=red]{(sinh(7.85*x)+sin(7.85*x))+(sin(7.85)-sinh(7.85))/(cosh(7.85)-cos(7.85))*(cosh(7.85*x)+cos(7.85*x))};
   \addplot[color=orange]{(sinh(11*x)+sin(11*x))+(sin(11)-sinh(11))/(cosh(11)-cos(11))*(cosh(11*x)+cos(11*x))};

   \end{axis}
\end{tikzpicture}

也许我不太熟悉 TikZ 语法,但我就是无法让它正常工作。

如果有人能给我指明正确的方向,那就太好了!

答案1

默认情况下,PGFplots 以度为单位来表示角度。为了以弧度形式传递角度,您应该使用:trig format=rad作为环境选项axis

\documentclass[border=5pt]{standalone}
\usepackage{tikz}
\usepackage{pgfplots}
\pgfplotsset{compat=1.16}
\begin{document}
\begin{tikzpicture}
  \begin{axis}[
    trig format=rad, % HERE
    xlabel = $x$,
    ylabel = $w(x)$,
    xmin = 0,xmax = 1,
    % ymin = 0,ymax = 8,
    domain = 0:1,
    smooth,thick,
    axis lines = middle,
    every axis x label/.style={at={(current axis.right of origin)},anchor=west},
    every tick/.style = {thick}]

    \addplot[color=purple]{(sinh(4.73*x)+sin(4.73*x))+(sin(4.73)-sinh(4.73))/(cosh(4.73)-cos(4.73))*(cosh(4.73*x)+cos(4.73*x))};
    \addplot[color=red]{(sinh(7.85*x)+sin(7.85*x))+(sin(7.85)-sinh(7.85))/(cosh(7.85)-cos(7.85))*(cosh(7.85*x)+cos(7.85*x))};
    \addplot[color=orange]{(sinh(11*x)+sin(11*x))+(sin(11)-sinh(11))/(cosh(11)-cos(11))*(cosh(11*x)+cos(11*x))};

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

在此处输入图片描述

网格和其余的格式留作练习。

相关内容