pythonでタンジェントを見てみよう and if文のおまけ

タンジェントを学ぼうpythonで遊ぼう

タンジェントとは

サインとコサインを勉強したあなたには、タンジェントはもう簡単です。角度Θのタンジェントは

tanΘ=sinΘ / cosΘ

です。単位円で考えると、円周上のポイント(x、y)とすると、cosΘ=x座標、sinΘ=y座標でしたので、

tanΘ= y / x

になります。

タンジェントを計算する場合に注意点は、y/x という形をしていますので、x=0の場合、tanΘの値は存在しません。

タンジェントのグラフを書いてみよう

プログラムでタンジェントの形状を確認してみましょう。角度はー89°から89°までの範囲で確認してみます。±90°の場合、x=0(ポイントのx座標が0)になりますので、除外しています。

import math
import matplotlib.pyplot as plt

pi=math.pi

x=[]
atai=[]

for i in range(-89,90,1):
    x.append(i)
    kakudo=i*pi/180
    atai.append(math.tan(kakudo))

plt.plot(x,atai)
plt.show()

【プログラムを見てみよう】

for の中の i は range(-89,90,1) の範囲にしますので、-89<= i <=89 の間にいます。この i を角度とみなして、kakudo でラジアンに変換しています。

math.tan(kakudo)で、タンジェントの値を計算します。

【グラフを確認しよう】

結果を確認してみます。

再度確認しておきますが、±90°の場合、タンジェントの値は存在しないことに注意しておきます。

尺が余ったので、pythonのおまけ

タンジェントでもうちょっとネタがあればよかったのですが、特に思いつかないので、python文法をネタにして尺の調整をします。

例えば、for文で、iを0から9まで回す際に、iが2以上8以下のときに、’good luck’と打ち出すにはどうすればいいでしょうか。

for i in range(0,10,1):
    if i>=2 and i<=8:
        print('good luck')

”iが2以上8以下”というのは、プログラムでは、

if i>=2 and i<=8:

のように、2つの条件を and でつなげます。

”条件1 and 条件2” は、

条件1 かつ 条件2が成立する

と解釈します。C言語を学んだ方は、”条件1 && 条件2” と書きますので、ちょっと違和感がありますが、すぐになれます。

さらに学習をしたい方に・・・

python始めました系の方には

Pythonの絵本 Pythonを楽しく学ぶ9つの扉 [ 株式会社アンク ]

他の言語はかじりました系の方のには

基礎からわかるPython [ 坂本俊之 ]

コメント

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