所以,我遇到的问题是试图找到超越函数的解决方案。我在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值。但我不确定如何做到这一点。我想避免写出数据,因为该程序将运行太多数据以使其有用。
答案 0 :(得分:1)
只需将属性存储为变量即可。使用点属性表示法从r
对象中获取x
和solution
值:
r_value = solution.r
x_value = solution.x