Unable to perform assignment because the left and right sides have a different number of elements. Error in Esram2 (line 61) g(a+1) = g(a) - (N / D) - T; >>
1 次查看(过去 30 天)
显示 更早的评论
clc
close all
clear
% Data provided
load('SD_Test_Data_01.mat', 'voltage')
load('SD_Test_Data_01.mat', 'current')
I = current;
V = voltage;
P = I.*V; % To find the P-V curve
Pmaxcurve = max(P);
% Graphs
figure(1);
plot (V, I,'b:')
xlabel('Voltage (V)'), ylabel('Current (A)')
title('I-V Curve')
figure(2);
plot(V, P,'r--');
xlabel('Voltage(V)'), ylabel('Power (W)')
title('P-V Curve')
figure(3);
plot (V, I,'--')
title('Combine Plots')
hold on
plot(V, P, 'r:');
hold off
%At the standard test conditions (STC)
[Pmax, index_of_Pmax] = max(P);
Imp = I(index_of_Pmax); %(A)
Vmp = V(index_of_Pmax); %(v)
%We know that
Isc = max(I); %(A)
Voc = max(V); %(V)
q = 1.6022e-19; %q is the electron charge
k = 1.3806e-23; % k is the Boltzmann constant in (J/k)
% if the solar cells inside a solar module reach 65?C
T = 25; % T the module temperature in celcius
% Initializing Rs the series resistance and the shunt resistance Rsh and n
Rsh = (Vmp/(Isc- Imp))- ((Voc-Vmp)/Imp);
Rs = 0;
n= 1.2;
% Taking an assumption that Rsh>>Vo
I0 = Isc/(exp(1).*(q*(Voc/(n*k*T)))-1);
Nmax = 1000; %maximum number of interations
g(1) = 0.5; %first approximation
g = zeros(1, Nmax);
for a = 1:Nmax-1
diff_I = [0; diff(I, 1)];% zero padding to make dimensions match
N = Isc-I0.*(exp(1).*(q*((Vmp+(Imp*Rs))/n))-1) - ((Vmp+(Imp*Rs))/(n*k*T));
D = -I0.*(q/(n*k*T))*(1 + diff_I*Rs)*exp(1).*(q*(V+(I*Rs)/(n*k*T)));
T = (1/Rsh).*(1 + diff_I*Rs);
g(a+1) = g(a) - (N / D) - T;
end
plot(g, 'r.')
figure(4);
0 个评论
采纳的回答
Reshma Nerella
2020-11-13
Hi,
In this line of code,
g(a+1) = g(a) - (N / D) - T;
Sizes of variables are:
g(a) - 1x1 double N - 1x1 double
D - 20001x1 double T - 20001x1 double
Implies
Size of N/D - 1x20001 double
Size of (N/D-T) - 20001x20001 double
Size of (g(a) - (N / D) - T) - 20001x20001 double
You are assigning 20001x20001 double to 1x1 double.
Hence it is giving the error.
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!