Azzera filtri
Azzera filtri

how do I calculate all values in for loop?

4 visualizzazioni (ultimi 30 giorni)
MUNKHBOLOR BAIGALI
MUNKHBOLOR BAIGALI il 10 Set 2020
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

Risposte (2)

KSSV
KSSV il 10 Set 2020
Modificato: KSSV il 10 Set 2020
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 Commenti
MUNKHBOLOR BAIGALI
MUNKHBOLOR BAIGALI il 10 Set 2020
another m-file using PSO code worked. But I don't know why myfunc m-file doesn't work.

Accedi per commentare.


VBBV
VBBV il 10 Set 2020
Modificato: VBBV il 10 Set 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 Commento
MUNKHBOLOR BAIGALI
MUNKHBOLOR BAIGALI il 10 Set 2020
Thank you sir.
I understood. Its working. I have a question.
I want to input Ppv_rated, G, Gref, Kt, Tref, Tamb in this function not command window. Is it possible?

Accedi per commentare.

Prodotti


Release

R2018b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by