4

curve_fitscipyの関数を使用して簡単なカーブフィッティングを行う必要があります。ただし、私のデータはマトリックスの形式です。これは簡単にできますが、scipyの適合度を確認したかったのです。

問題:

AX = B-> Aが与えられた場合、最小二乗誤差のXを見つけます。

from scipy.optimize import curve_fit
def getXval():
    a = 4; b = 3, c = 1;
    f0 = a*pow(b, 2)*c
    f1 = a*b/c
    return [f0, f1]

def fit(x, a0, a1):
    res = a0*x[0] + a1*x[1]
    return [res]

x = getXval()
y = [0.15]
popt, pcov = curve_fit(fit, x, y) 

ただし、これは機能していません。誰かがここで何が起こっているのか指摘できますか?

4

1 に答える 1

2

あなたのコードにはいくつかの問題があります。
1) Python リストの代わりに numpy 配列を使用します
。2) y の値がありません。

これは私のために働く:

from scipy.optimize import curve_fit
import numpy as np
def getXval():
    a = 4; b = 3; c = 1;
    f0 = a*pow(b, 2)*c
    f1 = a*b/c
    return np.array([f0, f1])

def fit(x, a0, a1):
    res = a0*x[0] + a1*x[1]
    return np.array([res])

x = getXval()
y = np.array([0.15, 0.34])
popt, pcov = curve_fit(fit, x, y)
print popt, pcov
于 2012-07-18T00:44:44.710 に答える