-2
私は2つの1dアレイshape.x=[701,]
とshape.y=[701,]
を持っています。これは私に以下のイメージに示される曲線を与えます。これにどのようにカーブをフィットさせることができますか?matplotlibを使ったカーブフィッティング
私は2つの1dアレイshape.x=[701,]
とshape.y=[701,]
を持っています。これは私に以下のイメージに示される曲線を与えます。これにどのようにカーブをフィットさせることができますか?matplotlibを使ったカーブフィッティング
ほとんどあなたが後にしている何が下部にある例があり、
https://docs.scipy.org/doc/scipy-0.19.0/reference/generated/scipy.optimize.curve_fit.htmlを見てください
。
編集:返信
import matplotlib.pyplot as plt;
import numpy as np;
import scipy.optimize as opt;
# This is the function we are trying to fit to the data.
def func(x, a, b, c):
return a * np.exp(-b * x) + c
# Generate some data, you don't have to do this, as you already have your data
xdata = np.linspace(0, 4, 50)
y = func(xdata, 2.5, 1.3, 0.5)
y_noise = 0.2 * np.random.normal(size=xdata.size)
ydata = y + y_noise
# Plot the actual data
plt.plot(xdata, ydata, ".", label="Data");
# The actual curve fitting happens here
optimizedParameters, pcov = opt.curve_fit(func, xdata, ydata);
# Use the optimized parameters to plot the best fit
plt.plot(xdata, func(xdata, *optimizedParameters), label="fit");
# Show the graph
plt.legend();
plt.show();
xとコメントし、yのデータは、xdataとydataの変数です。
このコードを使用する場合は、データが生成されるビットを取り出し、x、yデータ配列を「xdata」および「ydata」として定義します。
私がpythonで新しくなったので、この例は私にとってかなり複雑です。与えられた例のコードを使用すると、xとyの値をどこに置くべきか教えてください。 –