<SYSTEM_TASK:>
Given the following text description, write Python code to implement the functionality described below step by step
<END_TASK>
<USER_TASK:>
Description:
 [3-1] 動画作成用のモジュールをインポートして、動画を表示可能なモードにセットします。
Step1:  [3-2] x=0〜1の範囲で棒グラフを描いて面積を計算する関数integralを定義します。
Step2:  [3-3] 二次関数 y=x*x を用意して、関数integralを呼び出します。
GIF動画ファイル「integral01.gif」が作成されます。
Step3:  [3-4] 円弧を表す関数を用意して、関数integralを呼び出します。
GIF動画ファイル「integral02.gif」が作成されます。
<ASSISTANT_TASK:>
Python Code:
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as animation
%matplotlib nbagg
Explanation: [3-1] 動画作成用のモジュールをインポートして、動画を表示可能なモードにセットします。
End of explanation
def integral(f, filename):
    fig = plt.figure(figsize=(4,4))
    images = []
    step = 0.5
    
    for _ in range(10):
        subplot = fig.add_subplot(1,1,1)
        subplot.set_xlim(0, 1)
        subplot.set_ylim(0, 1)
        linex = np.linspace(0, 1, 100)
        subimages = []
        im, = subplot.plot(linex, f(linex), color='blue')
        subimages.append(im)
        area = 0
        for x0 in np.arange(0, 1, step):
            rect = plt.Rectangle((x0,0), step, f(x0), alpha=0.5)
            im = subplot.add_patch(rect)
            subimages.append(im)
            area += step * f(x0)
        im = subplot.text(0.3, 1.05, ('area = %f' % area))
        subimages.append(im)
        images.append(subimages)
        step *= 0.5
    ani = animation.ArtistAnimation(fig, images, interval=1000)
    ani.save(filename, writer='imagemagick', fps=1)
    return ani
Explanation: [3-2] x=0〜1の範囲で棒グラフを描いて面積を計算する関数integralを定義します。
End of explanation
def f(x):
    y = x*x
    return y
integral(f, 'integral01.gif')
Explanation: [3-3] 二次関数 y=x*x を用意して、関数integralを呼び出します。
GIF動画ファイル「integral01.gif」が作成されます。
End of explanation
def f(x):
    y = np.sqrt(1.0-x*x)
    return y
integral(f, 'integral02.gif')
Explanation: [3-4] 円弧を表す関数を用意して、関数integralを呼び出します。
GIF動画ファイル「integral02.gif」が作成されます。
End of explanation
<END_TASK>