我得到下面的错误的代码低于管线11(其中b的定义)“列表”:类型错误:不支持的操作数类型(一个或多个),用于: - “INT”和绘图程序
不受支持的操作数类型为 - :'int'和'list'
#Needed libraries
import numpy as np
import matplotlib.pyplot as mpl
#Defining given complex refractive indices
N1=complex(1.5,-7.6)
N2=complex(1.0,0.0)
#Defining the function that gives physically reasonable answer for effective medium
def B(x):
a=-2
b=(N1**2)*(2*(1-x)-x)+(N2**2)*(2*x-(1-x))
c=(N1**2)*(N2**2)
Nsq = (-b + np.sqrt(b**2-4*a*c))/(2*a)
return np.sqrt(Nsq)
#Plotting the function
G=B(n)
mpl.plot(n,G)
mpl.show()
有人可以帮我吗?我不确定问题出在哪里,我对Python的科学用途也不太熟悉。谢谢!
在哪里定义了?代码不完整。我敢打赌,'n'是一个使公式计算b无效的列表(代表int和列表的混合) –
代码中的n表示体积分数,所以我希望它取0和1之间的所有值。但是当我说像浮点n =范围(0,1)它说无效的语法。 –
0到1之间的所有值?那是无限的!和'range'只能用于整数。告诉我们你如何定义'n'。 –