1

そこで、Pythonで次の関数のlog(y)とlog(x)を作成したいと思います。良いグラフを得るために範囲(w)をどのように構成すべきかわかりません。今のところ、空白のままにしておきます。

import numpy as np
import matplotlib.pyplot as plt

w =  
y = 1/(1+2.56e-8*(w)^2)

plt.plot(log(w),log(y));

さて、今私はもう1つのプロットをしなければなりませんが、それはもう少し複雑です。

w = np.arange(1e3, 1e7, 1e3)

z = 1/ (((5.89824e-15 (w ** 4))+(1-2.56e-8 (w ** 2))) ** 0.5)
b = plt.loglog(w, z);

これは私にエラーを与えます:

    z = 1/ (((5.89824e-15 (w ** 4))+(1-2.56e-8 (w ** 2))) ** 0.5)
TypeError: 'float' object is not callable

私がそれを修正したことを気にしないでください。

4

1 に答える 1

2

この関数を使用してnumpy.arange、numpy バ​​ージョンの範囲を取得できます。この関数の妥当な範囲は次のとおりです。

w = np.arange(1e3, 1e7, 1e3)

(つまり、1000 から 10000000 まで 1000 刻みで進みます)。ただし、ビットごとの xor 演算子ではなく累乗を使用しようとしていることを Python に知らせるために、行を次のように変更する必要があります。

y = 1/(1+2.56e-8*(w ** 2))

次に、両対数プロットを作成すると、次のようになります。

plt.loglog(w, y)

ここに画像の説明を入力

于 2012-10-07T14:55:44.290 に答える