Array indices must be positive integers or logical values.
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
I am trying to plot an I-V curve but I keep getting the same error
Isc = 8.7 % short circuit current
ns = 30
np = 40
n = 1.95 %Ideality factor
K0 = 0.0017
Tr = 300 % refrence temperature
Is = 1.2*10^-7 % diode reverse saturated current
q = 1.602*10^-19 % electron charge
K = 1.38*10^-23 %Boltzmann constant
Rs = 0.013
Rp = 3.5
% Part1 %
S_1 = 1000 % apparent power
T_1 = 233.15
Vpv = (0:0.01:1.2)
Ipv1 = zeros(length(T_1),length(Vpv))
Power1 = zeros(length(T_1),length(Vpv))
for k = 1:length(T_1)
Ipv1(k,:) = (np.*((Isc+K0.*(T_1(k)-Tr))./100).*S_1)-((np.*Is).*(exp(q.*Vpv)./(n.*K.*T(K).*ns))-1)-((np.*Vpv)./(ns.*Rp));
Vpv1 = Vpv.*ns;
f_1 = figure(1);
P1 = plot(Vpv1,Ipv1(k,:),'LineWidth',2.0);
grid on
hold on
title('Current vs Voltage Based on Changing Temperature');
ylabel('Current (A)');
xlable('Voltage (V)');
ylim([0,6000]);
ax = gca;
ax.FontSize = 10;
ax.FontName = 'Times New Roman';
legend('T = -40c','T = -20c','T =0c','T = 20c','T = 40c','T = 60c','Location','southwest');
end
0 Kommentare
Antworten (1)
Siehe auch
Kategorien
Mehr zu Semiconductors and Converters finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!