python - ** 或 pow() 不支持的操作数类型:“list”和“int”
问题描述
def radiance(l,T):
l=l*(10**(-10))
const=2*h*pi*(c**2)
const2=(h*c)/(k*T)
d=expo(const2/l)-1
f=const/(d*(l**5))
return f*10**11
def colour(T):
color=(-1)*2.5*math.log(radiance(4400,T)/radiance(5500,T))
return color
t=numpy.arange(10,1000)
plt.plot(t,colour(t)
plt.show()
现在我知道我不能将列表传递给上述函数颜色。但是当我将一个 numpy 数组传递给函数 radiance 时它会起作用,它给了我一个正确的情节。但是,当我将数组 t 传递给颜色函数时,它告诉我错误是由于辐射函数引起的,这让我感到困惑。
<ipython-input-105-0025fb9b0ac1> in radiance(l, T)
1 def radiance(l,T):
2 l=l*(10**(-`enter code here`10))
----> 3 const=2*h*pi*(c**2)
4 const2=(h*c)/(k*T)
5 d=expo(const2/l)-1
我试图矢量化第二个函数,但我得到了同样的错误
解决方案
推荐阅读
- javascript - 如何让 jQuery 按钮 css 切换?
- java - 尝试对抽象类进行超级调用时出现异常
- javascript - 如何在模板文字 + Youtube API 中正确输出数据 URL
- javascript - 为什么另一个实例方法调用不运行?
- r - 如何根据 R 中的不同范围重新分配列的值?
- jenkins - 定义函数中的 Jenkinsfile 动态变量
- laravel - 动态 Laravel 调度程序问题
- angular - 对象可能是“空”反应形式角度 11
- machine-learning - 为什么 Trax 会自动在子图层上创建串行图层?
- microsoft-graph-api - 无法生成令牌以使用 microsoft graph api 发送电子邮件