私はプロットできる関数を持っています。 ここでは、この関数の対数をプロットしたいと思います。 Pythonはlog10()が関数に対して定義されていないと言います(と私はそれを理解しています)。 質問は、f(x、a)= a *(x ** 2)のような関数の対数をプロットするにはどうすればよいですか?Python:関数の対数をプロットする
0
A
答えて
0
matplotlibが関数をプロットできると言うのは間違いです。 Matplotlibは値をプロットするだけです。
あなたの機能があるので、場合
f = lambda x,a : a * x**2
あなたが最初にあなたが、その後
経由配列y = f(x,a)
をプロットすることができ
x
の値の配列を作成し、
a
a=3.1
x = np.linspace(-6,6)
を定義する必要があるだろう
ax.plot(x,y)
ログをプロットする場合はあなたが実際に行う必要があるのは、配列の対数をプロットすることですy
。ですから、新しい配列
y2 = np.log10(y)
を作成し、それにいくつかのケースでは
ax.plot(x,y2)
をプロットしたい、代わりにリニアスケール上の関数の対数を示すのではなく、機能を表示するには良いかもしれ対数スケールでそれ自身である。これは、matplotlibの軸を対数に設定して、最初の配列y
をその対数目盛にプロットすることによって行うことができます。だからここ
ax.set_yscale("log", nonposy='clip')
ax.plot(x,y)
は、すべての3例のショーケースの例である:
import matplotlib.pyplot as plt
import numpy as np
#define the function
f = lambda x,a : a * x**2
#set values
a=3.1
x = np.linspace(-6,6)
#calculate the values of the function at the given points
y = f(x,a)
y2 = np.log10(y)
# y and y2 are now arrays which we can plot
#plot the resulting arrays
fig, ax = plt.subplots(1,3, figsize=(10,3))
ax[0].set_title("plot y = f(x,a)")
ax[0].plot(x,y) # .. "plot f"
ax[1].set_title("plot np.log10(y)")
ax[1].plot(x,y2) # .. "plot logarithm of f"
ax[2].set_title("plot y on log scale")
ax[2].set_yscale("log", nonposy='clip')
ax[2].plot(x,y) # .. "plot f on logarithmic scale"
plt.show()
0
あなたの難易度は対数の底10を計算している場合は、
def g(x, a):
return math.log(f(x, a))/math.log(10)
かを使用するだけで、あなたが望むものである、非正の値の誤差を与える
def log10(x):
return math.log(x)/math.log(10)
。これは、標準のアイデンティティに
Xベースbのログ=ログ(X)/ログ(b)は
を使用していますそれはlog()
機能が使用するベースはしても問題ではない:あなたは同じを取得します任意のベースに対する答え。
関連する問題
- 1. python関数とプロットのヴァイオリンプロット
- 2. ポイントの対数プロット
- 3. 関数をプロットするMatlab Timer関数
- 4. python関数の絶対インポート
- 5. 関数をプロットして、その関数の定数値をプロットする
- 6. Pythonでの対数関数の精度
- 7. 対数スケール(ログログ)プロット
- 8. Pythonでmatplotlibを使って対数軸をプロットする
- 9. 対数正規生存関数の生成/プロット
- 10. Ipython対話関数は、1つを編集する代わりに複数のプロットをプロットする
- 11. 対数目盛りの複数のプロット
- 12. VIMプロット関数
- 13. 他のカテゴリ変数に対するカテゴリ変数をプロットする
- 14. python - 複数のプロットを描画する関数を使用しますか?
- 15. Pythonでピース単位の関数をプロットする
- 16. ヒートマップをプロットするためのPython関数
- 17. Pythonで複数の行をプロットする
- 18. Plotlyプロット関数用のラッパー関数を作成する
- 19. Python-位相空間軌道をプロットする(震動関数)
- 20. Pythonで単純な関数をプロットする方法は?
- 21. Pythonで確率質量関数をプロットする方法
- 22. Pythonで垂直に関数をプロットする
- 23. 3Dプロットでの(x、y)のプロット関数
- 24. Pythonのプロット複数のヒストグラム
- 25. matplotlibの(seaborn):プロット複数の他人対1つの変数間の相関
- 26. R:データに階段関数を追加するプロット関数
- 27. ステップ関数対シグモイド関数
- 28. pcolorプロットで複数のデータをプロットするPython
- 29. チューリング対数関数
- 30. プロット関数のエラー処理
はあなたの問題対数ベース10を計算するか、値をプロットしますか?後者の場合、他のプロットとはどのように違いますか?また、 'f(x、a)'は2つの値の関数です。あなたは 'x''と' 'a''の変更をプロットしたいですか? –
xは私の変数でなければならず、関数をプロットするときに私が入れることができるパラメータです。問題は、私が正しい関数を定義することができないことです。 g(x、a)= log10(f(x、a))これは、関数をログに入れることができないためです。 – user7248647
私は基本的にプログラムに言っていることを意味します:与えられたf(x、a)(私がすでにプロットした)は、その関数のすべての点でlog10()を使ってプロットします。 – user7248647