The problem is:
err2 = ((Vmp+(Rs*Imp))/(Ig-Imp-Isat((exp(1)*(q*(Vmp+(Rs*Imp))/n*k*T)-1))))- Rsh;
↑ ← HERE
Note that ‘Isat’ is a scalar, and in any event cannot be referenced with anything other than integers greater than 0 or logical vectors. I suspect this:
err2 = ((Vmp+(Rs*Imp))/(Ig-Imp-Isat.*((exp(1)*(q*(Vmp+(Rs*Imp))/n*k*T)-1))))- Rsh;
↑ ← MULTIPLICATION(?)
is intended, although it could be any valid operator.
MATLAB does not recognise implicit multiplication.
Best Answer