Python 3 で数学を。

Python 3 とライブラリで数学の問題を解いていきます。統計学や機械学習はときどき。

関数。絶対値関数。グラフ。絶対値関数同士の引き算。(微分積分、解析学)。(Python 3, matplotlib, NumPy: abs())

使用するライブラリ

matplotlib

NumPy

Python 3 コード

functions5.py

#!/usr/bin/env python3


"""(docstring)
"""


import numpy as np


def print_math_problems():
    """(docstring)
    """
    print("""問題:

(1) |x| = x    x >= 0 のとき
    |x| = -x   x < 0 のとき
    と定義される絶対値関数を作成せよ。

(2) 絶対値関数に -3 から 3 までの値を入力値として使用せよ (代入せよ)。

(3) そのグラフを描け。

(4) 絶対値関数同士の引き算をせよ。
""")


# (1)
def my_abs(x1):
    """(docstring)
    """
    return np.abs(x1)


# (4) のために 2 つ作成してもいい (あまり意味はないが)。
#
# def my_abs2(x2):
#     """(docstring)
#     """
#     return np.abs(x2)
#
#
# 使用例:
# x1 = -21
# x2 = -11
# print(my_abs(x1) - my_abs2(x2))


if __name__ == '__main__':
    import matplotlib.pyplot as plt

    print_math_problems()
    print('-'*79)
    print('解答例:\n')

    # (2)
    x_list = list(range(-3, 4))
    print('絶対値関数に入力する値: ', x_list)
    print('')

    # (3)
    my_min, my_max = min(x_list), max(x_list)
    plt.plot(x_list, my_abs(x_list))
    plt.title('y = |x|')
    plt.xlim(my_min, my_max)
    plt.ylim(my_min, my_max)
    plt.hlines(0, my_min, my_max)
    plt.vlines(0, my_min, my_max)
    plt.grid()
    plt.show()

    # (4)
    # (適当な値を使用する)。
    x1 = -21
    x2 = -11
    print('絶対値関数同士の引き算: ', my_abs(x1) - my_abs(x2))

出力

グラフのスクリーンショット:

f:id:my_notes:20180514183238p:plain

ターミナル:

$ python3 functions5.py
問題:

(1) |x| = x    x >= 0 のとき
    |x| = -x   x < 0 のとき
    と定義される絶対値関数を作成せよ。

(2) 絶対値関数に -3 から 3 までの値を入力値として使用せよ (代入せよ)。

(3) そのグラフを描け。

(4) 絶対値関数同士の引き算をせよ。

-------------------------------------------------------------------------------
解答例:

絶対値関数に入力する値:  [-3, -2, -1, 0, 1, 2, 3]

絶対値関数同士の引き算:  10

参考文献 (数式等を参考)

マンガ 「解析学」超入門 微分積分の本質を理解する (ブルーバックス)

マンガ 「解析学」超入門 微分積分の本質を理解する (ブルーバックス)

関連過去記事

py3math.hatenablog.com

py3math.hatenablog.com

py3math.hatenablog.com

py3math.hatenablog.com