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	

One response to “VPythonで直線、二次、三次曲線を描く

  1. Pingback: Raspberry PiでMathematicaを使う | コマンドの達人

Leave a Reply

Your email address will not be published. Required fields are marked *

CAPTCHA