Return to 三角関数の微分

参考:Maxima で sin x と x のグラフを描く

参考:gnuplot で sin x と x のグラフを描く の Maxima 版。Maxima で $y = \sin x $ と $y = x$ のグラフを描く。

$ |x| \ll 1 $ では2つのグラフはほとんど重なっていて $ \sin x \simeq x $ すなわち $\displaystyle \frac{\sin x}{x} \simeq 1$ であることを見て確かめる。

Maxima では plot2d() (いわゆる plot 系)と draw2d() (いわゆる draw 系)がある。最近は個人的には授業等では draw 系を使うようになってきているが,参考までに両方の使用例を書いておく。

plot2d()

$ – \pi \leq x \leq \pi$ の範囲で $y = \sin x$ と $ y = x$ を plot2d()

In [1]:
/* 次に拡大表示する部分の矩形 */
points4: [[-1,-1],[1,-1],[1,1],[-1,1],[-1,-1]]$

plot2d(
  [[discrete, points4], sin(x), x], [x, -%pi, %pi], 
  [color, orange, red, blue],
  [style, [lines, 2], [lines, 3], [lines, 1.5]], 
  [legend, "", "sin x", "x"],
  
  [x, -%pi, %pi], [y, -%pi, %pi], [same_xy], grid2d,
  /* グラフのサイズとフォントの設定 */
  [gnuplot_svg_term_command, "set term svg size 600,600 font 'Times,18'"],
  /* 凡例の位置 */
  [gnuplot_preamble, "set key top left;"]
)$

$ – 1 \leq x \leq 1$ の範囲で $y = \sin x$ と $ y = x$ を plot2d()

In [2]:
/* 次に拡大表示する部分の矩形 */
points4s: [[-0.1,-0.1],[0.1,-0.1],[0.1,0.1],[-0.1,0.1],[-0.1,-0.1]]$

plot2d(
  [[discrete, points4s], sin(x), x], [x, -1, 1], 
  [color, orange, red, blue],
  [style, [lines, 2], [lines, 3], [lines, 1.5]], 
  [legend, "", "sin x", "x"],
  
  [x, -1, 1], [y, -1, 1], [same_xy], grid2d,
  [gnuplot_svg_term_command, "set term svg size 600,600 font 'Times,18'"],
  [gnuplot_preamble, "set key top left;"]
)$

$ – 0.1 \leq x \leq 0.1$ の範囲で $y = \sin x$ と $ y = x$ を plot2d()。ほとんど重なっていて,区別がつきにくい。

In [3]:
plot2d(
  [sin(x), x], [x, -0.1, 0.1], 
  [color, red, blue],
  [style, [lines, 3], [lines, 1.5]], 
  [legend, "sin x", "x"],
  
  [x, -0.1, 0.1], [y, -0.1, 0.1], [same_xy], grid2d,
  [gnuplot_svg_term_command, "set term svg size 600,600 font 'Times,18'"],
  [gnuplot_preamble, "set key top left;"]
)$

draw2d()

$ – \pi \leq x \leq \pi$ の範囲で $y = \sin x$ と $ y = x$ を draw2d()

In [4]:
draw2d(
  /* 次に拡大表示する部分を矩形で囲む */
  color = orange, line_width = 2, key = "", 
  transparent = true,
  rectangle([-1,-1], [1, 1]),

  color = red, line_width = 3, key = "sin x",
  explicit(sin(x), x, -%pi, %pi), 
  color = blue, line_width = 1.5, key = "x",
  explicit(x, x, -%pi, %pi),   
  
  xrange = [-%pi, %pi], yrange = [-%pi, %pi], 
  proportional_axes = xy, 
  xaxis = true, yaxis = true, grid = true,
  /* グラフのサイズとフォントの設定 */
  dimensions = [600,600], font = "Times", font_size = 18, 
  /* 凡例の位置 */
  user_preamble = ["set key top left;"]
)$

$ – 1 \leq x \leq 1$ の範囲で $y = \sin x$ と $ y = x$ を draw2d()

In [5]:
draw2d(
  /* 次に拡大表示する部分を矩形で囲む */
  color = orange, line_width = 2, key = "", 
  transparent = true,
  rectangle([-0.1,-0.1], [0.1, 0.1]),

  color = red, line_width = 3, key = "sin x",
  explicit(sin(x), x, -1, 1), 
  color = blue, line_width = 1.5, key = "x",
  explicit(x, x, -1, 1),   
  
  xrange = [-1, 1], yrange = [-1, 1], 
  proportional_axes = xy, 
  xaxis = true, yaxis = true, grid = true,
  dimensions = [600,600], font = "Times", font_size = 18, 
  user_preamble = ["set key top left;"]
)$

$ – 0.1 \leq x \leq 0.1$ の範囲で $y = \sin x$ と $ y = x$ を draw2d()。ほとんど重なっていて,区別がつきにくい。

In [6]:
draw2d(
  color = red, line_width = 3, key = "sin x",
  explicit(sin(x), x, -0.1, 0.1), 
  color = blue, line_width = 1.5, key = "x",
  explicit(x, x, -0.1, 0.1),   
  
  xrange = [-0.1, 0.1], yrange = [-0.1, 0.1], 
  proportional_axes = xy, 
  xaxis = true, yaxis = true, grid = true,
  dimensions = [600,600], font = "Times", font_size = 18, 
  user_preamble = ["set key top left;"]
)$