VPythonで直線、二次、三次曲線を描く



ドラマ『下剋上受験』
中卒大学って。。。ずっと中卒大学を連発されたら疲れますねえ。

勉強した分だけスキルが上がれば良いですが、そう単純なものではないですよね。学習高原から抜け出せないまま勉強をやめてしまうこともあるだろうし、訓練しているのに関わらず下がってしまうこともあります。やる気を持ち続けるため、勉強したくなくても、無理やり机の前に座る習慣をつけたり、実力テスト・資格試験を受けたり、毎日ブログを書く決まりを作る等のモチベーションコントロールが必要です。やる気アップ方法は人それぞれでしょうけど、私の場合は、毎日アニメ、ドラマです。今のところそれが一番のやる気アップとなっています。只今下克上受験に影響を受けて私も勉強せねばモードとなっているわけです。

さて、そのうちコマンドライン操作に関して自分自身のスキルをグラフ化していこうと思っています(公開はしませんが)。ということで、グラフを作る練習をしていこうと思います。

pythonのvisual.graphを使ってグラフを描きます。今回は一次〜三次関数のグラフを描いていきます。
まず直線。
$$y=ax+c$$

$$a>0のとき$$

$$a<0のとき$$

 
visualモジュールは、apt-get install python-visualでインストールしておきます。
以下のスクリプトはa>0の場合の直線のスクリプトです。

takk@deb83:~$ cat -n liner.py
     1	from visual import *
     2	from visual.graph import *
     3	from math import *
     4	
     5	def f(x):
     6		a=3.0
     7		c=10.0
     8		y=a*x + c
     9		return y
    10	
    11	
    12	d=gdisplay(width=300,height=400,foreground=color.black,background=color.white,xmax=30,xmin=-30,ymax=100,ymin=-100)
    13	
    14	g=gcurve(color=color.red)
    15	
    16	for x in arange(-50, 50, 0.01):
    17	    g.plot(pos=(x,f(x)))
    18	

二次関数です。
$$y=ax^2+bx+c$$

$$a>0のとき$$

$$a<0のとき$$

 
同じくa>0の場合のスクリプト。

takk@deb83:~$ cat -n quadratic.py
     1	from visual import *
     2	from visual.graph import *
     3	from math import *
     4	
     5	def f(x):
     6		a=3.0
     7		b=15.0
     8		c=10.0
     9		y=a*x**2 + b*x + c
    10		return y
    11	
    12	
    13	d=gdisplay(width=300,height=400,foreground=color.black,background=color.white,xmax=20,xmin=-20,ymax=500,ymin=-200)
    14	
    15	g=gcurve(color=color.red)
    16	
    17	for x in arange(-50, 50, 0.01):
    18	    g.plot(pos=(x,f(x)))
    19	

三次。
$$y=ax^3+bx^2+c$$

$$a>0のとき$$

$$a<0のとき$$

 
同じくa>0の場合。とにかく、グラフを右肩上がりにしたければ、a>0でなければなりません。

takk@deb83:~$ cat -n cubic.py
     1	from visual import *
     2	from visual.graph import *
     3	from math import *
     4	
     5	def f(x):
     6		a=2.0
     7		b=15.0
     8		c=10.0
     9		y=a*x**3 + b*x**2 + c
    10		return y
    11	
    12	
    13	d=gdisplay(width=300,height=400,foreground=color.black,background=color.white,xmax=10,xmin=-15,ymax=1000,ymin=-1000)
    14	
    15	g=gcurve(color=color.red)
    16	
    17	for x in arange(-50, 50, 0.01):
    18	    g.plot(pos=(x,f(x)))
    19	

コメント

  1. […] アニメ『リトルウィッチアカデミア』 魔法学校に入学するところから始まって、3人組のドタバタで、主人公はきっとすごい魔女。ハリーポッターみたいな感じなのでしょうか。面白いから見ます。もし本当に魔女がいたら、魔女たちから見た魔法の感覚って、数学的なものかなあと思います。魔法の呪文は数学の公式的なもので、そして、なんとか問題やなんとか予想とかの証明ができたら、新しい魔法を修得できる、みたいな。 「VPythonで直線、二次、三次曲線を描く」では、python+visual.graphで、数式をグラフ化しましたが、Mathematicaを使えば、プログラミングしなくても式さえ入力できればグラフが描けます。 Raspberry Pi上で無料で使えるMathematica(マセマティカ)を使ってみます。 […]

タイトルとURLをコピーしました