投稿

6月, 2017の投稿を表示しています

julia で、PyPlot & seaborn を動かす

julia で、PyPlot & seaborn を動かして、"R" で描画するところの "plot (iris)" に相当するグラフ群を描いてみましょう。 すでに、python がインストールしてあり python で seaborn が動く方でも、julia からは、何もしないと恐らく動きません。python がインストールしてあっても、インストール済みの python の情報を julia に教えていない場合は、julia 内に julia 謹製の python が別にインストールされるような感じになります。 既存の python を使う方法 julia さんに、すでに存在する python の環境情報を提供する方法は、 julia> ENV["PYTHON"]="" julia> Pkg.build("PyCall") という方法になります。これを julia のコマンドラインに入れることになります。ENV["PYTHON"]="" の "" には、何を入れたのか忘れてしまいました。 ターミナル (bash など)の % which python または % which python3 どちらかの戻り値か、homebrew を使っている場合は、"/usr/local/opt/python/bin" 入れると良いはずです。"/usr/local/opt/python/bin/python3.6" などかもしれません。自分の場合は、 julia> PyCall.pyprogramname "/usr/local/opt/python/bin/python3.6" になっています。 julia から python を入れる方法 上記を読んでも、難しそうで、とても手が出そうにない方や、他の python 環境に興味が無い方は、julia 謹製の python 環境に、seaborn を入れてみることにしましょう。これは、julia の Conda 経由で、julia に、seab...

julia, using SymPy で、センター試験の2次関数に挑む

イメージ
【センター試験 2006年度:数学I・A(本試験) 第2問】 というやつに、SymPy を呼び出した julia で挑んでみます。なぜ、2006年度かというと、google 先生が、"センター試験 数学 I 2次関数" で、1番目にお示しになったからです。 準備 インストール済みの方は不要です。 Pkg.add("PyCall") Pkg.add("SymPy") Pkg.add("Plots") 前半 y=6x^2+11x-10 について、y≦0となるxの値の範囲が、1問目です。下に凸なので、y=0 とした時の解の間です (残念ながら、すべて自動では無理だと思います) 。 using Plots, PyCall, SymPy # (注) 2017年6月5日現在、Plots しか下記の方法だと動かないようです。 @syms x y f= 6x^2+11x-10 solve(f) で、y=0 の時が解けます。 julia> solve(f) 2-element Array{SymPy.Sym,1}: -5/2 2/3 plot(f) で確認で、グラフでも確認。y 続いてx, y 方向それぞれ a, b だけ平行移動して、この曲線が、原点 (0,0) を通るようにするようです。(x,y) に (x-a , y-b) を代入します。誘導を見ると、まず、x=0, y=0 とした時の b を、a で表すことになります。つまり、x=-a, y=-b として、b について解きます。y=-b なので、右辺にー1を掛けて、x=-a を代入すれば良いです。 @syms a b b =-subs(f, (x,-a)) を入力して、 julia> b =-subs(f, (x,-a)) 2 - 6⋅a + 11⋅a + 10 この b の値を使って、f(x)= 6x^2+11x-10 とした際の y-b = f(x-a) を、y について解く、つまり、y = f(x-a) + b の右辺を計算します。 y = subs(f, (x, x-a)) +b # f(x-a)...