1
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Juliaで微分

Last updated at Posted at 2019-08-30

パッケージPlotsの追加

コマンドラインでjulia起動して以下の通り

julia> Pkg.add("Plots")

驚くほど時間かかります。

sin関数の微分

using Plots

# 入力xの範囲を決める
# piは円周率のπのこと
# -3.14から+3.14まで0.01刻み
# つまり-180°~180°
x = -pi:0.01:pi

# 関数f(x)の定義
# 今回はサイン関数
f(x) = sin(x)

# ⊿xを決める
# なるべく0に近い数字がいい
⊿x = 0.0001

# f(x)の微分関数df(x)
df(x) = (f(x+⊿x)-f(x))/⊿x

# グラフを描く
# xは配列なので関数の末尾に.をつける(各要素ごとに演算する)
plot(x,[f.(x), df.(x)])

sin.png

y1がf(x)
y2がdf(x)
sin(x)を微分するとcos(x)になるのでうまくいっていそうです。

もうすこし複雑な関数をやってみる

using Plots

# 入力x
x = -pi:0.01:pi

# 関数f(x)
f(x) = sin(x) / (cos(x) + 2)

# ⊿x
⊿x = 0.0001

# f(x)の微分関数df(x)
df(x) = (f(x+⊿x)-f(x))/⊿x

# グラフを描く
plot(x,[f.(x),df.(x)])

さっきと違うのはf(x)の定義だけ。

test.png

なんだかそれっぽい。

まとめ

プログラミング言語としての関数じゃなくて
数学的に関数書いていけるのってとても書きやすくていいですね。

1
5
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?