Python curve_fit с несколькими независимыми переменными

для тех, кто ищет альтернативу $ result = stmt-> get_result () Я сделал эту функцию, которая позволяет вам имитировать $ result-> fetch_assoc (), но напрямую используя объект stmt:

function fetchAssocStatement($stmt)
{
    if($stmt->num_rows>0)
    {
        $result = array();
        $md = $stmt->result_metadata();
        $params = array();
        while($field = $md->fetch_field()) {
            $params[] = &$result[$field->name];
        }
        call_user_func_array(array($stmt, 'bind_result'), $params);
        if($stmt->fetch())
            return $result;
    }

    return null;
}

, поскольку вы можете видеть, что он создает массив и извлекает его с данными строки, поскольку он использует внутреннюю оболочку $ stmt-> fetch (), вы можете вызвать ее так же, как вы бы вызвали mysqli_result :: fetch_assoc (просто убедитесь что объект $ stmt открыт и результат сохраняется):

//mysqliConnection is your mysqli connection object
if($stmt = $mysqli_connection->prepare($query))
{
    $stmt->execute();
    $stmt->store_result();

    while($assoc_array = fetchAssocStatement($stmt))
    {
        //do your magic
    }

    $stmt->close();
}

надеюсь, что это поможет.

38
задан mcglashan 6 February 2015 в 18:57
поделиться

1 ответ

Да. Мы можем передать несколько переменных для [1 116] curve_fit. Я записал часть кода:

import numpy as np
x = np.random.randn(2,100)
w = np.array([1.5,0.5]).reshape(1,2)
esp = np.random.randn(1,100)
y = np.dot(w,x)+esp
y = y.reshape(100,)

В вышеупомянутом коде я генерировал x 2D набор данных в форме (2 100) т.е., существует две переменные с 100 точками данных. У меня есть соответствие зависимая переменная y с независимыми переменными x с некоторым шумом.

def model_func(x,w1,w2,b):
  w = np.array([w1,w2]).reshape(1,2)
  b = np.array([b]).reshape(1,1)
  y_p = np.dot(w,x)+b
  return y_p.reshape(100,)

Мы определили образцовую функцию, которая устанавливает отношение между y & x .
Примечание: форма вывода образцовой функции или предсказанный y должен быть (длина [1 110] x )

popt, pcov = curve_fit(model_func,x,y)

, popt 1D numpy массив, содержащий предсказанные параметры. В нашем случае существует 3 параметра.

0
ответ дан 27 November 2019 в 01:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: