裏 RjpWiki

Julia ときどき R, Python によるコンピュータプログラム,コンピュータ・サイエンス,統計学

2次関数関連の問題を Julia の SymPy で解く

2021年11月21日 | ブログラミング

高校数学の「2次関数」関連の問題をPythonで解く

https://qiita.com/code0327/items/66efb7ac56cdea5b0b0d

Julia の SymPy と Plotでやってみる。

  using SymPy
  @syms x
  y = -2x^2 + 4x + 1
  y |> string
  "-2*x^2 + 4*x + 1"

y の導関数 y' を求め,y1 と置く。

  y1 = diff(y)
  y1 |> string
  "4 - 4*x"

y1 = 0 を解き,切線の傾きが 0 になるときの x 座標を求める。

  x0 = solve(y1)[1];

そのときの y の値を求める。

  y0 = y(x => x0);
  println("頂点の座標は ($x0, $y0)")
  頂点の座標は (1, 3)

関数の定義

  f(x) = -2x^2 + 4x + 1
  f (generic function with 1 method)

必要最小限の描画

  using Plots
  plot(f, xlims=(-1, 3), label="")
  scatter!([x0], [y0], label="")

  using Plots
  f(x) = x^2 +x - 6
  plot(f, label="")

x 軸との交点を求めて...などしなくて,x^2 + x - 6 < 0 を解くだけでよい。

  using SymPy
  @syms x
  answer = solve(Lt(x^2 + x - 6, 0))
  answer |> string
  "(-3 < x) & (x < 2)"

  f(x) = x^2 + x + 1
  plot(f, label="")

問 2 に同じだが,解がないときは False が返される。

  solve(Lt(x^2 + x + 1, 0)) |> string
  "False"
コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« 高次方程式・恒等式関連の問... | トップ | SymPy/Julia(1) »
最新の画像もっと見る

コメントを投稿

ブログラミング」カテゴリの最新記事