0
ステップ関数を使用してデータセットを適合させようとしています。しかし、それは動作しません。簡単にするために、ここで私がやろうとしていることがあります。2つの異なる関数を使用してデータセットを適合させる方法
私は一連のデータを持っています。 x = 0からx = yまで、曲線はx^2に従います。 x = yからx = 100までは0です。
私はyの値を持つように最適なフィットを見つけることを考えています。 NumPyブール配列インデックス割り当てでは、マスクが真である323の出力値に710の入力値を割り当てることはできません。
ここに私のコードです。私は各列に710の値を持っています。
import numpy as np
from pylab import *
from scipy.optimize import curve_fit
import matplotlib.pyplot as plt
data = np.genfromtxt('myfile.txt',delimiter='\t')
xdata = data[:,0]
ydata = data[:,1]
x = np.linspace(0,230,710)
def func(x,a,y):
c=np.zeros(710)
c[x<y] = a*(x-y)**2
c[x>y] = 0
return c
popt, pcov = curve_fit(func, xdata, ydata, p0 = [0.0001,50])
print a
print t
ありがとうございます!