如何操作scipy.root()函数中内置的Python输出?

时间:2015-07-04 17:13:05

标签: python scipy

所以,我遇到的问题是试图找到超越函数的解决方案。我在scipy模块中找到了一个根发现,它运行得非常好。我现在唯一的问题是如何操纵其输出。

import numpy as np
from scipy.optimize import root
import random
x_r = random.random()
R_0 = 2500

def func(r):
    a = 1-x_r #Calculate "new number"
    return ((1+(r/R_0))*np.e**(-r/R_0)) - a #List function

solution = root(func, R_0) #Use python modules to solve.
print solution

此解决方案的输出是:

  status: 1
 success: True
 qtf: array([ -2.94808622e-12])
nfev: 7
   r: array([ 0.00013916])
 fun: array([  1.11022302e-16])
   x: array([ 3430.8709539])
 message: 'The solution converged.'
 fjac: array([[-1.]])

我想保留和存储的唯一数字是r和x值。但我不确定如何做到这一点。我想避免写出数据,因为该程序将运行太多数据以使其有用。

1 个答案:

答案 0 :(得分:1)

只需将属性存储为变量即可。使用点属性表示法从r对象中获取xsolution值:

r_value = solution.r
x_value = solution.x