Здравствуйте. В python (X,Y) пытаюсь построить график при помощи matplotlib.
Код:
import matplotlib.pyplot as plt
from math import *
from numpy import *
def X(t):
gm1 = -0.006534391013910179
gm2 = -0.2754656089860898
cstar=10
ts = 80
k = 0.05
if 0<=t<=ts:
return e**(gm1*t)/gm1**2-(t/gm1+1//gm1**2)
elif t> ts:
X1 = (k/cstar)*(e**(gm1*ts)/gm1**2)-(ts/gm1+1/gm1**2)
X2 = (k*ts/cstar)*(e**(gm1*(t-ts))-1)
return X1 + X2
else:
return 0
t = linspace(0,100,10)
y = X(t)
plt.plot(t,y)
plt.savefig('X_15.03.2016.png')
При вызове python получаю следующее:
Код:
Traceback (most recent call last):
File "adv_pr.py", line 19, in <module>
y = X(t)
File "adv_pr.py", line 10, in X
if 0<=t<=ts:
ValueError: The truth value of an array with more than one element is ambiguous.
Use a.any() or a.all()
Понимаю, что мне предлагают использовать методы a.all() или a.any(), но как?
Новой переменной присвоить результат сравнения и использовать на ней один из этих методов?