Извлечение корней из оптимизации brentq в массив numpy - PullRequest
1 голос
/ 08 мая 2020
Sarray = np.arange(0,497,1)

for S in Sarray:
    def f(sigma):
        return ((1/kt)*np.sqrt((sigma**2)+(sigma*E*((sigma/H)**(1/n))))-S)
    Stress = optimize.brentq(f, 0, 10000, args=(), xtol=1e-10, maxiter=100, full_output=True, disp=True)
    print(Stress)

Я хотел бы преобразовать результаты этой оптимизации brentq в массив. Сейчас у меня есть только результаты в виде:

(0.0,       converged: True
           flag: 'converged'
 function_calls: 2
     iterations: 0
           root: 0.0)
(2.42,       converged: True
           flag: 'converged'
 function_calls: 5
     iterations: 4
           root: 2.42)
(4.840000000024723,       converged: True
           flag: 'converged'
 function_calls: 9
     iterations: 8
           root: 4.840000000024723)

и так далее. Есть мысли о том, как я могу извлечь root из каждой итерации и поместить его в массив numpy?

1 Ответ

1 голос
/ 08 мая 2020

Вы пробовали установить для параметра full_output значение False? Он вернет только root, добавит ваше напряжение к массиву, а затем

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...