本日の授業では、以下の内容を解説します。
Pythonの教科書の使用
#例:pow 関数
value = pow(8,3)
print(value)
Pythonの関数定義は以下の構文を使います。(def: define)
def 関数名(引数1, 引数2): 関数の中の処理 return 返り値
構文に関する説明
与えられる変数$x$の3乗を返す関数を作ってみます。
#関数の例
def my_pow(x):
value = x*x*x
return value
#定義される関数を呼び出します。
my_pow(10)
1.1 与えられる引数x,yに対して、10*x+yを返す関数を作りなさい。関数名を「my_add」とします。また、定義される関数に対して、my_add(5,3), my_add(9,1)で呼び出してみてください。
#演習1.1 のコードをここに書いてください。
1.2 与えられる引数nに対して、$1$から$n$までの整数の和を計算して、その値を出力する関数 my_sum(n) を作成してください。特に、返り値が不要です。
#演習1.2 のコードをここに書いてください。
#以下の雛コードに書かれている pass は「何もしない」を意味しています。演習するとき、passを消してください。
def my_sum(n):
pass
my_sum(5000)
関数$f(x)$のグラフは曲線$y=f(x)$上の点列を使って表現できます。以下の例では、区間[0,1]における指数関数$exp(x)$のグラフの描き方を説明します。
まず、区間[0,1]における等分割の点列x_listを作ります。等分割の間隔をh=0.01とします。
h=0.01
x_list=[]
n_list = range(0,101)
for n in n_list:
x = n*h
x_list.append(x)
#print(x_list)
次に、曲線$y=\exp(x)$上の点のリストを作成するために、x_listに対する y_listを作成します。
import math
y_list=[]
for x in x_list:
y=math.exp(x)
y_list.append(y)
#print(y_list)
最後に、x_list,y_listによって、折れ線を描きます。
import matplotlib.pyplot as plt
plt.plot(x_list, y_list,'b-')
plt.grid()
plt.show()
上記のコードをまとめて、グラフを作成する関数を定義します。
def draw_exp():
#x_listを作成します。
h=0.01
x_list=[]
n_list = range(0,101)
for n in n_list:
x_list.append(n*h)
#y_listを作成します。
import math
y_list=[]
for x in x_list:
y=math.exp(x)
y_list.append(y)
#x_list,y_listのグラフを作成します。
import matplotlib.pyplot as plt
plt.plot(x_list, y_list,'b-')
plt.grid()
plt.show()
draw_exp()
関数 $f(x)=\sqrt{x}+1$のグラフ作成を考えます。
与えられる引数xに対して、$\sqrt{x}+1$の値を返すPythonの関数my_f(x)を定義します。
#Square root (sqrt)の使用方法
import math
print(math.sqrt(3))
def my_f(x):
#ここに数学関数の計算法を書いて
pass
#演習2.2 のコードをここに書いてください。
def draw_f():
pass
余裕のある方は、任意に指定される区間[a,b]における関数f(x)のグラフを作成するPythonの関数draw_f(a,b)を作ってください。
#演習2.3 のコードをここに書いてください。
def draw_f(a,b):
pass