Аз съм начинаещ с 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