Я новичок в Python, и я буду благодарен, если кто-то поможет мне со следующей ошибкой:
ValueError: setting an array element with a sequence.
Я хочу, чтобы программа брала связанные значения из массива Ir
на каждом шаге и запускала их в цикле. Я имею в виду, что он должен принимать Ir[0]=0 , Ir[1]=200 ,...
и вычислять соответствующие I[0], I[1], ...
from math import *
from pylab import *
from numpy import *
from scipy import *
Ir=arange(200,1201,200)
Temp=25.0
Area=243.36
Isc_cell = 9.01984039
ns=1
np=1
V = arange(0,0.7,0.01)
n1=1.0
Is1 = 1.5648048e-10
n2= 2.0
Is2= 9.85608e-6
T_co = 0.0005
Rs = 2.7487398e-3
Rsh = 410913.8725
k = 1.38e-23
q = 1.6e-19
Eg=1.11
T= Temp+273.0
Tmeas= 273+25.0
Vt=(k*T)/q
j=range(0,6)
Iph=zeros(6)
I=zeros(6)
#I=zeros(len(V))
I0=Is1*((T/Tmeas)**(3/n1))*exp(Eg*((T/Tmeas)-1)/(n1*Vt));
I02=Is2*((T/Tmeas)**(3/n2))*exp(Eg*((T/Tmeas)-1)/(n2*Vt));
for i in j:
Iph[i] = Isc_cell*(Ir[i]/1000.0)*(1+(T_co*(Temp-25)));
I[i] = Iph[i] - I0*(exp((V+I[i]*Rs)/(n1*Vt))-1)-I02*(exp((V+I[i]*Rs)/(n2*Vt))-1)-((V+I[i]*Rs)/Rsh);
i=i+1
P.S. Я в замешательстве, так как он работает для Iph[i]
, но имеет ошибку для I[i]
.
I=zeros(6)
ожидает, что вы сохраните числа с плавающей запятой вI
, но когда вы присваиваетеI[i]
, результатом правого вычисления является массив, что, в свою очередь, вызывает ошибку. - person Matt   schedule 11.05.2015