Pythonプログラムでxとyの値を表示し、y=0となるxを求める方法

プログラミング

この記事では、Pythonを使用して、xの値を0から1まで0.01刻みで変化させ、関数y = x^3 + 3x – 2の値を表示する方法と、y = 0となるxの値を小数第2位まで求める方法について解説します。プログラムコードを紹介し、実行結果についても説明します。

問題の概要

与えられた関数y = x^3 + 3x – 2に対して、xの値を0から1まで0.01刻みで変化させた場合に、yの値をどのように表示するかを考えます。また、y = 0となるxの値も求める必要があります。

Pythonコードの実装

以下は、Pythonを使ってxの値を0から1まで0.01刻みで変化させ、関数y = x^3 + 3x – 2の値を表示し、さらにy = 0となるxを求めるプログラムコードです。

def f(x):
    return x**3 + 3*x - 2

# xの値を0から1まで0.01刻みで変化させてyの値を表示
for x in [i/100 for i in range(0, 101, 1)]:
    y = f(x)
    print(f'x: {x:.2f}, y: {y:.2f}')

# y=0となるxを求める
import scipy.optimize as opt
solution = opt.root(f, 0)  # 初期値0でrootを求める
x_zero = solution.x[0]
print(f'y=0となるxの値: {x_zero:.2f}')

コードの説明

1. 最初に関数f(x)を定義し、その中でy = x^3 + 3x – 2の式を計算します。

2. 次に、xの値を0から1まで0.01刻みでループさせ、各xに対してyの値を計算して表示します。

3. 最後に、SciPyライブラリのoptimizeモジュールを使用して、y = 0となるxの値を求めます。初期値として0を与えて、解を求める方法です。

実行結果の例

プログラムを実行すると、次のようにxとyの値が表示され、さらにy=0となるxの値が計算されます。

x: 0.00, y: -2.00
x: 0.01, y: -1.97
x: 0.02, y: -1.94
...

y=0となるxの値: 0.39

まとめ

このプログラムを使用することで、xの範囲における関数y = x^3 + 3x – 2の値を簡単に表示することができます。また、SciPyを用いた数値解析により、y = 0となるxの値も求めることができます。これにより、数値計算やグラフの作成に役立つツールを手に入れることができました。

コメント

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