Array indices must be positive integers or logical values.
    5 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
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

