我正在编写一些代码来创建数据表,但遇到了一个问题。在代码的早期,我创建了程序需要检查的速度范围,如下所示:
Vskn=np.linspace(Vl,Vh, num=int ((Vh-Vl)*2+1))
对于每个Vskn,我然后计算FN和Frcrit,这是使用Vskn列表的独立函数。。。基本上我需要每种速度的FN和Frcrit
在后面的代码中,我需要确定FN或Frcrit是否更高,然后根据该结果对它们进行一些计算。我已经尝试了以下每一项,但都没有成功
np.where(FN<Frcrit[kFrm=1,kFrm=(FN/Frcrit)**c1dm])
导致“语法错误:无效语法”
#if FN<Frcrit:
# kFrm=1
#else:
# kFrm=(FN/Frcrit)**c1dm
导致“ValueError:具有多个元素的数组的真值不明确。请使用a.any()
或a.all()
”
我如何解决这个问题
你的语法有点错误。使用
numpy
时,直接使用索引通常比使用where
更容易。因此,如果kFrm
已经存在,那么您可以索引到kFrm
“where”FN < Frcrit
并将其设置为1,类似地,索引到kFrm
“where”FN >= Frcrit
并将其设置为等式。我还在greater_than_vals
中建立索引,以使形状工作如果
kFrm
尚不存在,则可以执行以下操作:相关问题 更多 >
编程相关推荐