【发布时间】:2020-02-06 03:29:54
【问题描述】:
我目前正在尝试编写代码来定义一个方程式,其中一个输入在两种条件下设置,但我收到一个错误:
def findV (v_a,x,k,sig_a):
taxcorp=0.2
taxdiv=0.2
Modelequity=(e_function(v_a=v_a,sig_a=sig_a, r=rf, k=k,C=Intexp,taxcorp=0.2,taxdiv=0.2)+20, taxcorp, taxdiv)
#np.logical_and(Model>0,Model<x):
#all([Model>0 , Model<x]):
Model=np.float32(Modelequity[0])
#Model=np.logical_and[Model>0,Model<x]
if np.logical_and[Model>0,Model<x]:
#return((Equity-np.float32(Modelequity))*np.float32(Modelequity))
return((Equity-Model)*Model)
findV(v_a=0.01,x=0.02,k=0.02,sig_a=0.02)
我收到这些错误:
/anaconda3/lib/python3.7/site-packages/ipykernel_launcher.py:9: RuntimeWarning: invalid value encountered in greater
if __name__ == '__main__':
/anaconda3/lib/python3.7/site-packages/ipykernel_launcher.py:9: RuntimeWarning: invalid value encountered in less
if __name__ == '__main__':
和
TypeError: 'numpy.ufunc' object is not subscriptable
【问题讨论】:
-
错字:
np.logical_and(Model>0,Model<x)中需要括号 -
以前试过这个。它实际上不起作用..
-
它应该可以修复这个错误。如果它没有做你想做的事,那就是逻辑错误。
-
我现在这样说它告诉我 ``` if np.logical_and((Model>0),(Model
-
您期待什么?
np.logical_and()返回一个与Model形状相同的数组。
标签: python numpy logical-operators finance