how do I calculate all values in for loop?
Afficher commentaires plus anciens
Hello. please help me
I want to calculate in each x = [0, 2, 5, 7, 8, 9, 10 ] -----> Output P equation.
I tried to write in below code. BUT when its only x = 10, result calculated. I want to calculate all x values.
How do I do?
PLEASE
m-file
function [Tc, P] = myfun1(Ppv_rated, x, G , Gref, Kt, Tref, Tamb)
for x = [0,2,5,7,8,9,10]
Tc = Tamb + (0.0256 * G);
P = (Ppv_rated * x) .* (G/Gref).*(1 + Kt*(Tc - Tref));
end
end
COMMAND WINDOW
>> Ppv_rated = 250;
>> G = [5.75, 6, 6.365, 6.5, 6.185, 5.75, 5, 4.8, 5.5, 6.18, 6.15, 5.8];
>> Gref = 1000;
>> Kt = -0.485;
>> Tref = 25;
>> Tamb = [25.63, 26.7, 26.610, 25.46, 24.9, 24.01, 23.16, 23.01, 23.54, 23.78, 24.45, 25.3];
>> [Tc, P] = myfun1(Ppv_rated, x, G , Gref, Kt, Tref, Tamb)
RESULT

Réponses (2)
You need to save each value in aloop.
function [Tc, P] = myfun1(Ppv_rated, x, G , Gref, Kt, Tref, Tamb)
m = numel(x);
n = numel(Tamb) ;
Tc = zeros(m,n) ;
P = zeros(m,n) ;
for i = 1:length(x)
Tc(i,:) = Tamb + (0.0256 * G) ;
P(i,:) = (Ppv_rated * x(i)) .* (G/Gref).*(1 + Kt*(Tc(i,:) - Tref));
end
end
You need not to use a loop and you can use all vector operations.
function [Tc, P] = myfun1(Ppv_rated, x, G , Gref, Kt, Tref, Tamb)
Tc = Tamb + (0.0256 * G) ;
PP = ((Ppv_rated * x) .* ((G/Gref).*(1 + Kt*(Tc - Tref)))')';
end
8 commentaires
MUNKHBOLOR BAIGALI
le 10 Sep 2020
KSSV
le 10 Sep 2020
Ppv_rated = 250;
G = [5.75, 6, 6.365, 6.5, 6.185, 5.75, 5, 4.8, 5.5, 6.18, 6.15, 5.8];
Gref = 1000;
Kt = -0.485;
Tref = 25;
Tamb = [25.63, 26.7, 26.610, 25.46, 24.9, 24.01, 23.16, 23.01, 23.54, 23.78, 24.45, 25.3];
x = [0,2,5,7,8,9,10] ;
Tc = Tamb + (0.0256 * G) ;
PP = ((Ppv_rated * x) .* ((G/Gref).*(1 + Kt*(Tc - Tref)))')';
MUNKHBOLOR BAIGALI
le 10 Sep 2020
KSSV
le 10 Sep 2020
function [Tc, P] = myfunc()
Ppv_rated = 250;
G = [5.75, 6, 6.365, 6.5, 6.185, 5.75, 5, 4.8, 5.5, 6.18, 6.15, 5.8];
Gref = 1000;
Kt = -0.485;
Tref = 25;
Tamb = [25.63, 26.7, 26.610, 25.46, 24.9, 24.01, 23.16, 23.01, 23.54, 23.78, 24.45, 25.3];
x = [0,2,5,7,8,9,10] ;
Tc = Tamb + (0.0256 * G) ;
P = ((Ppv_rated * x) .* ((G/Gref).*(1 + Kt*(Tc - Tref)))')';
end
MUNKHBOLOR BAIGALI
le 10 Sep 2020
KSSV
le 10 Sep 2020
problem.CostFunction = myfunc() ;
MUNKHBOLOR BAIGALI
le 10 Sep 2020
MUNKHBOLOR BAIGALI
le 10 Sep 2020
%if true
% code
% end
x = [0 2 5 7 8 9 10];
for i = 1:length(x)
for j = 1:length(Tamb)
Tc(j)= Tamb(j) + 0.0256*G(j);
P(i,j) = Ppv_rated*x(i)*(G(j)/Gref)*(1+Kt*(Tc(j)-Tref));
end
end
1 commentaire
MUNKHBOLOR BAIGALI
le 10 Sep 2020
Catégories
En savoir plus sur Scripts dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
