高校数学の「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"
※コメント投稿者のブログIDはブログ作成者のみに通知されます