juliaで接線を求める

Juliaで微分した結果を使って接線の方程式を求めるプログラムを書いてみた。 戻り値をlambdaにすることで、微分した結果や接線を求めた結果も関数として再利用できるようにしている。 # 微分の定義を式にする # lambdaを返すことで、戻り値も関数になるようにする diff(f) = (x -> (h = 0.0001; (f(x + h) - f(x)) / h)) # 接線を求める # こちらもlambdaを返すようにして、関数を戻り値にしている g(f, a) = (x -> diff(f)(a) * (x - a) + f(a)) # f(x)のx=1の点における接線を求める f(x) = (x - 1) * (x + 1) f_ = g(f, 1) using Plots plot([f, f_])

January 8, 2021

juliaのPlotsが使いやすい

久しぶりにjuliaのplot関数を使ってみた。 グラフを表示するだけならば、関数を渡すだけでデフォルトの範囲でグラフ化してくれる。 オプションもたくさんあり、いろいろなグラフを書くことができる。(ほとんど使えていないが…) Home · Plots # Plotsのインストールが必要 using Pkg; Pkg.add("Plots") using Plots f(x) = sin(x) g(x) = cos(x) # -5 ~ 5 の区間でf関数のグラフを表示する plot(f) # -2π:0.001:2π の区間でfとgのグラフを表示する plot(-2π:0.001:2π, [f, g])

January 7, 2021

Juliaで自由落下をGIFにする

高さ1000から自由落下したときのアニメーション(反発はなし。) G = 9.8 function f(h, t) y = h - 1/2 * G * t^2 return y <= 0 ? 0 : y end h = 1000 @gif for i in 0:0.5:20 plot([0], [f(h, i)], marker=:circle, xlims=(-1, 1), ylims=(0, 1000)) end

October 19, 2020