我的代码中有一个奇怪的东西,我从来没有见过,我使用一个函数,它调用几个相互构建的函数,如果我看一个参数,它是一个np.ndarray开头是一个float列表,请看下面的代码示例:
在main.py中,我有:
mean_D(z,lb,ld,B,r, 'x',0)
在函数\u traitement \u multiple \u trace.py中:
def mean_D(z,lb,ld,B,r, mode,offset = 0):
...
if mode == 'z':
print(str(type(z)) + '1' )
from fit_functions import intdx
try :
return quad(intdx, 1e-11, 5e-6 ,
args=(abs(lb),abs(ld),abs(B),abs(r),offset))[0]
/(4e-21/(6*np.pi*0.001*abs(r)))
except(ZeroDivisionError):
return 10
在fit\u functions.py中:
@jit
def intdx(z,lb,ld,B,r,offset=0):
print(str(type(z)) + '2')
return Boltzman(z,abs(lb),abs(ld),abs(B))
*4e-21/(6*np.pi*eta_x(z,r,offset)*r)
在我添加到Boltzman函数的同一个文件中:
print(str(type(z)) + '3')
结果是:
<class 'numpy.ndarray'>1
<class 'float'>2
<class 'float'>3
<class 'float'>2
<class 'float'>3
<class 'float'>2
<class 'float'>3
<class 'float'>2
<class 'float'>3
<class 'float'>2
<class 'float'>3
<class 'float'>2
<class 'float'>3
<class 'float'>2
<class 'float'>3
<class 'float'>2
<class 'float'>3
<class 'float'>2
<class 'float'>3
<class 'float'>2
<class 'float'>3
<class 'float'>2
<class 'float'>3
<class 'float'>2
<class 'float'>3
<class 'float'>2
<class 'float'>3
<class 'float'>2
<class 'float'>3
<class 'float'>2
<class 'float'>3
<class 'float'>2
<class 'float'>3
<class 'float'>2
<class 'float'>3
<class 'float'>2
<class 'float'>3
<class 'float'>2
<class 'float'>3
<class 'float'>2
<class 'float'>3
<class 'float'>2
<class 'float'>3
我真的不明白这里发生了什么,我尝试了有和没有麻木,它返回我相同的输出
函数返回了我需要的东西,但是我想在Boltmann函数中添加一个for循环,我得到了这个输出:
<class 'numpy.ndarray'>1
<class 'float'>2
<class 'float'>3
Traceback (most recent call last):
File "<ipython-input-15-f859197ca9df>", line 1, in <module>
mean_D(z,lb,ld,B,r, 'x',0)
File "C:\Users\maxim\ownCloud\Thèse\code_python\Traitement_multiple_trace\functions_traitement_multiple_trace.py", line 121, in mean_D
return quad(intdx, 1e-11, 5e-6 , args=(abs(lb),abs(ld),abs(B),abs(r),offset))[0]/(4e-21/(6*np.pi*0.001*abs(r)))
File "C:\Users\maxim\Anaconda3\envs\holopy_env2\lib\site-packages\scipy\integrate\quadpack.py", line 341, in quad
points)
File "C:\Users\maxim\Anaconda3\envs\holopy_env2\lib\site-packages\scipy\integrate\quadpack.py", line 448, in _quad
return _quadpack._qagse(func,a,b,args,full_output,epsabs,epsrel,limit)
TypeError: object of type 'float' has no len()
有人有类似的东西吗
目前没有回答
相关问题 更多 >
编程相关推荐